diff --git a/.gitignore b/.gitignore index a5a239e..fc3e28e 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,5 @@ go.work.sum **/*.class # No binary files -**/bin/** \ No newline at end of file +**/bin/** +.vscode/ diff --git a/postgresql/Makefile b/postgresql/Makefile index dc60e73..d17dd49 100644 --- a/postgresql/Makefile +++ b/postgresql/Makefile @@ -1,7 +1,17 @@ all: build test -build: +# Generate keyword definitions from PostgreSQL official source +generate-keywords: + @echo "Generating PostgreSQL keyword definitions from REL_18_STABLE..." + cd keyword-generator && go run main.go + @echo "" + +# Build the parser (depends on keyword generation) +build: generate-keywords + @echo "Building PostgreSQL parser..." antlr -Dlanguage=Go -package postgresql -visitor -o . PostgreSQLLexer.g4 PostgreSQLParser.g4 -test: - go test -v -run TestPostgreSQLParser \ No newline at end of file +test: + go test -v -run TestPostgreSQLParser + +.PHONY: all build test generate-keywords \ No newline at end of file diff --git a/postgresql/PostgreSQLKeywords.g4 b/postgresql/PostgreSQLKeywords.g4 new file mode 100644 index 0000000..6a02ecf --- /dev/null +++ b/postgresql/PostgreSQLKeywords.g4 @@ -0,0 +1,559 @@ +// ============================================================================ +// Auto-generated PostgreSQL Keyword Definitions +// ============================================================================ +// +// Source: PostgreSQL REL_18_STABLE kwlist.h +// URL: https://raw.githubusercontent.com/postgres/postgres/REL_18_STABLE/src/include/parser/kwlist.h +// Generated: 2025-11-13T17:32:00+08:00 +// +// DO NOT EDIT MANUALLY - This file is generated by keyword-generator +// To regenerate: cd postgresql && make generate-keywords +// +// Note: Keywords are defined using string literals (e.g., 'SELECT') rather +// than token references to avoid token definition errors. +// ============================================================================ + +parser grammar PostgreSQLKeywords; + +// ============================================================================ +// Reserved Keywords (78 total) +// ============================================================================ +// These keywords cannot be used as identifiers without quoting. +// They are reserved because they would cause parser conflicts. +// +// Examples: SELECT, FROM, WHERE, CREATE, AND, OR +// ============================================================================ + +reserved_keyword + : ALL + | ANALYSE + | ANALYZE + | AND + | ANY + | ARRAY + | AS + | ASC + | ASYMMETRIC + | BOTH + | CASE + | CAST + | CHECK + | COLLATE + | COLUMN + | CONSTRAINT + | CREATE + | CURRENT_CATALOG + | CURRENT_DATE + | CURRENT_ROLE + | CURRENT_TIME + | CURRENT_TIMESTAMP + | CURRENT_USER + | DEFAULT + | DEFERRABLE + | DESC + | DISTINCT + | DO + | ELSE + | END_P + | EXCEPT + | FALSE_P + | FETCH + | FOR + | FOREIGN + | FROM + | GRANT + | GROUP_P + | HAVING + | IN_P + | INITIALLY + | INTERSECT + | INTO + | LATERAL_P + | LEADING + | LIMIT + | LOCALTIME + | LOCALTIMESTAMP + | NOT + | NULL_P + | OFFSET + | ON + | ONLY + | OR + | ORDER + | PLACING + | PRIMARY + | REFERENCES + | RETURNING + | SELECT + | SESSION_USER + | SOME + | SYMMETRIC + | SYSTEM_USER + | TABLE + | THEN + | TO + | TRAILING + | TRUE_P + | UNION + | UNIQUE + | USER + | USING + | VARIADIC + | WHEN + | WHERE + | WINDOW + | WITH + ; + +// ============================================================================ +// Unreserved Keywords (330 total) +// ============================================================================ +// These keywords can be used as identifiers in all contexts. +// They do not cause parser conflicts. +// +// Examples: ABORT, ACCESS, ACTION, ADMIN, AFTER +// ============================================================================ + +unreserved_keyword + : ABORT_P + | ABSENT + | ABSOLUTE_P + | ACCESS + | ACTION + | ADD_P + | ADMIN + | AFTER + | AGGREGATE + | ALSO + | ALTER + | ALWAYS + | ASENSITIVE + | ASSERTION + | ASSIGNMENT + | AT + | ATOMIC + | ATTACH + | ATTRIBUTE + | BACKWARD + | BEFORE + | BEGIN_P + | BREADTH + | BY + | CACHE + | CALL + | CALLED + | CASCADE + | CASCADED + | CATALOG_P + | CHAIN + | CHARACTERISTICS + | CHECKPOINT + | CLASS + | CLOSE + | CLUSTER + | COLUMNS + | COMMENT + | COMMENTS + | COMMIT + | COMMITTED + | COMPRESSION + | CONDITIONAL + | CONFIGURATION + | CONFLICT + | CONNECTION + | CONSTRAINTS + | CONTENT_P + | CONTINUE_P + | CONVERSION_P + | COPY + | COST + | CSV + | CUBE + | CURRENT_P + | CURSOR + | CYCLE + | DATA_P + | DATABASE + | DAY_P + | DEALLOCATE + | DECLARE + | DEFAULTS + | DEFERRED + | DEFINER + | DELETE_P + | DELIMITER + | DELIMITERS + | DEPENDS + | DEPTH + | DETACH + | DICTIONARY + | DISABLE_P + | DISCARD + | DOCUMENT_P + | DOMAIN_P + | DOUBLE_P + | DROP + | EACH + | EMPTY_P + | ENABLE_P + | ENCODING + | ENCRYPTED + | ENFORCED + | ENUM_P + | ERROR_P + | ESCAPE + | EVENT + | EXCLUDE + | EXCLUDING + | EXCLUSIVE + | EXECUTE + | EXPLAIN + | EXPRESSION + | EXTENSION + | EXTERNAL + | FAMILY + | FILTER + | FINALIZE + | FIRST_P + | FOLLOWING + | FORCE + | FORMAT + | FORWARD + | FUNCTION + | FUNCTIONS + | GENERATED + | GLOBAL + | GRANTED + | GROUPS + | HANDLER + | HEADER_P + | HOLD + | HOUR_P + | IDENTITY_P + | IF_P + | IMMEDIATE + | IMMUTABLE + | IMPLICIT_P + | IMPORT_P + | INCLUDE + | INCLUDING + | INCREMENT + | INDENT + | INDEX + | INDEXES + | INHERIT + | INHERITS + | INLINE_P + | INPUT_P + | INSENSITIVE + | INSERT + | INSTEAD + | INVOKER + | ISOLATION + | KEEP + | KEY + | KEYS + | LABEL + | LANGUAGE + | LARGE_P + | LAST_P + | LEAKPROOF + | LEVEL + | LISTEN + | LOAD + | LOCAL + | LOCATION + | LOCK_P + | LOCKED + | LOGGED + | MAPPING + | MATCH + | MATCHED + | MATERIALIZED + | MAXVALUE + | MERGE + | METHOD + | MINUTE_P + | MINVALUE + | MODE + | MONTH_P + | MOVE + | NAME_P + | NAMES + | NESTED + | NEW + | NEXT + | NFC + | NFD + | NFKC + | NFKD + | NO + | NORMALIZED + | NOTHING + | NOTIFY + | NOWAIT + | NULLS_P + | OBJECT_P + | OBJECTS_P + | OF + | OFF + | OIDS + | OLD + | OMIT + | OPERATOR + | OPTION + | OPTIONS + | ORDINALITY + | OTHERS + | OVER + | OVERRIDING + | OWNED + | OWNER + | PARALLEL + | PARAMETER + | PARSER + | PARTIAL + | PARTITION + | PASSING + | PASSWORD + | PATH + | PERIOD + | PLAN + | PLANS + | POLICY + | PRECEDING + | PREPARE + | PREPARED + | PRESERVE + | PRIOR + | PRIVILEGES + | PROCEDURAL + | PROCEDURE + | PROCEDURES + | PROGRAM + | PUBLICATION + | QUOTE + | QUOTES + | RANGE + | READ + | REASSIGN + | RECURSIVE + | REF_P + | REFERENCING + | REFRESH + | REINDEX + | RELATIVE_P + | RELEASE + | RENAME + | REPEATABLE + | REPLACE + | REPLICA + | RESET + | RESTART + | RESTRICT + | RETURN + | RETURNS + | REVOKE + | ROLE + | ROLLBACK + | ROLLUP + | ROUTINE + | ROUTINES + | ROWS + | RULE + | SAVEPOINT + | SCALAR + | SCHEMA + | SCHEMAS + | SCROLL + | SEARCH + | SECOND_P + | SECURITY + | SEQUENCE + | SEQUENCES + | SERIALIZABLE + | SERVER + | SESSION + | SET + | SETS + | SHARE + | SHOW + | SIMPLE + | SKIP_P + | SNAPSHOT + | SOURCE + | SQL_P + | STABLE + | STANDALONE_P + | START + | STATEMENT + | STATISTICS + | STDIN + | STDOUT + | STORAGE + | STORED + | STRICT_P + | STRING_P + | STRIP_P + | SUBSCRIPTION + | SUPPORT + | SYSID + | SYSTEM_P + | TABLES + | TABLESPACE + | TARGET + | TEMP + | TEMPLATE + | TEMPORARY + | TEXT_P + | TIES + | TRANSACTION + | TRANSFORM + | TRIGGER + | TRUNCATE + | TRUSTED + | TYPE_P + | TYPES_P + | UESCAPE + | UNBOUNDED + | UNCOMMITTED + | UNCONDITIONAL + | UNENCRYPTED + | UNKNOWN + | UNLISTEN + | UNLOGGED + | UNTIL + | UPDATE + | VACUUM + | VALID + | VALIDATE + | VALIDATOR + | VALUE_P + | VARYING + | VERSION_P + | VIEW + | VIEWS + | VIRTUAL + | VOLATILE + | WHITESPACE_P + | WITHIN + | WITHOUT + | WORK + | WRAPPER + | WRITE + | XML_P + | YEAR_P + | YES_P + | ZONE + ; + +// ============================================================================ +// Column Name Keywords (63 total) +// ============================================================================ +// These keywords can be used as column names but may be restricted elsewhere. +// Typically these are type names or function names. +// +// Examples: BETWEEN, BIGINT, BOOLEAN, INT, TIMESTAMP +// ============================================================================ + +col_name_keyword + : BETWEEN + | BIGINT + | BIT + | BOOLEAN_P + | CHAR_P + | CHARACTER + | COALESCE + | DEC + | DECIMAL_P + | EXISTS + | EXTRACT + | FLOAT_P + | GREATEST + | GROUPING + | INOUT + | INT_P + | INTEGER + | INTERVAL + | JSON + | JSON_ARRAY + | JSON_ARRAYAGG + | JSON_EXISTS + | JSON_OBJECT + | JSON_OBJECTAGG + | JSON_QUERY + | JSON_SCALAR + | JSON_SERIALIZE + | JSON_TABLE + | JSON_VALUE + | LEAST + | MERGE_ACTION + | NATIONAL + | NCHAR + | NONE + | NORMALIZE + | NULLIF + | NUMERIC + | OUT_P + | OVERLAY + | POSITION + | PRECISION + | REAL + | ROW + | SETOF + | SMALLINT + | SUBSTRING + | TIME + | TIMESTAMP + | TREAT + | TRIM + | VALUES + | VARCHAR + | XMLATTRIBUTES + | XMLCONCAT + | XMLELEMENT + | XMLEXISTS + | XMLFOREST + | XMLNAMESPACES + | XMLPARSE + | XMLPI + | XMLROOT + | XMLSERIALIZE + | XMLTABLE + ; + +// ============================================================================ +// Type and Function Name Keywords (23 total) +// ============================================================================ +// These keywords can be used in type and function name contexts. +// They may be restricted in other syntactic positions. +// +// Examples: AUTHORIZATION, BINARY, COLLATION, CROSS, JOIN +// ============================================================================ + +type_func_name_keyword + : AUTHORIZATION + | BINARY + | COLLATION + | CONCURRENTLY + | CROSS + | CURRENT_SCHEMA + | FREEZE + | FULL + | ILIKE + | INNER_P + | IS + | ISNULL + | JOIN + | LEFT + | LIKE + | NATURAL + | NOTNULL + | OUTER_P + | OVERLAPS + | RIGHT + | SIMILAR + | TABLESAMPLE + | VERBOSE + ; + diff --git a/postgresql/PostgreSQLLexer.g4 b/postgresql/PostgreSQLLexer.g4 index c9aaa72..9f1ea66 100755 --- a/postgresql/PostgreSQLLexer.g4 +++ b/postgresql/PostgreSQLLexer.g4 @@ -46,681 +46,27 @@ options { /* This field stores the tags which are used to detect the end of a dollar-quoted string literal. */ } -// - -// SPECIAL CHARACTERS (4.1.4) - -// - -// Note that Asterisk is a valid operator, but does not have the type Operator due to its syntactic use in locations - -// that are not expressions. - -Dollar - : '$' - ; - -OPEN_PAREN - : '(' - ; - -CLOSE_PAREN - : ')' - ; - -OPEN_BRACKET - : '[' - ; - -CLOSE_BRACKET - : ']' - ; - -COMMA - : ',' - ; - -SEMI - : ';' - ; - -COLON - : ':' - ; - -STAR - : '*' - ; - -EQUAL - : '=' - ; - -DOT - : '.' - ; - //NamedArgument : ':='; - -PLUS - : '+' - ; - -MINUS - : '-' - ; - -SLASH - : '/' - ; - -CARET - : '^' - ; - -LT - : '<' - ; - -GT - : '>' - ; - -LESS_LESS - : '<<' - ; - -GREATER_GREATER - : '>>' - ; - -COLON_EQUALS - : ':=' - ; - -LESS_EQUALS - : '<=' - ; - -EQUALS_GREATER - : '=>' - ; - -GREATER_EQUALS - : '>=' - ; - -DOT_DOT - : '..' - ; - -NOT_EQUALS - : '<>' - ; - -TYPECAST - : '::' - ; - -PERCENT - : '%' - ; - -PARAM - : '$' ([0-9])+ - ; - // - - // OPERATORS (4.1.3) - - // - - // this rule does not allow + or - at the end of a multi-character operator - -Operator - : ((OperatorCharacter | ('+' | '-' - {p.checkLA('-')}?)+ (OperatorCharacter | '/' - {p.checkLA('*')}?) | '/' - {p.checkLA('*')}?)+ | // special handling for the single-character operators + and - - [+-]) - //TODO somehow rewrite this part without using Actions - - { - l.HandleLessLessGreaterGreater(); - } - ; -/* This rule handles operators which end with + or -, and sets the token type to Operator. It is comprised of four - * parts, in order: - * - * 1. A prefix, which does not contain a character from the required set which allows + or - to appear at the end of - * the operator. - * 2. A character from the required set which allows + or - to appear at the end of the operator. - * 3. An optional sub-token which takes the form of an operator which does not include a + or - at the end of the - * sub-token. - * 4. A suffix sequence of + and - characters. - */ - - -OperatorEndingWithPlusMinus - : (OperatorCharacterNotAllowPlusMinusAtEnd | '-' - {p.checkLA('-')}? | '/' - {p.checkLA('*')}?)* OperatorCharacterAllowPlusMinusAtEnd Operator? ('+' | '-' - {p.checkLA('-')}?)+ -> type (Operator) - ; - // Each of the following fragment rules omits the +, -, and / characters, which must always be handled in a special way - - // by the operator rules above. - -fragment OperatorCharacter - : [*<>=~!@%^&|`?#] - ; - // these are the operator characters that don't count towards one ending with + or - - -fragment OperatorCharacterNotAllowPlusMinusAtEnd - : [*<>=+] - ; - // an operator may end with + or - if it contains one of these characters - -fragment OperatorCharacterAllowPlusMinusAtEnd - : [~!@%^&|`?#] - ; - // - - // KEYWORDS (Appendix C) - - // - - // - - // reserved keywords - - // - -ALL - : 'ALL' - ; - -ANALYSE - : 'ANALYSE' - ; - -ANALYZE - : 'ANALYZE' - ; - -AND - : 'AND' - ; - -ANY - : 'ANY' - ; - -ARRAY - : 'ARRAY' - ; - -AS - : 'AS' - ; - -ASC - : 'ASC' - ; - -ASYMMETRIC - : 'ASYMMETRIC' - ; - -BOTH - : 'BOTH' - ; - -CASE - : 'CASE' - ; - -CAST - : 'CAST' - ; - -CHECK - : 'CHECK' - ; - -COLLATE - : 'COLLATE' - ; - -COLUMN - : 'COLUMN' - ; - -CONSTRAINT - : 'CONSTRAINT' - ; - -CREATE - : 'CREATE' - ; - -CURRENT_CATALOG - : 'CURRENT_CATALOG' - ; - -CURRENT_DATE - : 'CURRENT_DATE' - ; - -CURRENT_ROLE - : 'CURRENT_ROLE' - ; - -CURRENT_TIME - : 'CURRENT_TIME' - ; - -CURRENT_TIMESTAMP - : 'CURRENT_TIMESTAMP' - ; - -CURRENT_USER - : 'CURRENT_USER' - ; - -DEFAULT - : 'DEFAULT' - ; - -DEFERRABLE - : 'DEFERRABLE' - ; - -DESC - : 'DESC' - ; - -DISTINCT - : 'DISTINCT' - ; - -DO - : 'DO' - ; - -ELSE - : 'ELSE' - ; - -EXCEPT - : 'EXCEPT' - ; - -FALSE_P - : 'FALSE' - ; - -FETCH - : 'FETCH' - ; - -FOR - : 'FOR' - ; - -FOREIGN - : 'FOREIGN' - ; - -FROM - : 'FROM' - ; - -GRANT - : 'GRANT' - ; - -GROUP_P - : 'GROUP' - ; - -HAVING - : 'HAVING' - ; - -IN_P - : 'IN' - ; - -INITIALLY - : 'INITIALLY' - ; - -INTERSECT - : 'INTERSECT' - ; - -INTO - : 'INTO' - ; - -LATERAL_P - : 'LATERAL' - ; - -LEADING - : 'LEADING' - ; - -LIMIT - : 'LIMIT' - ; - -LOCALTIME - : 'LOCALTIME' - ; - -LOCALTIMESTAMP - : 'LOCALTIMESTAMP' - ; - -NOT - : 'NOT' - ; - -NULL_P - : 'NULL' - ; - -OFFSET - : 'OFFSET' - ; - -ON - : 'ON' - ; - -ONLY - : 'ONLY' - ; - -OR - : 'OR' - ; - -ORDER - : 'ORDER' - ; - -PLACING - : 'PLACING' - ; - -PRIMARY - : 'PRIMARY' - ; - -REFERENCES - : 'REFERENCES' - ; - -RETURNING - : 'RETURNING' - ; - -SELECT - : 'SELECT' - ; - -SESSION_USER - : 'SESSION_USER' - ; - -SOME - : 'SOME' - ; - -SYMMETRIC - : 'SYMMETRIC' - ; - -TABLE - : 'TABLE' - ; - -THEN - : 'THEN' - ; - -TO - : 'TO' - ; - -TRAILING - : 'TRAILING' - ; - -TRUE_P - : 'TRUE' - ; - -UNION - : 'UNION' - ; - -UNIQUE - : 'UNIQUE' - ; - -USER - : 'USER' - ; - -USING - : 'USING' - ; - -VARIADIC - : 'VARIADIC' - ; - -WHEN - : 'WHEN' - ; - -WHERE - : 'WHERE' - ; - -WINDOW - : 'WINDOW' - ; - -WITH - : 'WITH' - ; - -JSON_OBJECT - : 'JSON_OBJECT' - ; - -JSON_ARRAY - : 'JSON_ARRAY' - ; - -JSON - : 'JSON' - ; - -JSON_SCALAR - : 'JSON_SCALAR' - ; - -JSON_SERIALIZE - : 'JSON_SERIALIZE' - ; - -MERGE_ACTION - : 'MERGE_ACTION' - ; - -JSON_QUERY - : 'JSON_QUERY' - ; - -JSON_EXISTS - : 'JSON_EXISTS' - ; - -JSON_VALUE - : 'JSON_VALUE' - ; - -EMPTY - : 'EMPTY' - ; - -KEEP - : 'KEEP' - ; - -OMIT - : 'OMIT' - ; - -SCALAR - : 'SCALAR' - ; - -STRING - : 'STRING' - ; - -CONDITIONAL - : 'CONDITIONAL' - ; - -UNCONDITIONAL - : 'UNCONDITIONAL' - ; - -KEYS - : 'KEYS' - ; - -ABSENT - : 'ABSENT' - ; - -QUOTES - : 'QUOTES' - ; - // - - // reserved keywords (can be function or type) - - // - -AUTHORIZATION - : 'AUTHORIZATION' - ; - -BINARY - : 'BINARY' - ; - -COLLATION - : 'COLLATION' - ; - -CONCURRENTLY - : 'CONCURRENTLY' - ; - -CROSS - : 'CROSS' - ; - -CURRENT_SCHEMA - : 'CURRENT_SCHEMA' - ; - -FREEZE - : 'FREEZE' - ; - -FULL - : 'FULL' - ; - -ILIKE - : 'ILIKE' - ; - -INNER_P - : 'INNER' - ; - -IS - : 'IS' - ; - -ISNULL - : 'ISNULL' - ; - -JOIN - : 'JOIN' - ; - -LEFT - : 'LEFT' - ; - -LIKE - : 'LIKE' - ; - -NATURAL - : 'NATURAL' - ; - -NOTNULL - : 'NOTNULL' - ; - -OUTER_P - : 'OUTER' - ; - -OVER - : 'OVER' - ; - -OVERLAPS - : 'OVERLAPS' - ; - -RIGHT - : 'RIGHT' - ; - -SIMILAR - : 'SIMILAR' - ; - -VERBOSE - : 'VERBOSE' - ; - // - - // non-reserved keywords - // +// ============================================================================ +// BEGIN AUTO-GENERATED KEYWORDS +// +// Source: PostgreSQL REL_18_STABLE kwlist.h +// URL: https://raw.githubusercontent.com/postgres/postgres/REL_18_STABLE/src/include/parser/kwlist.h +// Generated: 2025-11-13T17:32:00+08:00 +// Total Keywords: 494 +// +// NOTE: These keyword rules must appear BEFORE the Identifier rule +// to ensure keywords are matched with higher priority than identifiers. +// ABORT_P : 'ABORT' ; +ABSENT + : 'ABSENT' + ; + ABSOLUTE_P : 'ABSOLUTE' ; @@ -749,6 +95,10 @@ AGGREGATE : 'AGGREGATE' ; +ALL + : 'ALL' + ; + ALSO : 'ALSO' ; @@ -761,6 +111,38 @@ ALWAYS : 'ALWAYS' ; +ANALYSE + : 'ANALYSE' + ; + +ANALYZE + : 'ANALYZE' + ; + +AND + : 'AND' + ; + +ANY + : 'ANY' + ; + +ARRAY + : 'ARRAY' + ; + +AS + : 'AS' + ; + +ASC + : 'ASC' + ; + +ASENSITIVE + : 'ASENSITIVE' + ; + ASSERTION : 'ASSERTION' ; @@ -769,14 +151,30 @@ ASSIGNMENT : 'ASSIGNMENT' ; +ASYMMETRIC + : 'ASYMMETRIC' + ; + AT : 'AT' ; +ATOMIC + : 'ATOMIC' + ; + +ATTACH + : 'ATTACH' + ; + ATTRIBUTE : 'ATTRIBUTE' ; +AUTHORIZATION + : 'AUTHORIZATION' + ; + BACKWARD : 'BACKWARD' ; @@ -789,6 +187,34 @@ BEGIN_P : 'BEGIN' ; +BETWEEN + : 'BETWEEN' + ; + +BIGINT + : 'BIGINT' + ; + +BINARY + : 'BINARY' + ; + +BIT + : 'BIT' + ; + +BOOLEAN_P + : 'BOOLEAN' + ; + +BOTH + : 'BOTH' + ; + +BREADTH + : 'BREADTH' + ; + BY : 'BY' ; @@ -797,6 +223,10 @@ CACHE : 'CACHE' ; +CALL + : 'CALL' + ; + CALLED : 'CALLED' ; @@ -809,7 +239,15 @@ CASCADED : 'CASCADED' ; -CATALOG +CASE + : 'CASE' + ; + +CAST + : 'CAST' + ; + +CATALOG_P : 'CATALOG' ; @@ -817,10 +255,22 @@ CHAIN : 'CHAIN' ; +CHAR_P + : 'CHAR' + ; + +CHARACTER + : 'CHARACTER' + ; + CHARACTERISTICS : 'CHARACTERISTICS' ; +CHECK + : 'CHECK' + ; + CHECKPOINT : 'CHECKPOINT' ; @@ -837,6 +287,26 @@ CLUSTER : 'CLUSTER' ; +COALESCE + : 'COALESCE' + ; + +COLLATE + : 'COLLATE' + ; + +COLLATION + : 'COLLATION' + ; + +COLUMN + : 'COLUMN' + ; + +COLUMNS + : 'COLUMNS' + ; + COMMENT : 'COMMENT' ; @@ -853,14 +323,34 @@ COMMITTED : 'COMMITTED' ; +COMPRESSION + : 'COMPRESSION' + ; + +CONCURRENTLY + : 'CONCURRENTLY' + ; + +CONDITIONAL + : 'CONDITIONAL' + ; + CONFIGURATION : 'CONFIGURATION' ; +CONFLICT + : 'CONFLICT' + ; + CONNECTION : 'CONNECTION' ; +CONSTRAINT + : 'CONSTRAINT' + ; + CONSTRAINTS : 'CONSTRAINTS' ; @@ -885,10 +375,54 @@ COST : 'COST' ; +CREATE + : 'CREATE' + ; + +CROSS + : 'CROSS' + ; + CSV : 'CSV' ; +CUBE + : 'CUBE' + ; + +CURRENT_P + : 'CURRENT' + ; + +CURRENT_CATALOG + : 'CURRENT_CATALOG' + ; + +CURRENT_DATE + : 'CURRENT_DATE' + ; + +CURRENT_ROLE + : 'CURRENT_ROLE' + ; + +CURRENT_SCHEMA + : 'CURRENT_SCHEMA' + ; + +CURRENT_TIME + : 'CURRENT_TIME' + ; + +CURRENT_TIMESTAMP + : 'CURRENT_TIMESTAMP' + ; + +CURRENT_USER + : 'CURRENT_USER' + ; + CURSOR : 'CURSOR' ; @@ -913,14 +447,30 @@ DEALLOCATE : 'DEALLOCATE' ; +DEC + : 'DEC' + ; + +DECIMAL_P + : 'DECIMAL' + ; + DECLARE : 'DECLARE' ; +DEFAULT + : 'DEFAULT' + ; + DEFAULTS : 'DEFAULTS' ; +DEFERRABLE + : 'DEFERRABLE' + ; + DEFERRED : 'DEFERRED' ; @@ -941,6 +491,22 @@ DELIMITERS : 'DELIMITERS' ; +DEPENDS + : 'DEPENDS' + ; + +DEPTH + : 'DEPTH' + ; + +DESC + : 'DESC' + ; + +DETACH + : 'DETACH' + ; + DICTIONARY : 'DICTIONARY' ; @@ -953,6 +519,14 @@ DISCARD : 'DISCARD' ; +DISTINCT + : 'DISTINCT' + ; + +DO + : 'DO' + ; + DOCUMENT_P : 'DOCUMENT' ; @@ -973,6 +547,14 @@ EACH : 'EACH' ; +ELSE + : 'ELSE' + ; + +EMPTY_P + : 'EMPTY' + ; + ENABLE_P : 'ENABLE' ; @@ -985,10 +567,22 @@ ENCRYPTED : 'ENCRYPTED' ; +END_P + : 'END' + ; + +ENFORCED + : 'ENFORCED' + ; + ENUM_P : 'ENUM' ; +ERROR_P + : 'ERROR' + ; + ESCAPE : 'ESCAPE' ; @@ -997,6 +591,10 @@ EVENT : 'EVENT' ; +EXCEPT + : 'EXCEPT' + ; + EXCLUDE : 'EXCLUDE' ; @@ -1013,10 +611,18 @@ EXECUTE : 'EXECUTE' ; +EXISTS + : 'EXISTS' + ; + EXPLAIN : 'EXPLAIN' ; +EXPRESSION + : 'EXPRESSION' + ; + EXTENSION : 'EXTENSION' ; @@ -1025,26 +631,74 @@ EXTERNAL : 'EXTERNAL' ; +EXTRACT + : 'EXTRACT' + ; + +FALSE_P + : 'FALSE' + ; + FAMILY : 'FAMILY' ; +FETCH + : 'FETCH' + ; + +FILTER + : 'FILTER' + ; + +FINALIZE + : 'FINALIZE' + ; + FIRST_P : 'FIRST' ; +FLOAT_P + : 'FLOAT' + ; + FOLLOWING : 'FOLLOWING' ; +FOR + : 'FOR' + ; + FORCE : 'FORCE' ; +FOREIGN + : 'FOREIGN' + ; + +FORMAT + : 'FORMAT' + ; + FORWARD : 'FORWARD' ; +FREEZE + : 'FREEZE' + ; + +FROM + : 'FROM' + ; + +FULL + : 'FULL' + ; + FUNCTION : 'FUNCTION' ; @@ -1053,18 +707,46 @@ FUNCTIONS : 'FUNCTIONS' ; +GENERATED + : 'GENERATED' + ; + GLOBAL : 'GLOBAL' ; +GRANT + : 'GRANT' + ; + GRANTED : 'GRANTED' ; +GREATEST + : 'GREATEST' + ; + +GROUP_P + : 'GROUP' + ; + +GROUPING + : 'GROUPING' + ; + +GROUPS + : 'GROUPS' + ; + HANDLER : 'HANDLER' ; +HAVING + : 'HAVING' + ; + HEADER_P : 'HEADER' ; @@ -1085,6 +767,10 @@ IF_P : 'IF' ; +ILIKE + : 'ILIKE' + ; + IMMEDIATE : 'IMMEDIATE' ; @@ -1097,6 +783,18 @@ IMPLICIT_P : 'IMPLICIT' ; +IMPORT_P + : 'IMPORT' + ; + +IN_P + : 'IN' + ; + +INCLUDE + : 'INCLUDE' + ; + INCLUDING : 'INCLUDING' ; @@ -1105,6 +803,10 @@ INCREMENT : 'INCREMENT' ; +INDENT + : 'INDENT' + ; + INDEX : 'INDEX' ; @@ -1121,1679 +823,1595 @@ INHERITS : 'INHERITS' ; -INLINE_P - : 'INLINE' - ; - -INSENSITIVE - : 'INSENSITIVE' - ; - -INSERT - : 'INSERT' - ; - -INSTEAD - : 'INSTEAD' - ; - -INVOKER - : 'INVOKER' - ; - -ISOLATION - : 'ISOLATION' - ; - -KEY - : 'KEY' - ; - -LABEL - : 'LABEL' - ; - -LANGUAGE - : 'LANGUAGE' - ; - -LARGE_P - : 'LARGE' - ; - -LAST_P - : 'LAST' - ; - //LC_COLLATE : 'LC'_'COLLATE; - - //LC_CTYPE : 'LC'_'CTYPE; - -LEAKPROOF - : 'LEAKPROOF' - ; - -LEVEL - : 'LEVEL' +INITIALLY + : 'INITIALLY' ; -LISTEN - : 'LISTEN' +INLINE_P + : 'INLINE' ; -LOAD - : 'LOAD' +INNER_P + : 'INNER' ; -LOCAL - : 'LOCAL' +INOUT + : 'INOUT' ; -LOCATION - : 'LOCATION' +INPUT_P + : 'INPUT' ; -LOCK_P - : 'LOCK' +INSENSITIVE + : 'INSENSITIVE' ; -MAPPING - : 'MAPPING' +INSERT + : 'INSERT' ; -MATCH - : 'MATCH' +INSTEAD + : 'INSTEAD' ; -MATCHED - : 'MATCHED' +INT_P + : 'INT' ; -MATERIALIZED - : 'MATERIALIZED' +INTEGER + : 'INTEGER' ; -MAXVALUE - : 'MAXVALUE' +INTERSECT + : 'INTERSECT' ; -MERGE - : 'MERGE' +INTERVAL + : 'INTERVAL' ; -MINUTE_P - : 'MINUTE' +INTO + : 'INTO' ; -MINVALUE - : 'MINVALUE' +INVOKER + : 'INVOKER' ; -MODE - : 'MODE' +IS + : 'IS' ; -MONTH_P - : 'MONTH' +ISNULL + : 'ISNULL' ; -MOVE - : 'MOVE' +ISOLATION + : 'ISOLATION' ; -NAME_P - : 'NAME' +JOIN + : 'JOIN' ; -NAMES - : 'NAMES' +JSON + : 'JSON' ; -NEXT - : 'NEXT' +JSON_ARRAY + : 'JSON_ARRAY' ; -NO - : 'NO' +JSON_ARRAYAGG + : 'JSON_ARRAYAGG' ; -NOTHING - : 'NOTHING' +JSON_EXISTS + : 'JSON_EXISTS' ; -NOTIFY - : 'NOTIFY' +JSON_OBJECT + : 'JSON_OBJECT' ; -NOWAIT - : 'NOWAIT' +JSON_OBJECTAGG + : 'JSON_OBJECTAGG' ; -NULLS_P - : 'NULLS' +JSON_QUERY + : 'JSON_QUERY' ; -OBJECT_P - : 'OBJECT' +JSON_SCALAR + : 'JSON_SCALAR' ; -OF - : 'OF' +JSON_SERIALIZE + : 'JSON_SERIALIZE' ; - -OFF - : 'OFF' + +JSON_TABLE + : 'JSON_TABLE' ; -OIDS - : 'OIDS' +JSON_VALUE + : 'JSON_VALUE' ; -OPERATOR - : 'OPERATOR' +KEEP + : 'KEEP' ; -OPTION - : 'OPTION' +KEY + : 'KEY' ; -OPTIONS - : 'OPTIONS' +KEYS + : 'KEYS' ; -OWNED - : 'OWNED' +LABEL + : 'LABEL' ; -OWNER - : 'OWNER' +LANGUAGE + : 'LANGUAGE' ; -PARSER - : 'PARSER' +LARGE_P + : 'LARGE' ; -PARTIAL - : 'PARTIAL' +LAST_P + : 'LAST' ; -PARTITION - : 'PARTITION' +LATERAL_P + : 'LATERAL' ; -PASSING - : 'PASSING' +LEADING + : 'LEADING' ; -PASSWORD - : 'PASSWORD' +LEAKPROOF + : 'LEAKPROOF' ; -PLANS - : 'PLANS' +LEAST + : 'LEAST' ; -PRECEDING - : 'PRECEDING' +LEFT + : 'LEFT' ; -PREPARE - : 'PREPARE' +LEVEL + : 'LEVEL' ; -PREPARED - : 'PREPARED' +LIKE + : 'LIKE' ; -PRESERVE - : 'PRESERVE' +LIMIT + : 'LIMIT' ; -PRIOR - : 'PRIOR' +LISTEN + : 'LISTEN' ; -PRIVILEGES - : 'PRIVILEGES' +LOAD + : 'LOAD' ; -PROCEDURAL - : 'PROCEDURAL' +LOCAL + : 'LOCAL' ; -PROCEDURE - : 'PROCEDURE' +LOCALTIME + : 'LOCALTIME' ; -PROGRAM - : 'PROGRAM' +LOCALTIMESTAMP + : 'LOCALTIMESTAMP' ; -QUOTE - : 'QUOTE' +LOCATION + : 'LOCATION' ; -RANGE - : 'RANGE' +LOCK_P + : 'LOCK' ; -READ - : 'READ' +LOCKED + : 'LOCKED' ; -REASSIGN - : 'REASSIGN' +LOGGED + : 'LOGGED' ; -RECHECK - : 'RECHECK' +MAPPING + : 'MAPPING' ; -RECURSIVE - : 'RECURSIVE' +MATCH + : 'MATCH' ; -REF - : 'REF' +MATCHED + : 'MATCHED' ; -REFRESH - : 'REFRESH' +MATERIALIZED + : 'MATERIALIZED' ; -REINDEX - : 'REINDEX' +MAXVALUE + : 'MAXVALUE' ; -RELATIVE_P - : 'RELATIVE' +MERGE + : 'MERGE' ; -RELEASE - : 'RELEASE' +MERGE_ACTION + : 'MERGE_ACTION' ; -RENAME - : 'RENAME' +METHOD + : 'METHOD' ; -REPEATABLE - : 'REPEATABLE' +MINUTE_P + : 'MINUTE' ; -REPLACE - : 'REPLACE' +MINVALUE + : 'MINVALUE' ; -REPLICA - : 'REPLICA' +MODE + : 'MODE' ; -RESET - : 'RESET' +MONTH_P + : 'MONTH' ; -RESTART - : 'RESTART' +MOVE + : 'MOVE' ; -RESTRICT - : 'RESTRICT' +NAME_P + : 'NAME' ; -RETURNS - : 'RETURNS' +NAMES + : 'NAMES' ; -REVOKE - : 'REVOKE' +NATIONAL + : 'NATIONAL' ; -ROLE - : 'ROLE' +NATURAL + : 'NATURAL' ; -ROLLBACK - : 'ROLLBACK' +NCHAR + : 'NCHAR' ; -ROWS - : 'ROWS' +NESTED + : 'NESTED' ; -RULE - : 'RULE' +NEW + : 'NEW' ; -SAVEPOINT - : 'SAVEPOINT' +NEXT + : 'NEXT' ; -SCHEMA - : 'SCHEMA' +NFC + : 'NFC' ; -SCROLL - : 'SCROLL' +NFD + : 'NFD' ; -SEARCH - : 'SEARCH' +NFKC + : 'NFKC' ; -SECOND_P - : 'SECOND' +NFKD + : 'NFKD' ; -SECURITY - : 'SECURITY' +NO + : 'NO' ; -SEQUENCE - : 'SEQUENCE' +NONE + : 'NONE' ; -SEQUENCES - : 'SEQUENCES' +NORMALIZE + : 'NORMALIZE' ; -SERIALIZABLE - : 'SERIALIZABLE' +NORMALIZED + : 'NORMALIZED' ; -SERVER - : 'SERVER' +NOT + : 'NOT' ; -SESSION - : 'SESSION' +NOTHING + : 'NOTHING' ; -SET - : 'SET' +NOTIFY + : 'NOTIFY' ; -SHARE - : 'SHARE' +NOTNULL + : 'NOTNULL' ; -SHOW - : 'SHOW' +NOWAIT + : 'NOWAIT' ; -SIMPLE - : 'SIMPLE' +NULL_P + : 'NULL' ; -SNAPSHOT - : 'SNAPSHOT' +NULLIF + : 'NULLIF' ; -STABLE - : 'STABLE' +NULLS_P + : 'NULLS' ; -STANDALONE_P - : 'STANDALONE' +NUMERIC + : 'NUMERIC' ; -START - : 'START' +OBJECT_P + : 'OBJECT' ; -STATEMENT - : 'STATEMENT' +OBJECTS_P + : 'OBJECTS' ; -STATISTICS - : 'STATISTICS' +OF + : 'OF' ; -STDIN - : 'STDIN' +OFF + : 'OFF' ; -STDOUT - : 'STDOUT' +OFFSET + : 'OFFSET' ; -STORAGE - : 'STORAGE' +OIDS + : 'OIDS' ; -STRICT_P - : 'STRICT' +OLD + : 'OLD' ; -STRIP_P - : 'STRIP' +OMIT + : 'OMIT' ; -SYSID - : 'SYSID' +ON + : 'ON' ; -SYSTEM_P - : 'SYSTEM' +ONLY + : 'ONLY' ; -TABLES - : 'TABLES' +OPERATOR + : 'OPERATOR' ; -TABLESPACE - : 'TABLESPACE' +OPTION + : 'OPTION' ; -TEMP - : 'TEMP' +OPTIONS + : 'OPTIONS' ; -TEMPLATE - : 'TEMPLATE' +OR + : 'OR' ; -TEMPORARY - : 'TEMPORARY' +ORDER + : 'ORDER' ; -TEXT_P - : 'TEXT' +ORDINALITY + : 'ORDINALITY' ; -TRANSACTION - : 'TRANSACTION' +OTHERS + : 'OTHERS' ; -TRIGGER - : 'TRIGGER' +OUT_P + : 'OUT' ; -TRUNCATE - : 'TRUNCATE' +OUTER_P + : 'OUTER' ; -TRUSTED - : 'TRUSTED' +OVER + : 'OVER' ; -TYPE_P - : 'TYPE' +OVERLAPS + : 'OVERLAPS' ; -TYPES_P - : 'TYPES' +OVERLAY + : 'OVERLAY' ; -UNBOUNDED - : 'UNBOUNDED' +OVERRIDING + : 'OVERRIDING' ; -UNCOMMITTED - : 'UNCOMMITTED' +OWNED + : 'OWNED' ; -UNENCRYPTED - : 'UNENCRYPTED' +OWNER + : 'OWNER' ; -UNKNOWN - : 'UNKNOWN' +PARALLEL + : 'PARALLEL' ; -UNLISTEN - : 'UNLISTEN' +PARAMETER + : 'PARAMETER' ; -UNLOGGED - : 'UNLOGGED' +PARSER + : 'PARSER' ; -UNTIL - : 'UNTIL' +PARTIAL + : 'PARTIAL' ; -UPDATE - : 'UPDATE' +PARTITION + : 'PARTITION' ; -VACUUM - : 'VACUUM' +PASSING + : 'PASSING' ; -VALID - : 'VALID' +PASSWORD + : 'PASSWORD' ; -VALIDATE - : 'VALIDATE' +PATH + : 'PATH' ; -VALIDATOR - : 'VALIDATOR' +PERIOD + : 'PERIOD' ; - //VALUE : 'VALUE; -VARYING - : 'VARYING' +PLACING + : 'PLACING' ; -VERSION_P - : 'VERSION' +PLAN + : 'PLAN' ; -VIEW - : 'VIEW' +PLANS + : 'PLANS' ; -VOLATILE - : 'VOLATILE' +POLICY + : 'POLICY' ; -WHITESPACE_P - : 'WHITESPACE' +POSITION + : 'POSITION' ; -WITHOUT - : 'WITHOUT' +PRECEDING + : 'PRECEDING' ; -WORK - : 'WORK' +PRECISION + : 'PRECISION' ; -WRAPPER - : 'WRAPPER' +PREPARE + : 'PREPARE' ; -WRITE - : 'WRITE' +PREPARED + : 'PREPARED' ; -XML_P - : 'XML' +PRESERVE + : 'PRESERVE' ; -YEAR_P - : 'YEAR' +PRIMARY + : 'PRIMARY' ; -YES_P - : 'YES' +PRIOR + : 'PRIOR' ; -ZONE - : 'ZONE' +PRIVILEGES + : 'PRIVILEGES' ; - // - // non-reserved keywords (can not be function or type) +PROCEDURAL + : 'PROCEDURAL' + ; - // - -ATOMIC_P - : 'ATOMIC' +PROCEDURE + : 'PROCEDURE' ; -BETWEEN - : 'BETWEEN' +PROCEDURES + : 'PROCEDURES' ; -BIGINT - : 'BIGINT' +PROGRAM + : 'PROGRAM' ; -BIT - : 'BIT' +PUBLICATION + : 'PUBLICATION' ; -BOOLEAN_P - : 'BOOLEAN' +QUOTE + : 'QUOTE' ; -CHAR_P - : 'CHAR' +QUOTES + : 'QUOTES' ; -CHARACTER - : 'CHARACTER' +RANGE + : 'RANGE' ; -COALESCE - : 'COALESCE' +READ + : 'READ' ; -DEC - : 'DEC' +REAL + : 'REAL' ; -DECIMAL_P - : 'DECIMAL' +REASSIGN + : 'REASSIGN' ; -EXISTS - : 'EXISTS' +RECURSIVE + : 'RECURSIVE' ; -EXTRACT - : 'EXTRACT' +REF_P + : 'REF' ; -FLOAT_P - : 'FLOAT' +REFERENCES + : 'REFERENCES' ; -GREATEST - : 'GREATEST' +REFERENCING + : 'REFERENCING' ; -INOUT - : 'INOUT' +REFRESH + : 'REFRESH' ; -INT_P - : 'INT' +REINDEX + : 'REINDEX' ; -INTEGER - : 'INTEGER' +RELATIVE_P + : 'RELATIVE' ; -INTERVAL - : 'INTERVAL' +RELEASE + : 'RELEASE' ; -LEAST - : 'LEAST' +RENAME + : 'RENAME' ; -NATIONAL - : 'NATIONAL' +REPEATABLE + : 'REPEATABLE' ; -NCHAR - : 'NCHAR' +REPLACE + : 'REPLACE' ; -NONE - : 'NONE' +REPLICA + : 'REPLICA' ; -NULLIF - : 'NULLIF' +RESET + : 'RESET' ; -NUMERIC - : 'NUMERIC' +RESTART + : 'RESTART' ; -OVERLAY - : 'OVERLAY' - ; - -PARAMETER - : 'PARAMETER' +RESTRICT + : 'RESTRICT' ; -POSITION - : 'POSITION' +RETURN + : 'RETURN' ; -PRECISION - : 'PRECISION' +RETURNING + : 'RETURNING' ; -REAL - : 'REAL' +RETURNS + : 'RETURNS' ; -ROW - : 'ROW' +REVOKE + : 'REVOKE' ; -SETOF - : 'SETOF' +RIGHT + : 'RIGHT' ; -SMALLINT - : 'SMALLINT' +ROLE + : 'ROLE' ; -SUBSTRING - : 'SUBSTRING' +ROLLBACK + : 'ROLLBACK' ; -TIME - : 'TIME' +ROLLUP + : 'ROLLUP' ; -TIMESTAMP - : 'TIMESTAMP' +ROUTINE + : 'ROUTINE' ; -TREAT - : 'TREAT' +ROUTINES + : 'ROUTINES' ; -TRIM - : 'TRIM' +ROW + : 'ROW' ; -VALUES - : 'VALUES' +ROWS + : 'ROWS' ; -VARCHAR - : 'VARCHAR' +RULE + : 'RULE' ; -XMLATTRIBUTES - : 'XMLATTRIBUTES' +SAVEPOINT + : 'SAVEPOINT' ; -XMLCOMMENT - : 'XMLCOMMENT' +SCALAR + : 'SCALAR' ; -XMLAGG - : 'XMLAGG' +SCHEMA + : 'SCHEMA' ; -XML_IS_WELL_FORMED - : 'XML_IS_WELL_FORMED' +SCHEMAS + : 'SCHEMAS' ; -XML_IS_WELL_FORMED_DOCUMENT - : 'XML_IS_WELL_FORMED_DOCUMENT' +SCROLL + : 'SCROLL' ; -XML_IS_WELL_FORMED_CONTENT - : 'XML_IS_WELL_FORMED_CONTENT' +SEARCH + : 'SEARCH' ; -XPATH - : 'XPATH' +SECOND_P + : 'SECOND' ; -XPATH_EXISTS - : 'XPATH_EXISTS' +SECURITY + : 'SECURITY' ; -XMLCONCAT - : 'XMLCONCAT' +SELECT + : 'SELECT' ; -XMLELEMENT - : 'XMLELEMENT' +SEQUENCE + : 'SEQUENCE' ; -XMLEXISTS - : 'XMLEXISTS' +SEQUENCES + : 'SEQUENCES' ; -XMLFOREST - : 'XMLFOREST' +SERIALIZABLE + : 'SERIALIZABLE' ; -XMLPARSE - : 'XMLPARSE' +SERVER + : 'SERVER' ; -XMLPI - : 'XMLPI' +SESSION + : 'SESSION' ; -XMLROOT - : 'XMLROOT' +SESSION_USER + : 'SESSION_USER' ; -XMLSERIALIZE - : 'XMLSERIALIZE' +SET + : 'SET' ; - //MISSED -CALL - : 'CALL' +SETOF + : 'SETOF' ; -CURRENT_P - : 'CURRENT' +SETS + : 'SETS' ; -ATTACH - : 'ATTACH' +SHARE + : 'SHARE' ; -DETACH - : 'DETACH' +SHOW + : 'SHOW' ; -EXPRESSION - : 'EXPRESSION' +SIMILAR + : 'SIMILAR' ; -GENERATED - : 'GENERATED' +SIMPLE + : 'SIMPLE' ; -LOGGED - : 'LOGGED' +SKIP_P + : 'SKIP' ; -STORED - : 'STORED' +SMALLINT + : 'SMALLINT' ; -INCLUDE - : 'INCLUDE' +SNAPSHOT + : 'SNAPSHOT' ; -ROUTINE - : 'ROUTINE' +SOME + : 'SOME' ; -TRANSFORM - : 'TRANSFORM' +SOURCE + : 'SOURCE' ; -IMPORT_P - : 'IMPORT' +SQL_P + : 'SQL' ; -POLICY - : 'POLICY' +STABLE + : 'STABLE' ; -METHOD - : 'METHOD' +STANDALONE_P + : 'STANDALONE' ; -REFERENCING - : 'REFERENCING' +START + : 'START' ; -NEW - : 'NEW' +STATEMENT + : 'STATEMENT' ; -OLD - : 'OLD' +STATISTICS + : 'STATISTICS' ; -VALUE_P - : 'VALUE' +STDIN + : 'STDIN' ; -SUBSCRIPTION - : 'SUBSCRIPTION' +STDOUT + : 'STDOUT' ; -PUBLICATION - : 'PUBLICATION' +STORAGE + : 'STORAGE' ; -OUT_P - : 'OUT' +STORED + : 'STORED' ; -END_P - : 'END' +STRICT_P + : 'STRICT' ; -ROUTINES - : 'ROUTINES' +STRING_P + : 'STRING' ; -SCHEMAS - : 'SCHEMAS' +STRIP_P + : 'STRIP' ; -PROCEDURES - : 'PROCEDURES' +SUBSCRIPTION + : 'SUBSCRIPTION' ; -INPUT_P - : 'INPUT' +SUBSTRING + : 'SUBSTRING' ; SUPPORT : 'SUPPORT' ; -PARALLEL - : 'PARALLEL' +SYMMETRIC + : 'SYMMETRIC' + ; + +SYSID + : 'SYSID' + ; + +SYSTEM_P + : 'SYSTEM' ; -SQL_P - : 'SQL' +SYSTEM_USER + : 'SYSTEM_USER' ; -DEPENDS - : 'DEPENDS' +TABLE + : 'TABLE' ; -OVERRIDING - : 'OVERRIDING' +TABLES + : 'TABLES' ; -CONFLICT - : 'CONFLICT' +TABLESAMPLE + : 'TABLESAMPLE' ; -SKIP_P - : 'SKIP' +TABLESPACE + : 'TABLESPACE' ; -LOCKED - : 'LOCKED' +TARGET + : 'TARGET' ; -TIES - : 'TIES' +TEMP + : 'TEMP' ; -ROLLUP - : 'ROLLUP' +TEMPLATE + : 'TEMPLATE' ; -CUBE - : 'CUBE' +TEMPORARY + : 'TEMPORARY' ; -GROUPING - : 'GROUPING' +TEXT_P + : 'TEXT' ; -SETS - : 'SETS' +THEN + : 'THEN' ; -TABLESAMPLE - : 'TABLESAMPLE' +TIES + : 'TIES' ; -ORDINALITY - : 'ORDINALITY' +TIME + : 'TIME' ; -XMLTABLE - : 'XMLTABLE' +TIMESTAMP + : 'TIMESTAMP' ; -COLUMNS - : 'COLUMNS' +TO + : 'TO' ; -XMLNAMESPACES - : 'XMLNAMESPACES' +TRAILING + : 'TRAILING' ; -ROWTYPE - : 'ROWTYPE' +TRANSACTION + : 'TRANSACTION' ; -NORMALIZED - : 'NORMALIZED' +TRANSFORM + : 'TRANSFORM' ; -WITHIN - : 'WITHIN' +TREAT + : 'TREAT' ; -FILTER - : 'FILTER' +TRIGGER + : 'TRIGGER' ; -GROUPS - : 'GROUPS' +TRIM + : 'TRIM' ; -OTHERS - : 'OTHERS' +TRUE_P + : 'TRUE' ; -NFC - : 'NFC' +TRUNCATE + : 'TRUNCATE' ; -NFD - : 'NFD' +TRUSTED + : 'TRUSTED' ; -NFKC - : 'NFKC' +TYPE_P + : 'TYPE' ; -NFKD - : 'NFKD' +TYPES_P + : 'TYPES' ; UESCAPE : 'UESCAPE' ; -VIEWS - : 'VIEWS' - ; - -NORMALIZE - : 'NORMALIZE' +UNBOUNDED + : 'UNBOUNDED' ; -DUMP - : 'DUMP' +UNCOMMITTED + : 'UNCOMMITTED' ; -PRINT_STRICT_PARAMS - : 'PRINT_STRICT_PARAMS' +UNCONDITIONAL + : 'UNCONDITIONAL' ; -VARIABLE_CONFLICT - : 'VARIABLE_CONFLICT' +UNENCRYPTED + : 'UNENCRYPTED' ; -ERROR - : 'ERROR' +UNION + : 'UNION' ; -USE_VARIABLE - : 'USE_VARIABLE' +UNIQUE + : 'UNIQUE' ; -USE_COLUMN - : 'USE_COLUMN' +UNKNOWN + : 'UNKNOWN' ; -ALIAS - : 'ALIAS' +UNLISTEN + : 'UNLISTEN' ; -CONSTANT - : 'CONSTANT' +UNLOGGED + : 'UNLOGGED' ; -PERFORM - : 'PERFORM' +UNTIL + : 'UNTIL' ; -GET - : 'GET' +UPDATE + : 'UPDATE' ; -DIAGNOSTICS - : 'DIAGNOSTICS' +USER + : 'USER' ; -STACKED - : 'STACKED' +USING + : 'USING' ; -ELSIF - : 'ELSIF' +VACUUM + : 'VACUUM' ; -WHILE - : 'WHILE' +VALID + : 'VALID' ; -REVERSE - : 'REVERSE' +VALIDATE + : 'VALIDATE' ; -FOREACH - : 'FOREACH' +VALIDATOR + : 'VALIDATOR' ; -SLICE - : 'SLICE' +VALUE_P + : 'VALUE' ; -EXIT - : 'EXIT' +VALUES + : 'VALUES' ; -RETURN - : 'RETURN' +VARCHAR + : 'VARCHAR' ; -QUERY - : 'QUERY' +VARIADIC + : 'VARIADIC' ; -RAISE - : 'RAISE' +VARYING + : 'VARYING' ; -SQLSTATE - : 'SQLSTATE' +VERBOSE + : 'VERBOSE' ; -DEBUG - : 'DEBUG' +VERSION_P + : 'VERSION' ; -LOG - : 'LOG' +VIEW + : 'VIEW' ; -INFO - : 'INFO' +VIEWS + : 'VIEWS' ; -NOTICE - : 'NOTICE' +VIRTUAL + : 'VIRTUAL' ; -WARNING - : 'WARNING' +VOLATILE + : 'VOLATILE' ; -EXCEPTION - : 'EXCEPTION' +WHEN + : 'WHEN' ; -ASSERT - : 'ASSERT' +WHERE + : 'WHERE' ; -LOOP - : 'LOOP' +WHITESPACE_P + : 'WHITESPACE' ; -OPEN - : 'OPEN' +WINDOW + : 'WINDOW' ; - // - // IDENTIFIERS (4.1.1) - - // - -ABS - : 'ABS' +WITH + : 'WITH' ; -CBRT - : 'CBRT' +WITHIN + : 'WITHIN' ; -CEIL - : 'CEIL' +WITHOUT + : 'WITHOUT' ; -CEILING - : 'CEILING' +WORK + : 'WORK' ; -DEGREES - : 'DEGREES' +WRAPPER + : 'WRAPPER' ; -DIV - : 'DIV' +WRITE + : 'WRITE' ; -EXP - : 'EXP' +XML_P + : 'XML' ; -FACTORIAL - : 'FACTORIAL' +XMLATTRIBUTES + : 'XMLATTRIBUTES' ; -FLOOR - : 'FLOOR' +XMLCONCAT + : 'XMLCONCAT' ; -GCD - : 'GCD' +XMLELEMENT + : 'XMLELEMENT' ; -LCM - : 'LCM' +XMLEXISTS + : 'XMLEXISTS' ; -LN - : 'LN' +XMLFOREST + : 'XMLFOREST' ; -LOG10 - : 'LOG10' +XMLNAMESPACES + : 'XMLNAMESPACES' ; -MIN_SCALE - : 'MIN_SCALE' +XMLPARSE + : 'XMLPARSE' ; -MOD - : 'MOD' +XMLPI + : 'XMLPI' ; -PI - : 'PI' +XMLROOT + : 'XMLROOT' ; -POWER - : 'POWER' +XMLSERIALIZE + : 'XMLSERIALIZE' ; -RADIANS - : 'RADIANS' +XMLTABLE + : 'XMLTABLE' ; -ROUND - : 'ROUND' +YEAR_P + : 'YEAR' ; -SCALE - : 'SCALE' +YES_P + : 'YES' ; -SIGN - : 'SIGN' +ZONE + : 'ZONE' ; -SQRT - : 'SQRT' - ; +// ============================================================================ +// Automatically Renamed Tokens (ANTLR Compatibility) +// ============================================================================ +// The following tokens were renamed to avoid ANTLR reserved name conflicts: +// +// SKIP → SKIP_P (keyword: 'skip') +// ============================================================================ -TRIM_SCALE - : 'TRIM_SCALE' - ; +// END AUTO-GENERATED KEYWORDS +// ============================================================================ -TRUNC - : 'TRUNC' - ; +// -WIDTH_BUCKET - : 'WIDTH_BUCKET' - ; +// SPECIAL CHARACTERS (4.1.4) -RANDOM - : 'RANDOM' - ; +// -SETSEED - : 'SETSEED' - ; +// Note that Asterisk is a valid operator, but does not have the type Operator due to its syntactic use in locations -ACOS - : 'ACOS' - ; +// that are not expressions. -ACOSD - : 'ACOSD' +Dollar + : '$' ; -ASIN - : 'ASIN' +OPEN_PAREN + : '(' ; -ASIND - : 'ASIND' +CLOSE_PAREN + : ')' ; -ATAN - : 'ATAN' +OPEN_BRACKET + : '[' ; -ATAND - : 'ATAND' +CLOSE_BRACKET + : ']' ; -ATAN2 - : 'ATAN2' +COMMA + : ',' ; -ATAN2D - : 'ATAN2D' +SEMI + : ';' ; -COS - : 'COS' +COLON + : ':' ; -COSD - : 'COSD' +STAR + : '*' ; -COT - : 'COT' +EQUAL + : '=' ; -COTD - : 'COTD' +DOT + : '.' ; + //NamedArgument : ':='; -SIN - : 'SIN' +PLUS + : '+' ; -SIND - : 'SIND' +MINUS + : '-' ; -TAN - : 'TAN' +SLASH + : '/' ; -TAND - : 'TAND' +CARET + : '^' ; -SINH - : 'SINH' +LT + : '<' ; -COSH - : 'COSH' +GT + : '>' ; -TANH - : 'TANH' +LESS_LESS + : '<<' ; -ASINH - : 'ASINH' +GREATER_GREATER + : '>>' ; -ACOSH - : 'ACOSH' +COLON_EQUALS + : ':=' ; -ATANH - : 'ATANH' +LESS_EQUALS + : '<=' ; -BIT_LENGTH - : 'BIT_LENGTH' +EQUALS_GREATER + : '=>' ; -CHAR_LENGTH - : 'CHAR_LENGTH' +GREATER_EQUALS + : '>=' ; -CHARACTER_LENGTH - : 'CHARACTER_LENGTH' +DOT_DOT + : '..' ; -LOWER - : 'LOWER' +NOT_EQUALS + : '<>' ; -OCTET_LENGTH - : 'OCTET_LENGTH' +TYPECAST + : '::' ; -UPPER - : 'UPPER' +PERCENT + : '%' ; -ASCII - : 'ASCII' +PARAM + : '$' ([0-9])+ ; + // -BTRIM - : 'BTRIM' - ; + // OPERATORS (4.1.3) -CHR - : 'CHR' - ; + // -CONCAT - : 'CONCAT' - ; + // this rule does not allow + or - at the end of a multi-character operator -CONCAT_WS - : 'CONCAT_WS' - ; +Operator + : ((OperatorCharacter | ('+' | '-' + {p.checkLA('-')}?)+ (OperatorCharacter | '/' + {p.checkLA('*')}?) | '/' + {p.checkLA('*')}?)+ | // special handling for the single-character operators + and - + [+-]) + //TODO somehow rewrite this part without using Actions -FORMAT - : 'FORMAT' + { + l.HandleLessLessGreaterGreater(); + } ; +/* This rule handles operators which end with + or -, and sets the token type to Operator. It is comprised of four + * parts, in order: + * + * 1. A prefix, which does not contain a character from the required set which allows + or - to appear at the end of + * the operator. + * 2. A character from the required set which allows + or - to appear at the end of the operator. + * 3. An optional sub-token which takes the form of an operator which does not include a + or - at the end of the + * sub-token. + * 4. A suffix sequence of + and - characters. + */ -INITCAP - : 'INITCAP' - ; -LENGTH - : 'LENGTH' +OperatorEndingWithPlusMinus + : (OperatorCharacterNotAllowPlusMinusAtEnd | '-' + {p.checkLA('-')}? | '/' + {p.checkLA('*')}?)* OperatorCharacterAllowPlusMinusAtEnd Operator? ('+' | '-' + {p.checkLA('-')}?)+ -> type (Operator) ; + // Each of the following fragment rules omits the +, -, and / characters, which must always be handled in a special way -LPAD - : 'LPAD' - ; + // by the operator rules above. -LTRIM - : 'LTRIM' +fragment OperatorCharacter + : [*<>=~!@%^&|`?#] ; + // these are the operator characters that don't count towards one ending with + or - -MD5 - : 'MD5' +fragment OperatorCharacterNotAllowPlusMinusAtEnd + : [*<>=+] ; + // an operator may end with + or - if it contains one of these characters -PARSE_IDENT - : 'PARSE_IDENT' +fragment OperatorCharacterAllowPlusMinusAtEnd + : [~!@%^&|`?#] ; + // -PG_CLIENT_ENCODING - : 'PG_CLIENT_ENCODING' - ; + // KEYWORDS (Appendix C) -QUOTE_IDENT - : 'QUOTE_IDENT' - ; + // -QUOTE_LITERAL - : 'QUOTE_LITERAL' - ; + // -QUOTE_NULLABLE - : 'QUOTE_NULLABLE' - ; + // reserved keywords -REGEXP_COUNT - : 'REGEXP_COUNT' - ; + // -REGEXP_INSTR - : 'REGEXP_INSTR' - ; + // -REGEXP_LIKE - : 'REGEXP_LIKE' - ; + // reserved keywords (can be function or type) -REGEXP_MATCH - : 'REGEXP_MATCH' - ; + // -REGEXP_MATCHES - : 'REGEXP_MATCHES' - ; + // -REGEXP_REPLACE - : 'REGEXP_REPLACE' - ; + // non-reserved keywords -REGEXP_SPLIT_TO_ARRAY - : 'REGEXP_SPLIT_TO_ARRAY' - ; + // -REGEXP_SPLIT_TO_TABLE - : 'REGEXP_SPLIT_TO_TABLE' - ; + //LC_COLLATE : 'LC'_'COLLATE; -REGEXP_SUBSTR - : 'REGEXP_SUBSTR' - ; + //LC_CTYPE : 'LC'_'CTYPE; -REPEAT - : 'REPEAT' +RECHECK + : 'RECHECK' ; -RPAD - : 'RPAD' - ; + //VALUE : 'VALUE; -RTRIM - : 'RTRIM' - ; + // -SPLIT_PART - : 'SPLIT_PART' - ; + // non-reserved keywords (can not be function or type) -STARTS_WITH - : 'STARTS_WITH' + // + + +XMLCOMMENT + : 'XMLCOMMENT' ; -STRING_TO_ARRAY - : 'STRING_TO_ARRAY' +XMLAGG + : 'XMLAGG' ; -STRING_TO_TABLE - : 'STRING_TO_TABLE' +XML_IS_WELL_FORMED + : 'XML_IS_WELL_FORMED' ; -STRPOS - : 'STRPOS' +XML_IS_WELL_FORMED_DOCUMENT + : 'XML_IS_WELL_FORMED_DOCUMENT' ; -SUBSTR - : 'SUBSTR' +XML_IS_WELL_FORMED_CONTENT + : 'XML_IS_WELL_FORMED_CONTENT' ; -TO_ASCII - : 'TO_ASCII' +XPATH + : 'XPATH' ; -TO_HEX - : 'TO_HEX' +XPATH_EXISTS + : 'XPATH_EXISTS' ; -TRANSLATE - : 'TRANSLATE' - ; + //MISSED -UNISTR - : 'UNISTR' +ROWTYPE + : 'ROWTYPE' ; -AGE - : 'AGE' +DUMP + : 'DUMP' ; -CLOCK_TIMESTAMP - : 'CLOCK_TIMESTAMP' +PRINT_STRICT_PARAMS + : 'PRINT_STRICT_PARAMS' ; -DATE_BIN - : 'DATE_BIN' +VARIABLE_CONFLICT + : 'VARIABLE_CONFLICT' ; -DATE_PART - : 'DATE_PART' +USE_VARIABLE + : 'USE_VARIABLE' ; -DATE_TRUNC - : 'DATE_TRUNC' +USE_COLUMN + : 'USE_COLUMN' ; -ISFINITE - : 'ISFINITE' +ALIAS + : 'ALIAS' ; -JUSTIFY_DAYS - : 'JUSTIFY_DAYS' +CONSTANT + : 'CONSTANT' ; -JUSTIFY_HOURS - : 'JUSTIFY_HOURS' +PERFORM + : 'PERFORM' ; -JUSTIFY_INTERVAL - : 'JUSTIFY_INTERVAL' +GET + : 'GET' ; -MAKE_DATE - : 'MAKE_DATE' +DIAGNOSTICS + : 'DIAGNOSTICS' ; -MAKE_INTERVAL - : 'MAKE_INTERVAL' +STACKED + : 'STACKED' ; -MAKE_TIME - : 'MAKE_TIME' +ELSIF + : 'ELSIF' ; -MAKE_TIMESTAMP - : 'MAKE_TIMESTAMP' +WHILE + : 'WHILE' ; -MAKE_TIMESTAMPTZ - : 'MAKE_TIMESTAMPTZ' +REVERSE + : 'REVERSE' ; -NOW - : 'NOW' +FOREACH + : 'FOREACH' ; -STATEMENT_TIMESTAMP - : 'STATEMENT_TIMESTAMP' +SLICE + : 'SLICE' ; -TIMEOFDAY - : 'TIMEOFDAY' +EXIT + : 'EXIT' ; -TRANSACTION_TIMESTAMP - : 'TRANSACTION_TIMESTAMP' +QUERY + : 'QUERY' ; -TO_TIMESTAMP - : 'TO_TIMESTAMP' +RAISE + : 'RAISE' ; -TO_CHAR - : 'TO_CHAR' +SQLSTATE + : 'SQLSTATE' ; -TO_DATE - : 'TO_DATE' +DEBUG + : 'DEBUG' ; -TO_NUMBER - : 'TO_NUMBER' +LOG + : 'LOG' ; -ENCODE - : 'ENCODE' +INFO + : 'INFO' ; -DISTKEY - : 'DISTKEY' +NOTICE + : 'NOTICE' ; -SORTKEY - : 'SORTKEY' +WARNING + : 'WARNING' ; -CASE_SENSITIVE - : 'CASE_SENSITIVE' +EXCEPTION + : 'EXCEPTION' ; -CASE_INSENSITIVE - : 'CASE_INSENSITIVE' +ASSERT + : 'ASSERT' ; -JSON_ARRAYAGG - : 'JSON_ARRAYAGG' +LOOP + : 'LOOP' ; -JSON_OBJECTAGG - : 'JSON_OBJECTAGG' +OPEN + : 'OPEN' ; Identifier diff --git a/postgresql/PostgreSQLParser.g4 b/postgresql/PostgreSQLParser.g4 index a941258..fa70ade 100755 --- a/postgresql/PostgreSQLParser.g4 +++ b/postgresql/PostgreSQLParser.g4 @@ -1,5 +1,6 @@ parser grammar PostgreSQLParser; +import PostgreSQLKeywords; options { tokenVocab = PostgreSQLLexer; superClass = PostgreSQLParserBase; @@ -271,7 +272,7 @@ set_rest_more : generic_set | var_name FROM CURRENT_P | TIME ZONE zone_value - | CATALOG sconst + | CATALOG_P sconst | SCHEMA sconst | NAMES opt_encoding? | ROLE nonreservedword_or_sconst @@ -1862,7 +1863,6 @@ arg_class param_name : type_function_name - | builtin_function_name | LEFT | RIGHT ; @@ -1873,7 +1873,7 @@ func_return func_type : typename - | SETOF? (builtin_function_name | type_function_name | LEFT | RIGHT) attrs PERCENT TYPE_P + | SETOF? (type_function_name | LEFT | RIGHT) attrs PERCENT TYPE_P ; func_arg_with_default @@ -1931,7 +1931,7 @@ common_func_opt_item createfunc_opt_item : AS func_as - | BEGIN_P ATOMIC_P stmtmulti END_P + | BEGIN_P ATOMIC stmtmulti END_P | LANGUAGE nonreservedword_or_sconst | TRANSFORM transform_type_list | WINDOW @@ -3194,6 +3194,7 @@ simpletypename | character | constdatetime | constinterval (opt_interval? | OPEN_PAREN iconst CLOSE_PAREN) + | jsontype ; consttypename @@ -3201,10 +3202,15 @@ consttypename | constbit | constcharacter | constdatetime + | jsontype ; generictype - : (builtin_function_name | type_function_name | LEFT | RIGHT) attrs? opt_type_modifiers? + : (type_function_name | LEFT | RIGHT) attrs? opt_type_modifiers? + ; + +jsontype + : JSON ; opt_type_modifiers @@ -3644,13 +3650,13 @@ func_expr_common_subexpr ; json_on_error_clause - : json_behavior ON ERROR + : json_behavior ON ERROR_P ; json_behavior_clause - : json_behavior ON EMPTY - | json_behavior ON ERROR - | json_behavior ON EMPTY json_behavior ON ERROR + : json_behavior ON EMPTY_P + | json_behavior ON ERROR_P + | json_behavior ON EMPTY_P json_behavior ON ERROR_P ; json_behavior @@ -3659,18 +3665,18 @@ json_behavior ; json_behavior_type - : ERROR + : ERROR_P | NULL_P | TRUE_P | FALSE_P | UNKNOWN - | EMPTY ARRAY - | EMPTY OBJECT_P - | EMPTY + | EMPTY_P ARRAY + | EMPTY_P OBJECT_P + | EMPTY_P ; json_quotes_clause - : (KEEP | OMIT) QUOTES (ON SCALAR STRING) + : (KEEP | OMIT) QUOTES (ON SCALAR STRING_P) ; json_wrapper_behavior @@ -3777,7 +3783,7 @@ xmlexists_argument ; xml_passing_mech - : BY (REF | VALUE_P) + : BY (REF_P | VALUE_P) ; within_group_clause @@ -4065,8 +4071,7 @@ file_name ; func_name - : builtin_function_name - | type_function_name + : type_function_name | colid indirection | LEFT | RIGHT @@ -4190,615 +4195,14 @@ plsqlidentifier : PLSQLIDENTIFIER ; -unreserved_keyword - : ABORT_P - | ABSENT - | ABSOLUTE_P - | ACCESS - | ACTION - | ADD_P - | ADMIN - | AFTER - | AGGREGATE - | ALSO - | ALTER - | ALWAYS - | ASSERTION - | ASSIGNMENT - | AT - | ATOMIC_P - | ATTACH - | ATTRIBUTE - | BACKWARD - | BEFORE - | BEGIN_P - | BY - | CACHE - | CALL - | CALLED - | CASCADE - | CASCADED - | CATALOG - | CHAIN - | CHARACTERISTICS - | CHECKPOINT - | CLASS - | CLOSE - | CLUSTER - | COLUMNS - | COMMENT - | COMMENTS - | COMMIT - | COMMITTED - | CONFIGURATION - | CONFLICT - | CONNECTION - | CONSTRAINTS - | CONTENT_P - | CONTINUE_P - | CONVERSION_P - | COPY - | COST - | CSV - | CUBE - | CURRENT_P - | CURSOR - | CYCLE - | DATA_P - | DATABASE - | DAY_P - | DEALLOCATE - | DECLARE - | DEFAULTS - | DEFERRED - | DEFINER - | DELETE_P - | DELIMITER - | DELIMITERS - | DEPENDS - | DETACH - | DICTIONARY - | DISABLE_P - | DISCARD - | DOCUMENT_P - | DOMAIN_P - | DOUBLE_P - | DROP - | EACH - | ENABLE_P - | ENCODING - | ENCRYPTED - | ENUM_P - | ESCAPE - | EVENT - | EXCLUDE - | EXCLUDING - | EXCLUSIVE - | EXECUTE - | EXPLAIN - | EXPRESSION - | EXTENSION - | EXTERNAL - | FAMILY - | FILTER - | FIRST_P - | FOLLOWING - | FORCE - | FORMAT - | FORWARD - | FUNCTION - | FUNCTIONS - | GENERATED - | GLOBAL - | GRANTED - | GROUPS - | HANDLER - | HEADER_P - | HOLD - | HOUR_P - | IDENTITY_P - | IF_P - | IMMEDIATE - | IMMUTABLE - | IMPLICIT_P - | IMPORT_P - | INCLUDE - | INCLUDING - | INCREMENT - | INDEX - | INDEXES - | INHERIT - | INHERITS - | INLINE_P - | INPUT_P - | INSENSITIVE - | INSERT - | INSTEAD - | INVOKER - | ISOLATION - | JSON - | KEY - | KEYS - | LABEL - | LANGUAGE - | LARGE_P - | LAST_P - | LEAKPROOF - | LEVEL - | LISTEN - | LOAD - | LOCAL - | LOCATION - | LOCK_P - | LOCKED - | LOGGED - | MAPPING - | MATCH - | MATERIALIZED - | MAXVALUE - | METHOD - | MINUTE_P - | MINVALUE - | MODE - | MONTH_P - | MOVE - | NAME_P - | NAMES - | NEW - | NEXT - | NFC - | NFD - | NFKC - | NFKD - | NO - | NORMALIZED - | NOTHING - | NOTIFY - | NOWAIT - | NULLS_P - | OBJECT_P - | OF - | OFF - | OIDS - | OLD - | OPERATOR - | OPTION - | OPTIONS - | ORDINALITY - | OTHERS - | OVER - | OVERRIDING - | OWNED - | OWNER - | PARALLEL - | PARAMETER - | PARSER - | PARTIAL - | PARTITION - | PASSING - | PASSWORD - | PLANS - | POLICY - | PRECEDING - | PREPARE - | PREPARED - | PRESERVE - | PRIOR - | PRIVILEGES - | PROCEDURAL - | PROCEDURE - | PROCEDURES - | PROGRAM - | PUBLICATION - | QUOTE - | RANGE - | READ - | REASSIGN - | RECHECK - | RECURSIVE - | REF - | REFERENCING - | REFRESH - | REINDEX - | RELATIVE_P - | RELEASE - | RENAME - | REPEATABLE - | REPLICA - | RESET - | RESTART - | RESTRICT - | RETURNS - | REVOKE - | ROLE - | ROLLBACK - | ROLLUP - | ROUTINE - | ROUTINES - | ROWS - | RULE - | SAVEPOINT - | SCHEMA - | SCHEMAS - | SCROLL - | SEARCH - | SECOND_P - | SECURITY - | SEQUENCE - | SEQUENCES - | SERIALIZABLE - | SERVER - | SESSION - | SET - | SETS - | SHARE - | SHOW - | SIMPLE - | SKIP_P - | SNAPSHOT - | SQL_P - | STABLE - | STANDALONE_P - | START - | STATEMENT - | STATISTICS - | STDIN - | STDOUT - | STORAGE - | STORED - | STRICT_P - | STRING - | STRIP_P - | SUBSCRIPTION - | SUPPORT - | SYSID - | SYSTEM_P - | TABLES - | TABLESPACE - | TEMP - | TEMPLATE - | TEMPORARY - | TEXT_P - | TIES - | TRANSACTION - | TRANSFORM - | TRIGGER - | TRUNCATE - | TRUSTED - | TYPE_P - | TYPES_P - | UESCAPE - | UNBOUNDED - | UNCOMMITTED - | UNENCRYPTED - | UNKNOWN - | UNLISTEN - | UNLOGGED - | UNTIL - | UPDATE - | VACUUM - | VALID - | VALIDATE - | VALIDATOR - | VALUE_P - | VARYING - | VERSION_P - | VIEW - | VIEWS - | VOLATILE - | WHITESPACE_P - | WITHIN - | WITHOUT - | WORK - | WRAPPER - | WRITE - | XML_P - | YEAR_P - | YES_P - | ZONE - ; - -col_name_keyword - : BETWEEN - | BIGINT - | bit - | BOOLEAN_P - | CHAR_P - | character - | COALESCE - | DEC - | DECIMAL_P - | EXISTS - | EXTRACT - | FLOAT_P - | GREATEST - | GROUPING - | INOUT - | INT_P - | INTEGER - | INTERVAL - | JSON_ARRAY - | JSON_ARRAYAGG - | JSON_OBJECT - | JSON_OBJECTAGG - | LEAST - | NATIONAL - | NCHAR - | NONE - | NORMALIZE - | NULLIF - | numeric - | OUT_P - | OVERLAY - | POSITION - | PRECISION - | REAL - | ROW - | SETOF - | SMALLINT - | SUBSTRING - | TIME - | TIMESTAMP - | TREAT - | TRIM - | VALUES - | VARCHAR - | XMLATTRIBUTES - | XMLCONCAT - | XMLELEMENT - | XMLEXISTS - | XMLFOREST - | XMLNAMESPACES - | XMLPARSE - | XMLPI - | XMLROOT - | XMLSERIALIZE - | XMLTABLE - | builtin_function_name - ; - -type_func_name_keyword - : AUTHORIZATION - | BINARY - | COLLATION - | CONCURRENTLY - | CROSS - | CURRENT_SCHEMA - | FREEZE - | FULL - | ILIKE - | INNER_P - | IS - | ISNULL - | JOIN - | LIKE - | NATURAL - | NOTNULL - | OUTER_P - | OVERLAPS - | SIMILAR - | TABLESAMPLE - | VERBOSE - ; - -reserved_keyword - : ALL - | ANALYSE - | ANALYZE - | AND - | ANY - | ARRAY - | AS - | ASC - | ASYMMETRIC - | BOTH - | CASE - | CAST - | CHECK - | COLLATE - | COLUMN - | CONSTRAINT - | CREATE - | CURRENT_CATALOG - | CURRENT_DATE - | CURRENT_ROLE - | CURRENT_TIME - | CURRENT_TIMESTAMP - | CURRENT_USER - // | DEFAULT - | DEFERRABLE - | DESC - | DISTINCT - | DO - | ELSE - | END_P - | EXCEPT - | FALSE_P - | FETCH - | FOR - | FOREIGN - | FROM - | GRANT - | GROUP_P - | HAVING - | IN_P - | INITIALLY - | INTERSECT -/* -from pl_gram.y, line ~2982 - * Fortunately, INTO is a fully reserved word in the main grammar, so - * at least we need not worry about it appearing as an identifier. -*/ - - - // | INTO - | LATERAL_P - | LEADING - | LIMIT - | LOCALTIME - | LOCALTIMESTAMP - | NOT - | NULL_P - | OFFSET - | ON - | ONLY - | OR - | ORDER - | PLACING - | PRIMARY - | REFERENCES - | RETURNING - | SELECT - | SESSION_USER - | SOME - | SYMMETRIC - | TABLE - | THEN - | TO - | TRAILING - | TRUE_P - | UNION - | UNIQUE - | USER - | USING - | VARIADIC - | WHEN - | WHERE - | WINDOW - | WITH - ; - -builtin_function_name - : XMLCOMMENT - | XML_IS_WELL_FORMED - | XML_IS_WELL_FORMED_DOCUMENT - | XML_IS_WELL_FORMED_CONTENT - | XMLAGG - | XPATH - | XPATH_EXISTS - | ABS - | CBRT - | CEIL - | CEILING - | DEGREES - | DIV - | EXP - | ENCODE - | FACTORIAL - | FLOOR - | GCD - | LCM - | LN - | LOG - | LOG10 - | MIN_SCALE - | MOD - | PI - | POWER - | RADIANS - | ROUND - | SCALE - | SIGN - | SQRT - | TRIM_SCALE - | TRUNC - | WIDTH_BUCKET - | RANDOM - | SETSEED - | ACOS - | ACOSD - | ACOSH - | ASIN - | ASIND - | ASINH - | ATAN - | ATAND - | ATANH - | ATAN2 - | ATAN2D - | COS - | COSD - | COSH - | COT - | COTD - | SIN - | SIND - | SINH - | TAN - | TAND - | TANH - | BIT_LENGTH - | CHAR_LENGTH - | CHARACTER_LENGTH - | LOWER - | OCTET_LENGTH - | OCTET_LENGTH - | UPPER - | ASCII - | BTRIM - | CHR - | CONCAT - | CONCAT_WS - | FORMAT - | INITCAP - | LENGTH - | LPAD - | LTRIM - | MD5 - | PARSE_IDENT - | PG_CLIENT_ENCODING - | QUOTE_IDENT - | QUOTE_LITERAL - | QUOTE_NULLABLE - | REGEXP_COUNT - | REGEXP_INSTR - | REGEXP_LIKE - | REGEXP_MATCH - | REGEXP_MATCHES - | REGEXP_REPLACE - | REGEXP_SPLIT_TO_ARRAY - | REGEXP_SPLIT_TO_TABLE - | REGEXP_SUBSTR - | REPEAT - | REPLACE - | REVERSE - | RPAD - | RTRIM - | SPLIT_PART - | STARTS_WITH - | STRING_TO_ARRAY - | STRING_TO_TABLE - | STRPOS - | SUBSTR - | TO_ASCII - | TO_HEX - | TRANSLATE - | UNISTR - | AGE - | DATE_BIN - | DATE_PART - | DATE_TRUNC - | ISFINITE - | JUSTIFY_DAYS - | JUSTIFY_HOURS - | JUSTIFY_INTERVAL - | MAKE_DATE - | MAKE_INTERVAL - | MAKE_TIME - | MAKE_TIMESTAMP - | MAKE_TIMESTAMPTZ - | CLOCK_TIMESTAMP - | NOW - | STATEMENT_TIMESTAMP - | TIMEOFDAY - | TRANSACTION_TIMESTAMP - | TO_TIMESTAMP - | JUSTIFY_INTERVAL - | JUSTIFY_INTERVAL - | TO_CHAR - | TO_DATE - | TO_NUMBER - ; +// ============================================================================ +// NOTE: The keyword rules (reserved_keyword, unreserved_keyword, +// col_name_keyword, type_func_name_keyword) are now imported from +// PostgreSQLKeywords.g4, which is auto-generated from PostgreSQL's official +// kwlist.h file. +// +// To regenerate: make generate-keywords +// ============================================================================ /************************************************************************************************************************************************************/ /*PL/SQL GRAMMAR */ @@ -4817,7 +4221,7 @@ comp_options comp_option : sharp OPTION DUMP | sharp PRINT_STRICT_PARAMS option_value - | sharp VARIABLE_CONFLICT ERROR + | sharp VARIABLE_CONFLICT ERROR_P | sharp VARIABLE_CONFLICT USE_VARIABLE | sharp VARIABLE_CONFLICT USE_COLUMN ; @@ -5396,7 +4800,7 @@ plsql_unreserved_keyword | DUMP | ELSIF //| ERRCODE - | ERROR + | ERROR_P | EXCEPTION | EXIT | FETCH @@ -5410,6 +4814,7 @@ plsql_unreserved_keyword | INSERT | IS | LAST_P + | LOG //| MESSAGE //| MESSAGE_TEXT @@ -5436,6 +4841,7 @@ plsql_unreserved_keyword | RELATIVE_P | RESET | RETURN + | REVERSE //| RETURNED_SQLSTATE | ROLLBACK //| ROW_COUNT diff --git a/postgresql/keyword-generator/README.md b/postgresql/keyword-generator/README.md new file mode 100644 index 0000000..06b3e98 --- /dev/null +++ b/postgresql/keyword-generator/README.md @@ -0,0 +1,69 @@ +# PostgreSQL Keyword Generator + +Automatically generates PostgreSQL keyword definitions from the official PostgreSQL source code. + +## Overview + +This tool fetches keyword definitions from PostgreSQL's `kwlist.h` and generates: +- **PostgreSQLKeywords.g4**: Parser rules for keyword categories (reserved, unreserved, etc.) +- **PostgreSQLLexer.g4**: Updates the auto-generated keyword section with all 494 keyword tokens + +## Usage + +```bash +# In postgresql directory +make generate-keywords +``` + +This will: +1. Fetch keywords from PostgreSQL REL_18_STABLE branch +2. Generate PostgreSQLKeywords.g4 (parser rules) +3. Update PostgreSQLLexer.g4 (keyword section between markers) + +## ANTLR Reserved Names + +Some PostgreSQL keywords conflict with ANTLR reserved names. These are automatically renamed: + +| PostgreSQL | ANTLR Token | Reason | +|------------|-------------|--------| +| SKIP | SKIP_P | SKIP is ANTLR-reserved for skip channel | + +## Future Updates + +To update to a new PostgreSQL version: + +1. Edit `keyword-generator/main.go`: + ```go + const PostgreSQLVersion = "REL_19_STABLE" // Change version + ``` + +2. Regenerate keywords: + ```bash + make generate-keywords + ``` + +3. Build and test: + ```bash + make build + make test + ``` + +## File Structure + +``` +postgresql/ +├── keyword-generator/ +│ ├── main.go # Keyword generator tool +│ └── README.md # This file +├── PostgreSQLKeywords.g4 # Generated parser rules +├── PostgreSQLLexer.g4 # Main lexer (with auto-generated keyword section) +└── PostgreSQLParser.g4 # Main parser (imports keywords) +``` + +## Benefits + +✓ **Zero manual maintenance** - Keywords auto-synced with PostgreSQL source +✓ **Set operations** - Complete file regeneration, no patching +✓ **Version tracking** - Clear source and version in generated files +✓ **ANTLR compatibility** - Automatic handling of reserved names +✓ **Single source of truth** - All keywords defined in auto-generated sections diff --git a/postgresql/keyword-generator/go.mod b/postgresql/keyword-generator/go.mod new file mode 100644 index 0000000..061be69 --- /dev/null +++ b/postgresql/keyword-generator/go.mod @@ -0,0 +1,3 @@ +module github.com/bytebase/parser/postgresql/keyword-generator + +go 1.21 diff --git a/postgresql/keyword-generator/main.go b/postgresql/keyword-generator/main.go new file mode 100644 index 0000000..47674f5 --- /dev/null +++ b/postgresql/keyword-generator/main.go @@ -0,0 +1,443 @@ +package main + +import ( + "bufio" + "flag" + "fmt" + "io" + "net/http" + "os" + "path" + "regexp" + "strings" + "time" +) + +// Keyword represents a PostgreSQL keyword definition from kwlist.h +type Keyword struct { + Name string + Token string + Category string + Label string +} + +const ( + CategoryReserved = "RESERVED_KEYWORD" + CategoryUnreserved = "UNRESERVED_KEYWORD" + CategoryColName = "COL_NAME_KEYWORD" + CategoryTypeFuncName = "TYPE_FUNC_NAME_KEYWORD" + + // PostgreSQL version/branch to fetch keywords from + PostgreSQLVersion = "REL_18_STABLE" + PostgreSQLKwlistURL = "https://raw.githubusercontent.com/postgres/postgres/" + PostgreSQLVersion + "/src/include/parser/kwlist.h" +) + +func main() { + outputDir := flag.String("output", "../", "Output directory for generated grammar files (relative to keyword-generator)") + flag.Parse() + + fmt.Printf("PostgreSQL Keyword Generator\n") + fmt.Printf("============================\n\n") + fmt.Printf("Fetching keyword definitions from PostgreSQL %s...\n", PostgreSQLVersion) + fmt.Printf("Source: %s\n\n", PostgreSQLKwlistURL) + + keywords, err := fetchAndParseKeywords() + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %v\n", err) + os.Exit(1) + } + + fmt.Printf("✓ Parsed %d keywords\n\n", len(keywords)) + + // Categorize keywords + categorized := categorizeKeywords(keywords) + + fmt.Printf("Keyword Statistics:\n") + fmt.Printf(" Reserved keywords: %3d\n", len(categorized[CategoryReserved])) + fmt.Printf(" Unreserved keywords: %3d\n", len(categorized[CategoryUnreserved])) + fmt.Printf(" Column name keywords: %3d\n", len(categorized[CategoryColName])) + fmt.Printf(" Type/function keywords: %3d\n", len(categorized[CategoryTypeFuncName])) + fmt.Printf(" ───────────────────────────────\n") + fmt.Printf(" Total: %3d\n\n", len(keywords)) + + // Generate ANTLR parser grammar fragment + parserOutputPath := path.Join(*outputDir, "PostgreSQLKeywords.g4") + err = generateANTLRGrammar(categorized, parserOutputPath) + if err != nil { + fmt.Fprintf(os.Stderr, "Error generating parser grammar: %v\n", err) + os.Exit(1) + } + fmt.Printf("✓ Generated: %s\n", parserOutputPath) + + // Update PostgreSQLLexer.g4 with keyword definitions + lexerPath := fmt.Sprintf("%s/PostgreSQLLexer.g4", *outputDir) + err = updateLexerWithKeywords(keywords, lexerPath) + if err != nil { + fmt.Fprintf(os.Stderr, "Error updating lexer with keywords: %v\n", err) + os.Exit(1) + } + fmt.Printf("✓ Updated: %s\n", lexerPath) + + fmt.Printf("\n✓ Keyword generation complete!\n") +} + +// fetchAndParseKeywords fetches kwlist.h from PostgreSQL repository and parses it +func fetchAndParseKeywords() ([]Keyword, error) { + client := &http.Client{ + Timeout: 30 * time.Second, + } + + resp, err := client.Get(PostgreSQLKwlistURL) + if err != nil { + return nil, fmt.Errorf("failed to fetch kwlist.h: %w", err) + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("failed to fetch kwlist.h: HTTP %d", resp.StatusCode) + } + + return parseKwlist(resp.Body) +} + +// parseKwlist parses the kwlist.h file and extracts keyword definitions +func parseKwlist(r io.Reader) ([]Keyword, error) { + // Regex to match PG_KEYWORD lines + // Format: PG_KEYWORD("keyword", TOKEN_NAME, CATEGORY, LABEL) + kwRegex := regexp.MustCompile(`PG_KEYWORD\("([^"]+)",\s*([A-Z_0-9]+),\s*([A-Z_]+),\s*([A-Z_]+)\)`) + + var keywords []Keyword + scanner := bufio.NewScanner(r) + + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + + // Skip comments and empty lines + if strings.HasPrefix(line, "//") || strings.HasPrefix(line, "/*") || line == "" { + continue + } + + matches := kwRegex.FindStringSubmatch(line) + if len(matches) == 5 { + keywords = append(keywords, Keyword{ + Name: matches[1], + Token: matches[2], + Category: matches[3], + Label: matches[4], + }) + } + } + + if err := scanner.Err(); err != nil { + return nil, fmt.Errorf("error reading kwlist.h: %w", err) + } + + return keywords, nil +} + +// categorizeKeywords groups keywords by their category +func categorizeKeywords(keywords []Keyword) map[string][]Keyword { + categorized := make(map[string][]Keyword) + + for _, kw := range keywords { + categorized[kw.Category] = append(categorized[kw.Category], kw) + } + + return categorized +} + +// applyTokenRename applies ANTLR reserved name renaming to token names +func applyTokenRename(token string) string { + antlrReservedNames := map[string]bool{ + "SKIP": true, + } + + // Automatically rename ANTLR-reserved tokens + if antlrReservedNames[token] && !strings.HasSuffix(token, "_P") { + return token + "_P" + } + return token +} + +// generateANTLRGrammar generates ANTLR grammar file with keyword rules +func generateANTLRGrammar(categorized map[string][]Keyword, outputPath string) error { + f, err := os.Create(outputPath) + if err != nil { + return fmt.Errorf("failed to create output file: %w", err) + } + defer f.Close() + + w := bufio.NewWriter(f) + defer w.Flush() + + // Write header + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Auto-generated PostgreSQL Keyword Definitions\n") + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Source: PostgreSQL %s kwlist.h\n", PostgreSQLVersion) + fmt.Fprintf(w, "// URL: %s\n", PostgreSQLKwlistURL) + fmt.Fprintf(w, "// Generated: %s\n", time.Now().Format(time.RFC3339)) + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// DO NOT EDIT MANUALLY - This file is generated by keyword-generator\n") + fmt.Fprintf(w, "// To regenerate: cd postgresql && make generate-keywords\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Note: Keywords are defined using string literals (e.g., 'SELECT') rather\n") + fmt.Fprintf(w, "// than token references to avoid token definition errors.\n") + fmt.Fprintf(w, "// ============================================================================\n\n") + + // Write grammar fragment declaration + fmt.Fprintf(w, "parser grammar PostgreSQLKeywords;\n\n") + + // Generate reserved_keyword rule + if keywords := categorized[CategoryReserved]; len(keywords) > 0 { + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Reserved Keywords (%d total)\n", len(keywords)) + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// These keywords cannot be used as identifiers without quoting.\n") + fmt.Fprintf(w, "// They are reserved because they would cause parser conflicts.\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Examples: SELECT, FROM, WHERE, CREATE, AND, OR\n") + fmt.Fprintf(w, "// ============================================================================\n\n") + fmt.Fprintf(w, "reserved_keyword\n") + fmt.Fprintf(w, " : %s\n", applyTokenRename(keywords[0].Token)) + for i := 1; i < len(keywords); i++ { + fmt.Fprintf(w, " | %s\n", applyTokenRename(keywords[i].Token)) + } + fmt.Fprintf(w, " ;\n\n") + } + + // Generate unreserved_keyword rule + if keywords := categorized[CategoryUnreserved]; len(keywords) > 0 { + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Unreserved Keywords (%d total)\n", len(keywords)) + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// These keywords can be used as identifiers in all contexts.\n") + fmt.Fprintf(w, "// They do not cause parser conflicts.\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Examples: ABORT, ACCESS, ACTION, ADMIN, AFTER\n") + fmt.Fprintf(w, "// ============================================================================\n\n") + fmt.Fprintf(w, "unreserved_keyword\n") + fmt.Fprintf(w, " : %s\n", applyTokenRename(keywords[0].Token)) + for i := 1; i < len(keywords); i++ { + fmt.Fprintf(w, " | %s\n", applyTokenRename(keywords[i].Token)) + } + fmt.Fprintf(w, " ;\n\n") + } + + // Generate col_name_keyword rule + if keywords := categorized[CategoryColName]; len(keywords) > 0 { + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Column Name Keywords (%d total)\n", len(keywords)) + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// These keywords can be used as column names but may be restricted elsewhere.\n") + fmt.Fprintf(w, "// Typically these are type names or function names.\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Examples: BETWEEN, BIGINT, BOOLEAN, INT, TIMESTAMP\n") + fmt.Fprintf(w, "// ============================================================================\n\n") + fmt.Fprintf(w, "col_name_keyword\n") + fmt.Fprintf(w, " : %s\n", applyTokenRename(keywords[0].Token)) + for i := 1; i < len(keywords); i++ { + fmt.Fprintf(w, " | %s\n", applyTokenRename(keywords[i].Token)) + } + fmt.Fprintf(w, " ;\n\n") + } + + // Generate type_func_name_keyword rule + if keywords := categorized[CategoryTypeFuncName]; len(keywords) > 0 { + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Type and Function Name Keywords (%d total)\n", len(keywords)) + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// These keywords can be used in type and function name contexts.\n") + fmt.Fprintf(w, "// They may be restricted in other syntactic positions.\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Examples: AUTHORIZATION, BINARY, COLLATION, CROSS, JOIN\n") + fmt.Fprintf(w, "// ============================================================================\n\n") + fmt.Fprintf(w, "type_func_name_keyword\n") + fmt.Fprintf(w, " : %s\n", applyTokenRename(keywords[0].Token)) + for i := 1; i < len(keywords); i++ { + fmt.Fprintf(w, " | %s\n", applyTokenRename(keywords[i].Token)) + } + fmt.Fprintf(w, " ;\n\n") + } + + return nil +} + +// generateLexerTokens generates lexer token definitions for all keywords +func generateLexerTokens(keywords []Keyword, outputPath string) error { + f, err := os.Create(outputPath) + if err != nil { + return fmt.Errorf("failed to create output file: %w", err) + } + defer f.Close() + + w := bufio.NewWriter(f) + defer w.Flush() + + // ANTLR reserved names that cannot be used as token names + antlrReservedNames := map[string]bool{ + "SKIP": true, + } + + // Write header + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Auto-generated PostgreSQL Keyword Lexer Tokens\n") + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// Source: PostgreSQL %s kwlist.h\n", PostgreSQLVersion) + fmt.Fprintf(w, "// URL: %s\n", PostgreSQLKwlistURL) + fmt.Fprintf(w, "// Generated: %s\n", time.Now().Format(time.RFC3339)) + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// DO NOT EDIT MANUALLY - This file is generated by keyword-generator\n") + fmt.Fprintf(w, "// To regenerate: cd postgresql && make generate-keywords\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// This file contains all keyword token definitions from PostgreSQL's kwlist.h.\n") + fmt.Fprintf(w, "// Import this into PostgreSQLLexer.g4 to use these tokens.\n") + fmt.Fprintf(w, "//\n") + fmt.Fprintf(w, "// NOTE: Some token names are automatically renamed to avoid ANTLR conflicts:\n") + fmt.Fprintf(w, "// - SKIP → SKIP_P (SKIP is ANTLR-reserved for skip channel)\n") + fmt.Fprintf(w, "// ============================================================================\n\n") + + // Write lexer grammar declaration + fmt.Fprintf(w, "lexer grammar PostgreSQLKeywordsLexer;\n\n") + + // Track renamed tokens for documentation + var renamedTokens []struct { + original string + renamed string + keyword string + } + + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Keyword Tokens (%d total)\n", len(keywords)) + fmt.Fprintf(w, "// ============================================================================\n\n") + + // Generate token definitions for all keywords + for _, kw := range keywords { + tokenName := kw.Token + + // Automatically rename ANTLR-reserved tokens + if antlrReservedNames[kw.Token] && !strings.HasSuffix(kw.Token, "_P") { + tokenName = kw.Token + "_P" + renamedTokens = append(renamedTokens, struct { + original string + renamed string + keyword string + }{kw.Token, tokenName, kw.Name}) + } + + fmt.Fprintf(w, "%s\n", tokenName) + fmt.Fprintf(w, " : '%s'\n", strings.ToUpper(kw.Name)) + fmt.Fprintf(w, " ;\n\n") + } + + // Document renamed tokens if any + if len(renamedTokens) > 0 { + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// Automatically Renamed Tokens (ANTLR Compatibility)\n") + fmt.Fprintf(w, "// ============================================================================\n") + fmt.Fprintf(w, "// The following tokens were renamed to avoid ANTLR reserved name conflicts:\n") + fmt.Fprintf(w, "//\n") + for _, r := range renamedTokens { + fmt.Fprintf(w, "// %s → %s (keyword: '%s')\n", r.original, r.renamed, r.keyword) + } + fmt.Fprintf(w, "// ============================================================================\n") + } + + return nil +} + +// updateLexerWithKeywords updates PostgreSQLLexer.g4 with keyword definitions between markers +func updateLexerWithKeywords(keywords []Keyword, lexerPath string) error { + // Read the existing lexer file + content, err := os.ReadFile(lexerPath) + if err != nil { + return fmt.Errorf("failed to read lexer file: %w", err) + } + + lexerContent := string(content) + + // Find the marker positions + beginMarker := "// BEGIN AUTO-GENERATED KEYWORDS" + endMarker := "// END AUTO-GENERATED KEYWORDS" + + beginIndex := strings.Index(lexerContent, beginMarker) + endIndex := strings.Index(lexerContent, endMarker) + + if beginIndex == -1 || endIndex == -1 { + return fmt.Errorf("markers not found in lexer file (BEGIN: %d, END: %d)", beginIndex, endIndex) + } + + // Find the end of the BEGIN marker line + beginLineEnd := strings.Index(lexerContent[beginIndex:], "\n") + if beginLineEnd == -1 { + return fmt.Errorf("invalid marker format") + } + insertStart := beginIndex + beginLineEnd + 1 + + // Build the keyword definitions + var builder strings.Builder + builder.WriteString("//\n") + builder.WriteString(fmt.Sprintf("// Source: PostgreSQL %s kwlist.h\n", PostgreSQLVersion)) + builder.WriteString(fmt.Sprintf("// URL: %s\n", PostgreSQLKwlistURL)) + builder.WriteString(fmt.Sprintf("// Generated: %s\n", time.Now().Format(time.RFC3339))) + builder.WriteString(fmt.Sprintf("// Total Keywords: %d\n", len(keywords))) + builder.WriteString("//\n") + builder.WriteString("// NOTE: These keyword rules must appear BEFORE the Identifier rule\n") + builder.WriteString("// to ensure keywords are matched with higher priority than identifiers.\n") + builder.WriteString("//\n\n") + + // Track renamed tokens + antlrReservedNames := map[string]bool{ + "SKIP": true, + } + var renamedTokens []struct { + original string + renamed string + keyword string + } + + // Generate token definitions for all keywords + for _, kw := range keywords { + tokenName := kw.Token + + // Automatically rename ANTLR-reserved tokens + if antlrReservedNames[kw.Token] && !strings.HasSuffix(kw.Token, "_P") { + tokenName = kw.Token + "_P" + renamedTokens = append(renamedTokens, struct { + original string + renamed string + keyword string + }{kw.Token, tokenName, kw.Name}) + } + + builder.WriteString(fmt.Sprintf("%s\n", tokenName)) + builder.WriteString(fmt.Sprintf(" : '%s'\n", strings.ToUpper(kw.Name))) + builder.WriteString(" ;\n\n") + } + + // Document renamed tokens if any + if len(renamedTokens) > 0 { + builder.WriteString("// ============================================================================\n") + builder.WriteString("// Automatically Renamed Tokens (ANTLR Compatibility)\n") + builder.WriteString("// ============================================================================\n") + builder.WriteString("// The following tokens were renamed to avoid ANTLR reserved name conflicts:\n") + builder.WriteString("//\n") + for _, r := range renamedTokens { + builder.WriteString(fmt.Sprintf("// %s → %s (keyword: '%s')\n", r.original, r.renamed, r.keyword)) + } + builder.WriteString("// ============================================================================\n\n") + } + + // Reconstruct the file + newContent := lexerContent[:insertStart] + builder.String() + lexerContent[endIndex:] + + // Write the updated content back + err = os.WriteFile(lexerPath, []byte(newContent), 0644) + if err != nil { + return fmt.Errorf("failed to write lexer file: %w", err) + } + + return nil +} diff --git a/postgresql/postgresql_lexer.go b/postgresql/postgresql_lexer.go index 7e17dc9..8cc9437 100644 --- a/postgresql/postgresql_lexer.go +++ b/postgresql/postgresql_lexer.go @@ -44,352 +44,300 @@ func postgresqllexerLexerInit() { "AfterEscapeStringConstantWithNewlineMode", "DollarQuotedStringMode", } staticData.LiteralNames = []string{ - "", "'$'", "'('", "')'", "'['", "']'", "','", "';'", "':'", "'*'", "'='", - "'.'", "'+'", "'-'", "'/'", "'^'", "'<'", "'>'", "'<<'", "'>>'", "':='", - "'<='", "'=>'", "'>='", "'..'", "'<>'", "'::'", "'%'", "", "", "'ALL'", + "", "'ABORT'", "'ABSENT'", "'ABSOLUTE'", "'ACCESS'", "'ACTION'", "'ADD'", + "'ADMIN'", "'AFTER'", "'AGGREGATE'", "'ALL'", "'ALSO'", "'ALTER'", "'ALWAYS'", "'ANALYSE'", "'ANALYZE'", "'AND'", "'ANY'", "'ARRAY'", "'AS'", "'ASC'", - "'ASYMMETRIC'", "'BOTH'", "'CASE'", "'CAST'", "'CHECK'", "'COLLATE'", - "'COLUMN'", "'CONSTRAINT'", "'CREATE'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", - "'CURRENT_ROLE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", - "'DEFAULT'", "'DEFERRABLE'", "'DESC'", "'DISTINCT'", "'DO'", "'ELSE'", - "'EXCEPT'", "'FALSE'", "'FETCH'", "'FOR'", "'FOREIGN'", "'FROM'", "'GRANT'", - "'GROUP'", "'HAVING'", "'IN'", "'INITIALLY'", "'INTERSECT'", "'INTO'", - "'LATERAL'", "'LEADING'", "'LIMIT'", "'LOCALTIME'", "'LOCALTIMESTAMP'", - "'NOT'", "'NULL'", "'OFFSET'", "'ON'", "'ONLY'", "'OR'", "'ORDER'", - "'PLACING'", "'PRIMARY'", "'REFERENCES'", "'RETURNING'", "'SELECT'", - "'SESSION_USER'", "'SOME'", "'SYMMETRIC'", "'TABLE'", "'THEN'", "'TO'", - "'TRAILING'", "'TRUE'", "'UNION'", "'UNIQUE'", "'USER'", "'USING'", - "'VARIADIC'", "'WHEN'", "'WHERE'", "'WINDOW'", "'WITH'", "'JSON_OBJECT'", - "'JSON_ARRAY'", "'JSON'", "'JSON_SCALAR'", "'JSON_SERIALIZE'", "'MERGE_ACTION'", - "'JSON_QUERY'", "'JSON_EXISTS'", "'JSON_VALUE'", "'EMPTY'", "'KEEP'", - "'OMIT'", "'SCALAR'", "'STRING'", "'CONDITIONAL'", "'UNCONDITIONAL'", - "'KEYS'", "'ABSENT'", "'QUOTES'", "'AUTHORIZATION'", "'BINARY'", "'COLLATION'", - "'CONCURRENTLY'", "'CROSS'", "'CURRENT_SCHEMA'", "'FREEZE'", "'FULL'", - "'ILIKE'", "'INNER'", "'IS'", "'ISNULL'", "'JOIN'", "'LEFT'", "'LIKE'", - "'NATURAL'", "'NOTNULL'", "'OUTER'", "'OVER'", "'OVERLAPS'", "'RIGHT'", - "'SIMILAR'", "'VERBOSE'", "'ABORT'", "'ABSOLUTE'", "'ACCESS'", "'ACTION'", - "'ADD'", "'ADMIN'", "'AFTER'", "'AGGREGATE'", "'ALSO'", "'ALTER'", "'ALWAYS'", - "'ASSERTION'", "'ASSIGNMENT'", "'AT'", "'ATTRIBUTE'", "'BACKWARD'", - "'BEFORE'", "'BEGIN'", "'BY'", "'CACHE'", "'CALLED'", "'CASCADE'", "'CASCADED'", - "'CATALOG'", "'CHAIN'", "'CHARACTERISTICS'", "'CHECKPOINT'", "'CLASS'", - "'CLOSE'", "'CLUSTER'", "'COMMENT'", "'COMMENTS'", "'COMMIT'", "'COMMITTED'", - "'CONFIGURATION'", "'CONNECTION'", "'CONSTRAINTS'", "'CONTENT'", "'CONTINUE'", - "'CONVERSION'", "'COPY'", "'COST'", "'CSV'", "'CURSOR'", "'CYCLE'", - "'DATA'", "'DATABASE'", "'DAY'", "'DEALLOCATE'", "'DECLARE'", "'DEFAULTS'", - "'DEFERRED'", "'DEFINER'", "'DELETE'", "'DELIMITER'", "'DELIMITERS'", - "'DICTIONARY'", "'DISABLE'", "'DISCARD'", "'DOCUMENT'", "'DOMAIN'", - "'DOUBLE'", "'DROP'", "'EACH'", "'ENABLE'", "'ENCODING'", "'ENCRYPTED'", - "'ENUM'", "'ESCAPE'", "'EVENT'", "'EXCLUDE'", "'EXCLUDING'", "'EXCLUSIVE'", - "'EXECUTE'", "'EXPLAIN'", "'EXTENSION'", "'EXTERNAL'", "'FAMILY'", "'FIRST'", - "'FOLLOWING'", "'FORCE'", "'FORWARD'", "'FUNCTION'", "'FUNCTIONS'", - "'GLOBAL'", "'GRANTED'", "'HANDLER'", "'HEADER'", "'HOLD'", "'HOUR'", - "'IDENTITY'", "'IF'", "'IMMEDIATE'", "'IMMUTABLE'", "'IMPLICIT'", "'INCLUDING'", - "'INCREMENT'", "'INDEX'", "'INDEXES'", "'INHERIT'", "'INHERITS'", "'INLINE'", - "'INSENSITIVE'", "'INSERT'", "'INSTEAD'", "'INVOKER'", "'ISOLATION'", - "'KEY'", "'LABEL'", "'LANGUAGE'", "'LARGE'", "'LAST'", "'LEAKPROOF'", - "'LEVEL'", "'LISTEN'", "'LOAD'", "'LOCAL'", "'LOCATION'", "'LOCK'", - "'MAPPING'", "'MATCH'", "'MATCHED'", "'MATERIALIZED'", "'MAXVALUE'", - "'MERGE'", "'MINUTE'", "'MINVALUE'", "'MODE'", "'MONTH'", "'MOVE'", - "'NAME'", "'NAMES'", "'NEXT'", "'NO'", "'NOTHING'", "'NOTIFY'", "'NOWAIT'", - "'NULLS'", "'OBJECT'", "'OF'", "'OFF'", "'OIDS'", "'OPERATOR'", "'OPTION'", - "'OPTIONS'", "'OWNED'", "'OWNER'", "'PARSER'", "'PARTIAL'", "'PARTITION'", - "'PASSING'", "'PASSWORD'", "'PLANS'", "'PRECEDING'", "'PREPARE'", "'PREPARED'", - "'PRESERVE'", "'PRIOR'", "'PRIVILEGES'", "'PROCEDURAL'", "'PROCEDURE'", - "'PROGRAM'", "'QUOTE'", "'RANGE'", "'READ'", "'REASSIGN'", "'RECHECK'", - "'RECURSIVE'", "'REF'", "'REFRESH'", "'REINDEX'", "'RELATIVE'", "'RELEASE'", - "'RENAME'", "'REPEATABLE'", "'REPLACE'", "'REPLICA'", "'RESET'", "'RESTART'", - "'RESTRICT'", "'RETURNS'", "'REVOKE'", "'ROLE'", "'ROLLBACK'", "'ROWS'", - "'RULE'", "'SAVEPOINT'", "'SCHEMA'", "'SCROLL'", "'SEARCH'", "'SECOND'", - "'SECURITY'", "'SEQUENCE'", "'SEQUENCES'", "'SERIALIZABLE'", "'SERVER'", - "'SESSION'", "'SET'", "'SHARE'", "'SHOW'", "'SIMPLE'", "'SNAPSHOT'", - "'STABLE'", "'STANDALONE'", "'START'", "'STATEMENT'", "'STATISTICS'", - "'STDIN'", "'STDOUT'", "'STORAGE'", "'STRICT'", "'STRIP'", "'SYSID'", - "'SYSTEM'", "'TABLES'", "'TABLESPACE'", "'TEMP'", "'TEMPLATE'", "'TEMPORARY'", - "'TEXT'", "'TRANSACTION'", "'TRIGGER'", "'TRUNCATE'", "'TRUSTED'", "'TYPE'", - "'TYPES'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNENCRYPTED'", "'UNKNOWN'", - "'UNLISTEN'", "'UNLOGGED'", "'UNTIL'", "'UPDATE'", "'VACUUM'", "'VALID'", - "'VALIDATE'", "'VALIDATOR'", "'VARYING'", "'VERSION'", "'VIEW'", "'VOLATILE'", - "'WHITESPACE'", "'WITHOUT'", "'WORK'", "'WRAPPER'", "'WRITE'", "'XML'", - "'YEAR'", "'YES'", "'ZONE'", "'ATOMIC'", "'BETWEEN'", "'BIGINT'", "'BIT'", - "'BOOLEAN'", "'CHAR'", "'CHARACTER'", "'COALESCE'", "'DEC'", "'DECIMAL'", - "'EXISTS'", "'EXTRACT'", "'FLOAT'", "'GREATEST'", "'INOUT'", "'INT'", - "'INTEGER'", "'INTERVAL'", "'LEAST'", "'NATIONAL'", "'NCHAR'", "'NONE'", - "'NULLIF'", "'NUMERIC'", "'OVERLAY'", "'PARAMETER'", "'POSITION'", "'PRECISION'", - "'REAL'", "'ROW'", "'SETOF'", "'SMALLINT'", "'SUBSTRING'", "'TIME'", - "'TIMESTAMP'", "'TREAT'", "'TRIM'", "'VALUES'", "'VARCHAR'", "'XMLATTRIBUTES'", - "'XMLCOMMENT'", "'XMLAGG'", "'XML_IS_WELL_FORMED'", "'XML_IS_WELL_FORMED_DOCUMENT'", - "'XML_IS_WELL_FORMED_CONTENT'", "'XPATH'", "'XPATH_EXISTS'", "'XMLCONCAT'", - "'XMLELEMENT'", "'XMLEXISTS'", "'XMLFOREST'", "'XMLPARSE'", "'XMLPI'", - "'XMLROOT'", "'XMLSERIALIZE'", "'CALL'", "'CURRENT'", "'ATTACH'", "'DETACH'", - "'EXPRESSION'", "'GENERATED'", "'LOGGED'", "'STORED'", "'INCLUDE'", - "'ROUTINE'", "'TRANSFORM'", "'IMPORT'", "'POLICY'", "'METHOD'", "'REFERENCING'", - "'NEW'", "'OLD'", "'VALUE'", "'SUBSCRIPTION'", "'PUBLICATION'", "'OUT'", - "'END'", "'ROUTINES'", "'SCHEMAS'", "'PROCEDURES'", "'INPUT'", "'SUPPORT'", - "'PARALLEL'", "'SQL'", "'DEPENDS'", "'OVERRIDING'", "'CONFLICT'", "'SKIP'", - "'LOCKED'", "'TIES'", "'ROLLUP'", "'CUBE'", "'GROUPING'", "'SETS'", - "'TABLESAMPLE'", "'ORDINALITY'", "'XMLTABLE'", "'COLUMNS'", "'XMLNAMESPACES'", - "'ROWTYPE'", "'NORMALIZED'", "'WITHIN'", "'FILTER'", "'GROUPS'", "'OTHERS'", - "'NFC'", "'NFD'", "'NFKC'", "'NFKD'", "'UESCAPE'", "'VIEWS'", "'NORMALIZE'", - "'DUMP'", "'PRINT_STRICT_PARAMS'", "'VARIABLE_CONFLICT'", "'ERROR'", + "'ASENSITIVE'", "'ASSERTION'", "'ASSIGNMENT'", "'ASYMMETRIC'", "'AT'", + "'ATOMIC'", "'ATTACH'", "'ATTRIBUTE'", "'AUTHORIZATION'", "'BACKWARD'", + "'BEFORE'", "'BEGIN'", "'BETWEEN'", "'BIGINT'", "'BINARY'", "'BIT'", + "'BOOLEAN'", "'BOTH'", "'BREADTH'", "'BY'", "'CACHE'", "'CALL'", "'CALLED'", + "'CASCADE'", "'CASCADED'", "'CASE'", "'CAST'", "'CATALOG'", "'CHAIN'", + "'CHAR'", "'CHARACTER'", "'CHARACTERISTICS'", "'CHECK'", "'CHECKPOINT'", + "'CLASS'", "'CLOSE'", "'CLUSTER'", "'COALESCE'", "'COLLATE'", "'COLLATION'", + "'COLUMN'", "'COLUMNS'", "'COMMENT'", "'COMMENTS'", "'COMMIT'", "'COMMITTED'", + "'COMPRESSION'", "'CONCURRENTLY'", "'CONDITIONAL'", "'CONFIGURATION'", + "'CONFLICT'", "'CONNECTION'", "'CONSTRAINT'", "'CONSTRAINTS'", "'CONTENT'", + "'CONTINUE'", "'CONVERSION'", "'COPY'", "'COST'", "'CREATE'", "'CROSS'", + "'CSV'", "'CUBE'", "'CURRENT'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", + "'CURRENT_ROLE'", "'CURRENT_SCHEMA'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", + "'CURRENT_USER'", "'CURSOR'", "'CYCLE'", "'DATA'", "'DATABASE'", "'DAY'", + "'DEALLOCATE'", "'DEC'", "'DECIMAL'", "'DECLARE'", "'DEFAULT'", "'DEFAULTS'", + "'DEFERRABLE'", "'DEFERRED'", "'DEFINER'", "'DELETE'", "'DELIMITER'", + "'DELIMITERS'", "'DEPENDS'", "'DEPTH'", "'DESC'", "'DETACH'", "'DICTIONARY'", + "'DISABLE'", "'DISCARD'", "'DISTINCT'", "'DO'", "'DOCUMENT'", "'DOMAIN'", + "'DOUBLE'", "'DROP'", "'EACH'", "'ELSE'", "'EMPTY'", "'ENABLE'", "'ENCODING'", + "'ENCRYPTED'", "'END'", "'ENFORCED'", "'ENUM'", "'ERROR'", "'ESCAPE'", + "'EVENT'", "'EXCEPT'", "'EXCLUDE'", "'EXCLUDING'", "'EXCLUSIVE'", "'EXECUTE'", + "'EXISTS'", "'EXPLAIN'", "'EXPRESSION'", "'EXTENSION'", "'EXTERNAL'", + "'EXTRACT'", "'FALSE'", "'FAMILY'", "'FETCH'", "'FILTER'", "'FINALIZE'", + "'FIRST'", "'FLOAT'", "'FOLLOWING'", "'FOR'", "'FORCE'", "'FOREIGN'", + "'FORMAT'", "'FORWARD'", "'FREEZE'", "'FROM'", "'FULL'", "'FUNCTION'", + "'FUNCTIONS'", "'GENERATED'", "'GLOBAL'", "'GRANT'", "'GRANTED'", "'GREATEST'", + "'GROUP'", "'GROUPING'", "'GROUPS'", "'HANDLER'", "'HAVING'", "'HEADER'", + "'HOLD'", "'HOUR'", "'IDENTITY'", "'IF'", "'ILIKE'", "'IMMEDIATE'", + "'IMMUTABLE'", "'IMPLICIT'", "'IMPORT'", "'IN'", "'INCLUDE'", "'INCLUDING'", + "'INCREMENT'", "'INDENT'", "'INDEX'", "'INDEXES'", "'INHERIT'", "'INHERITS'", + "'INITIALLY'", "'INLINE'", "'INNER'", "'INOUT'", "'INPUT'", "'INSENSITIVE'", + "'INSERT'", "'INSTEAD'", "'INT'", "'INTEGER'", "'INTERSECT'", "'INTERVAL'", + "'INTO'", "'INVOKER'", "'IS'", "'ISNULL'", "'ISOLATION'", "'JOIN'", + "'JSON'", "'JSON_ARRAY'", "'JSON_ARRAYAGG'", "'JSON_EXISTS'", "'JSON_OBJECT'", + "'JSON_OBJECTAGG'", "'JSON_QUERY'", "'JSON_SCALAR'", "'JSON_SERIALIZE'", + "'JSON_TABLE'", "'JSON_VALUE'", "'KEEP'", "'KEY'", "'KEYS'", "'LABEL'", + "'LANGUAGE'", "'LARGE'", "'LAST'", "'LATERAL'", "'LEADING'", "'LEAKPROOF'", + "'LEAST'", "'LEFT'", "'LEVEL'", "'LIKE'", "'LIMIT'", "'LISTEN'", "'LOAD'", + "'LOCAL'", "'LOCALTIME'", "'LOCALTIMESTAMP'", "'LOCATION'", "'LOCK'", + "'LOCKED'", "'LOGGED'", "'MAPPING'", "'MATCH'", "'MATCHED'", "'MATERIALIZED'", + "'MAXVALUE'", "'MERGE'", "'MERGE_ACTION'", "'METHOD'", "'MINUTE'", "'MINVALUE'", + "'MODE'", "'MONTH'", "'MOVE'", "'NAME'", "'NAMES'", "'NATIONAL'", "'NATURAL'", + "'NCHAR'", "'NESTED'", "'NEW'", "'NEXT'", "'NFC'", "'NFD'", "'NFKC'", + "'NFKD'", "'NO'", "'NONE'", "'NORMALIZE'", "'NORMALIZED'", "'NOT'", + "'NOTHING'", "'NOTIFY'", "'NOTNULL'", "'NOWAIT'", "'NULL'", "'NULLIF'", + "'NULLS'", "'NUMERIC'", "'OBJECT'", "'OBJECTS'", "'OF'", "'OFF'", "'OFFSET'", + "'OIDS'", "'OLD'", "'OMIT'", "'ON'", "'ONLY'", "'OPERATOR'", "'OPTION'", + "'OPTIONS'", "'OR'", "'ORDER'", "'ORDINALITY'", "'OTHERS'", "'OUT'", + "'OUTER'", "'OVER'", "'OVERLAPS'", "'OVERLAY'", "'OVERRIDING'", "'OWNED'", + "'OWNER'", "'PARALLEL'", "'PARAMETER'", "'PARSER'", "'PARTIAL'", "'PARTITION'", + "'PASSING'", "'PASSWORD'", "'PATH'", "'PERIOD'", "'PLACING'", "'PLAN'", + "'PLANS'", "'POLICY'", "'POSITION'", "'PRECEDING'", "'PRECISION'", "'PREPARE'", + "'PREPARED'", "'PRESERVE'", "'PRIMARY'", "'PRIOR'", "'PRIVILEGES'", + "'PROCEDURAL'", "'PROCEDURE'", "'PROCEDURES'", "'PROGRAM'", "'PUBLICATION'", + "'QUOTE'", "'QUOTES'", "'RANGE'", "'READ'", "'REAL'", "'REASSIGN'", + "'RECURSIVE'", "'REF'", "'REFERENCES'", "'REFERENCING'", "'REFRESH'", + "'REINDEX'", "'RELATIVE'", "'RELEASE'", "'RENAME'", "'REPEATABLE'", + "'REPLACE'", "'REPLICA'", "'RESET'", "'RESTART'", "'RESTRICT'", "'RETURN'", + "'RETURNING'", "'RETURNS'", "'REVOKE'", "'RIGHT'", "'ROLE'", "'ROLLBACK'", + "'ROLLUP'", "'ROUTINE'", "'ROUTINES'", "'ROW'", "'ROWS'", "'RULE'", + "'SAVEPOINT'", "'SCALAR'", "'SCHEMA'", "'SCHEMAS'", "'SCROLL'", "'SEARCH'", + "'SECOND'", "'SECURITY'", "'SELECT'", "'SEQUENCE'", "'SEQUENCES'", "'SERIALIZABLE'", + "'SERVER'", "'SESSION'", "'SESSION_USER'", "'SET'", "'SETOF'", "'SETS'", + "'SHARE'", "'SHOW'", "'SIMILAR'", "'SIMPLE'", "'SKIP'", "'SMALLINT'", + "'SNAPSHOT'", "'SOME'", "'SOURCE'", "'SQL'", "'STABLE'", "'STANDALONE'", + "'START'", "'STATEMENT'", "'STATISTICS'", "'STDIN'", "'STDOUT'", "'STORAGE'", + "'STORED'", "'STRICT'", "'STRING'", "'STRIP'", "'SUBSCRIPTION'", "'SUBSTRING'", + "'SUPPORT'", "'SYMMETRIC'", "'SYSID'", "'SYSTEM'", "'SYSTEM_USER'", + "'TABLE'", "'TABLES'", "'TABLESAMPLE'", "'TABLESPACE'", "'TARGET'", + "'TEMP'", "'TEMPLATE'", "'TEMPORARY'", "'TEXT'", "'THEN'", "'TIES'", + "'TIME'", "'TIMESTAMP'", "'TO'", "'TRAILING'", "'TRANSACTION'", "'TRANSFORM'", + "'TREAT'", "'TRIGGER'", "'TRIM'", "'TRUE'", "'TRUNCATE'", "'TRUSTED'", + "'TYPE'", "'TYPES'", "'UESCAPE'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNCONDITIONAL'", + "'UNENCRYPTED'", "'UNION'", "'UNIQUE'", "'UNKNOWN'", "'UNLISTEN'", "'UNLOGGED'", + "'UNTIL'", "'UPDATE'", "'USER'", "'USING'", "'VACUUM'", "'VALID'", "'VALIDATE'", + "'VALIDATOR'", "'VALUE'", "'VALUES'", "'VARCHAR'", "'VARIADIC'", "'VARYING'", + "'VERBOSE'", "'VERSION'", "'VIEW'", "'VIEWS'", "'VIRTUAL'", "'VOLATILE'", + "'WHEN'", "'WHERE'", "'WHITESPACE'", "'WINDOW'", "'WITH'", "'WITHIN'", + "'WITHOUT'", "'WORK'", "'WRAPPER'", "'WRITE'", "'XML'", "'XMLATTRIBUTES'", + "'XMLCONCAT'", "'XMLELEMENT'", "'XMLEXISTS'", "'XMLFOREST'", "'XMLNAMESPACES'", + "'XMLPARSE'", "'XMLPI'", "'XMLROOT'", "'XMLSERIALIZE'", "'XMLTABLE'", + "'YEAR'", "'YES'", "'ZONE'", "'$'", "'('", "')'", "'['", "']'", "','", + "';'", "':'", "'*'", "'='", "'.'", "'+'", "'-'", "'/'", "'^'", "'<'", + "'>'", "'<<'", "'>>'", "':='", "'<='", "'=>'", "'>='", "'..'", "'<>'", + "'::'", "'%'", "", "", "'RECHECK'", "'XMLCOMMENT'", "'XMLAGG'", "'XML_IS_WELL_FORMED'", + "'XML_IS_WELL_FORMED_DOCUMENT'", "'XML_IS_WELL_FORMED_CONTENT'", "'XPATH'", + "'XPATH_EXISTS'", "'ROWTYPE'", "'DUMP'", "'PRINT_STRICT_PARAMS'", "'VARIABLE_CONFLICT'", "'USE_VARIABLE'", "'USE_COLUMN'", "'ALIAS'", "'CONSTANT'", "'PERFORM'", "'GET'", "'DIAGNOSTICS'", "'STACKED'", "'ELSIF'", "'WHILE'", "'REVERSE'", - "'FOREACH'", "'SLICE'", "'EXIT'", "'RETURN'", "'QUERY'", "'RAISE'", - "'SQLSTATE'", "'DEBUG'", "'LOG'", "'INFO'", "'NOTICE'", "'WARNING'", - "'EXCEPTION'", "'ASSERT'", "'LOOP'", "'OPEN'", "'ABS'", "'CBRT'", "'CEIL'", - "'CEILING'", "'DEGREES'", "'DIV'", "'EXP'", "'FACTORIAL'", "'FLOOR'", - "'GCD'", "'LCM'", "'LN'", "'LOG10'", "'MIN_SCALE'", "'MOD'", "'PI'", - "'POWER'", "'RADIANS'", "'ROUND'", "'SCALE'", "'SIGN'", "'SQRT'", "'TRIM_SCALE'", - "'TRUNC'", "'WIDTH_BUCKET'", "'RANDOM'", "'SETSEED'", "'ACOS'", "'ACOSD'", - "'ASIN'", "'ASIND'", "'ATAN'", "'ATAND'", "'ATAN2'", "'ATAN2D'", "'COS'", - "'COSD'", "'COT'", "'COTD'", "'SIN'", "'SIND'", "'TAN'", "'TAND'", "'SINH'", - "'COSH'", "'TANH'", "'ASINH'", "'ACOSH'", "'ATANH'", "'BIT_LENGTH'", - "'CHAR_LENGTH'", "'CHARACTER_LENGTH'", "'LOWER'", "'OCTET_LENGTH'", - "'UPPER'", "'ASCII'", "'BTRIM'", "'CHR'", "'CONCAT'", "'CONCAT_WS'", - "'FORMAT'", "'INITCAP'", "'LENGTH'", "'LPAD'", "'LTRIM'", "'MD5'", "'PARSE_IDENT'", - "'PG_CLIENT_ENCODING'", "'QUOTE_IDENT'", "'QUOTE_LITERAL'", "'QUOTE_NULLABLE'", - "'REGEXP_COUNT'", "'REGEXP_INSTR'", "'REGEXP_LIKE'", "'REGEXP_MATCH'", - "'REGEXP_MATCHES'", "'REGEXP_REPLACE'", "'REGEXP_SPLIT_TO_ARRAY'", "'REGEXP_SPLIT_TO_TABLE'", - "'REGEXP_SUBSTR'", "'REPEAT'", "'RPAD'", "'RTRIM'", "'SPLIT_PART'", - "'STARTS_WITH'", "'STRING_TO_ARRAY'", "'STRING_TO_TABLE'", "'STRPOS'", - "'SUBSTR'", "'TO_ASCII'", "'TO_HEX'", "'TRANSLATE'", "'UNISTR'", "'AGE'", - "'CLOCK_TIMESTAMP'", "'DATE_BIN'", "'DATE_PART'", "'DATE_TRUNC'", "'ISFINITE'", - "'JUSTIFY_DAYS'", "'JUSTIFY_HOURS'", "'JUSTIFY_INTERVAL'", "'MAKE_DATE'", - "'MAKE_INTERVAL'", "'MAKE_TIME'", "'MAKE_TIMESTAMP'", "'MAKE_TIMESTAMPTZ'", - "'NOW'", "'STATEMENT_TIMESTAMP'", "'TIMEOFDAY'", "'TRANSACTION_TIMESTAMP'", - "'TO_TIMESTAMP'", "'TO_CHAR'", "'TO_DATE'", "'TO_NUMBER'", "'ENCODE'", - "'DISTKEY'", "'SORTKEY'", "'CASE_SENSITIVE'", "'CASE_INSENSITIVE'", - "'JSON_ARRAYAGG'", "'JSON_OBJECTAGG'", "", "", "", "", "", "", "", "", + "'FOREACH'", "'SLICE'", "'EXIT'", "'QUERY'", "'RAISE'", "'SQLSTATE'", + "'DEBUG'", "'LOG'", "'INFO'", "'NOTICE'", "'WARNING'", "'EXCEPTION'", + "'ASSERT'", "'LOOP'", "'OPEN'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", "'\\\\'", "", "", "", "", "", "", "", - "", "", "'''", + "", "", "", "", "", "", "", "'\\\\'", "", "", "", "", "", "", "", "", + "", "'''", } staticData.SymbolicNames = []string{ - "", "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", "CLOSE_BRACKET", - "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", "MINUS", "SLASH", - "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", "COLON_EQUALS", - "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", "NOT_EQUALS", - "TYPECAST", "PERCENT", "PARAM", "Operator", "ALL", "ANALYSE", "ANALYZE", - "AND", "ANY", "ARRAY", "AS", "ASC", "ASYMMETRIC", "BOTH", "CASE", "CAST", - "CHECK", "COLLATE", "COLUMN", "CONSTRAINT", "CREATE", "CURRENT_CATALOG", - "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "CURRENT_USER", "DEFAULT", "DEFERRABLE", "DESC", "DISTINCT", "DO", "ELSE", - "EXCEPT", "FALSE_P", "FETCH", "FOR", "FOREIGN", "FROM", "GRANT", "GROUP_P", - "HAVING", "IN_P", "INITIALLY", "INTERSECT", "INTO", "LATERAL_P", "LEADING", - "LIMIT", "LOCALTIME", "LOCALTIMESTAMP", "NOT", "NULL_P", "OFFSET", "ON", - "ONLY", "OR", "ORDER", "PLACING", "PRIMARY", "REFERENCES", "RETURNING", - "SELECT", "SESSION_USER", "SOME", "SYMMETRIC", "TABLE", "THEN", "TO", - "TRAILING", "TRUE_P", "UNION", "UNIQUE", "USER", "USING", "VARIADIC", - "WHEN", "WHERE", "WINDOW", "WITH", "JSON_OBJECT", "JSON_ARRAY", "JSON", - "JSON_SCALAR", "JSON_SERIALIZE", "MERGE_ACTION", "JSON_QUERY", "JSON_EXISTS", - "JSON_VALUE", "EMPTY", "KEEP", "OMIT", "SCALAR", "STRING", "CONDITIONAL", - "UNCONDITIONAL", "KEYS", "ABSENT", "QUOTES", "AUTHORIZATION", "BINARY", - "COLLATION", "CONCURRENTLY", "CROSS", "CURRENT_SCHEMA", "FREEZE", "FULL", - "ILIKE", "INNER_P", "IS", "ISNULL", "JOIN", "LEFT", "LIKE", "NATURAL", - "NOTNULL", "OUTER_P", "OVER", "OVERLAPS", "RIGHT", "SIMILAR", "VERBOSE", - "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", - "AGGREGATE", "ALSO", "ALTER", "ALWAYS", "ASSERTION", "ASSIGNMENT", "AT", - "ATTRIBUTE", "BACKWARD", "BEFORE", "BEGIN_P", "BY", "CACHE", "CALLED", - "CASCADE", "CASCADED", "CATALOG", "CHAIN", "CHARACTERISTICS", "CHECKPOINT", - "CLASS", "CLOSE", "CLUSTER", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", - "CONFIGURATION", "CONNECTION", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", - "CONVERSION_P", "COPY", "COST", "CSV", "CURSOR", "CYCLE", "DATA_P", - "DATABASE", "DAY_P", "DEALLOCATE", "DECLARE", "DEFAULTS", "DEFERRED", - "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DICTIONARY", "DISABLE_P", - "DISCARD", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ENABLE_P", - "ENCODING", "ENCRYPTED", "ENUM_P", "ESCAPE", "EVENT", "EXCLUDE", "EXCLUDING", - "EXCLUSIVE", "EXECUTE", "EXPLAIN", "EXTENSION", "EXTERNAL", "FAMILY", - "FIRST_P", "FOLLOWING", "FORCE", "FORWARD", "FUNCTION", "FUNCTIONS", - "GLOBAL", "GRANTED", "HANDLER", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", - "IF_P", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "INCLUDING", "INCREMENT", - "INDEX", "INDEXES", "INHERIT", "INHERITS", "INLINE_P", "INSENSITIVE", - "INSERT", "INSTEAD", "INVOKER", "ISOLATION", "KEY", "LABEL", "LANGUAGE", - "LARGE_P", "LAST_P", "LEAKPROOF", "LEVEL", "LISTEN", "LOAD", "LOCAL", - "LOCATION", "LOCK_P", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", - "MAXVALUE", "MERGE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", - "NAME_P", "NAMES", "NEXT", "NO", "NOTHING", "NOTIFY", "NOWAIT", "NULLS_P", - "OBJECT_P", "OF", "OFF", "OIDS", "OPERATOR", "OPTION", "OPTIONS", "OWNED", - "OWNER", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLANS", - "PRECEDING", "PREPARE", "PREPARED", "PRESERVE", "PRIOR", "PRIVILEGES", - "PROCEDURAL", "PROCEDURE", "PROGRAM", "QUOTE", "RANGE", "READ", "REASSIGN", - "RECHECK", "RECURSIVE", "REF", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", - "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", - "RETURNS", "REVOKE", "ROLE", "ROLLBACK", "ROWS", "RULE", "SAVEPOINT", - "SCHEMA", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SEQUENCE", "SEQUENCES", - "SERIALIZABLE", "SERVER", "SESSION", "SET", "SHARE", "SHOW", "SIMPLE", - "SNAPSHOT", "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", - "STDIN", "STDOUT", "STORAGE", "STRICT_P", "STRIP_P", "SYSID", "SYSTEM_P", - "TABLES", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "TRANSACTION", - "TRIGGER", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", - "UNCOMMITTED", "UNENCRYPTED", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", - "UPDATE", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VARYING", "VERSION_P", - "VIEW", "VOLATILE", "WHITESPACE_P", "WITHOUT", "WORK", "WRAPPER", "WRITE", - "XML_P", "YEAR_P", "YES_P", "ZONE", "ATOMIC_P", "BETWEEN", "BIGINT", - "BIT", "BOOLEAN_P", "CHAR_P", "CHARACTER", "COALESCE", "DEC", "DECIMAL_P", - "EXISTS", "EXTRACT", "FLOAT_P", "GREATEST", "INOUT", "INT_P", "INTEGER", - "INTERVAL", "LEAST", "NATIONAL", "NCHAR", "NONE", "NULLIF", "NUMERIC", - "OVERLAY", "PARAMETER", "POSITION", "PRECISION", "REAL", "ROW", "SETOF", - "SMALLINT", "SUBSTRING", "TIME", "TIMESTAMP", "TREAT", "TRIM", "VALUES", - "VARCHAR", "XMLATTRIBUTES", "XMLCOMMENT", "XMLAGG", "XML_IS_WELL_FORMED", - "XML_IS_WELL_FORMED_DOCUMENT", "XML_IS_WELL_FORMED_CONTENT", "XPATH", - "XPATH_EXISTS", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", - "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "CALL", "CURRENT_P", - "ATTACH", "DETACH", "EXPRESSION", "GENERATED", "LOGGED", "STORED", "INCLUDE", - "ROUTINE", "TRANSFORM", "IMPORT_P", "POLICY", "METHOD", "REFERENCING", - "NEW", "OLD", "VALUE_P", "SUBSCRIPTION", "PUBLICATION", "OUT_P", "END_P", - "ROUTINES", "SCHEMAS", "PROCEDURES", "INPUT_P", "SUPPORT", "PARALLEL", - "SQL_P", "DEPENDS", "OVERRIDING", "CONFLICT", "SKIP_P", "LOCKED", "TIES", - "ROLLUP", "CUBE", "GROUPING", "SETS", "TABLESAMPLE", "ORDINALITY", "XMLTABLE", - "COLUMNS", "XMLNAMESPACES", "ROWTYPE", "NORMALIZED", "WITHIN", "FILTER", - "GROUPS", "OTHERS", "NFC", "NFD", "NFKC", "NFKD", "UESCAPE", "VIEWS", - "NORMALIZE", "DUMP", "PRINT_STRICT_PARAMS", "VARIABLE_CONFLICT", "ERROR", - "USE_VARIABLE", "USE_COLUMN", "ALIAS", "CONSTANT", "PERFORM", "GET", - "DIAGNOSTICS", "STACKED", "ELSIF", "WHILE", "REVERSE", "FOREACH", "SLICE", - "EXIT", "RETURN", "QUERY", "RAISE", "SQLSTATE", "DEBUG", "LOG", "INFO", - "NOTICE", "WARNING", "EXCEPTION", "ASSERT", "LOOP", "OPEN", "ABS", "CBRT", - "CEIL", "CEILING", "DEGREES", "DIV", "EXP", "FACTORIAL", "FLOOR", "GCD", - "LCM", "LN", "LOG10", "MIN_SCALE", "MOD", "PI", "POWER", "RADIANS", - "ROUND", "SCALE", "SIGN", "SQRT", "TRIM_SCALE", "TRUNC", "WIDTH_BUCKET", - "RANDOM", "SETSEED", "ACOS", "ACOSD", "ASIN", "ASIND", "ATAN", "ATAND", - "ATAN2", "ATAN2D", "COS", "COSD", "COT", "COTD", "SIN", "SIND", "TAN", - "TAND", "SINH", "COSH", "TANH", "ASINH", "ACOSH", "ATANH", "BIT_LENGTH", - "CHAR_LENGTH", "CHARACTER_LENGTH", "LOWER", "OCTET_LENGTH", "UPPER", - "ASCII", "BTRIM", "CHR", "CONCAT", "CONCAT_WS", "FORMAT", "INITCAP", - "LENGTH", "LPAD", "LTRIM", "MD5", "PARSE_IDENT", "PG_CLIENT_ENCODING", - "QUOTE_IDENT", "QUOTE_LITERAL", "QUOTE_NULLABLE", "REGEXP_COUNT", "REGEXP_INSTR", - "REGEXP_LIKE", "REGEXP_MATCH", "REGEXP_MATCHES", "REGEXP_REPLACE", "REGEXP_SPLIT_TO_ARRAY", - "REGEXP_SPLIT_TO_TABLE", "REGEXP_SUBSTR", "REPEAT", "RPAD", "RTRIM", - "SPLIT_PART", "STARTS_WITH", "STRING_TO_ARRAY", "STRING_TO_TABLE", "STRPOS", - "SUBSTR", "TO_ASCII", "TO_HEX", "TRANSLATE", "UNISTR", "AGE", "CLOCK_TIMESTAMP", - "DATE_BIN", "DATE_PART", "DATE_TRUNC", "ISFINITE", "JUSTIFY_DAYS", "JUSTIFY_HOURS", - "JUSTIFY_INTERVAL", "MAKE_DATE", "MAKE_INTERVAL", "MAKE_TIME", "MAKE_TIMESTAMP", - "MAKE_TIMESTAMPTZ", "NOW", "STATEMENT_TIMESTAMP", "TIMEOFDAY", "TRANSACTION_TIMESTAMP", - "TO_TIMESTAMP", "TO_CHAR", "TO_DATE", "TO_NUMBER", "ENCODE", "DISTKEY", - "SORTKEY", "CASE_SENSITIVE", "CASE_INSENSITIVE", "JSON_ARRAYAGG", "JSON_OBJECTAGG", - "Identifier", "QuotedIdentifier", "UnterminatedQuotedIdentifier", "InvalidQuotedIdentifier", - "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", "UnterminatedUnicodeQuotedIdentifier", - "InvalidUnicodeQuotedIdentifier", "InvalidUnterminatedUnicodeQuotedIdentifier", - "StringConstant", "UnterminatedStringConstant", "UnicodeEscapeStringConstant", - "UnterminatedUnicodeEscapeStringConstant", "BeginDollarStringConstant", - "BinaryStringConstant", "UnterminatedBinaryStringConstant", "InvalidBinaryStringConstant", - "InvalidUnterminatedBinaryStringConstant", "HexadecimalStringConstant", - "UnterminatedHexadecimalStringConstant", "InvalidHexadecimalStringConstant", - "InvalidUnterminatedHexadecimalStringConstant", "Integral", "NumericFail", - "Numeric", "PLSQLVARIABLENAME", "PLSQLIDENTIFIER", "Whitespace", "Newline", - "LineComment", "BlockComment", "UnterminatedBlockComment", "MetaCommand", - "EndMetaCommand", "ErrorCharacter", "EscapeStringConstant", "UnterminatedEscapeStringConstant", - "InvalidEscapeStringConstant", "InvalidUnterminatedEscapeStringConstant", + "", "ABORT_P", "ABSENT", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", + "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", + "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", + "ASSIGNMENT", "ASYMMETRIC", "AT", "ATOMIC", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", + "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", + "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", + "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", + "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", + "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", + "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", "CONCURRENTLY", "CONDITIONAL", + "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", + "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE", + "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", + "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", + "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", + "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", + "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", + "DEPTH", "DESC", "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", + "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", + "EMPTY_P", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENFORCED", + "ENUM_P", "ERROR_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", + "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", + "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", + "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", + "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", + "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", + "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", + "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", + "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES", "INHERIT", + "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", + "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", + "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", + "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXISTS", "JSON_OBJECT", + "JSON_OBJECTAGG", "JSON_QUERY", "JSON_SCALAR", "JSON_SERIALIZE", "JSON_TABLE", + "JSON_VALUE", "KEEP", "KEY", "KEYS", "LABEL", "LANGUAGE", "LARGE_P", + "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", + "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", + "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED", + "MATERIALIZED", "MAXVALUE", "MERGE", "MERGE_ACTION", "METHOD", "MINUTE_P", + "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", + "NATURAL", "NCHAR", "NESTED", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", + "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", + "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", + "OBJECTS_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "OMIT", "ON", "ONLY", + "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", + "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", + "OWNER", "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", + "PASSING", "PASSWORD", "PATH", "PERIOD", "PLACING", "PLAN", "PLANS", + "POLICY", "POSITION", "PRECEDING", "PRECISION", "PREPARE", "PREPARED", + "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", + "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE", + "READ", "REAL", "REASSIGN", "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", + "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", + "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", + "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", + "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", + "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", + "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", + "SETOF", "SETS", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP_P", "SMALLINT", + "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE", "STANDALONE_P", "START", + "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED", "STRICT_P", + "STRING_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT", "SYMMETRIC", + "SYSID", "SYSTEM_P", "SYSTEM_USER", "TABLE", "TABLES", "TABLESAMPLE", + "TABLESPACE", "TARGET", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", + "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", + "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", + "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNCONDITIONAL", "UNENCRYPTED", + "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", + "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", + "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", + "VIEW", "VIEWS", "VIRTUAL", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", + "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", + "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", + "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "XMLTABLE", + "YEAR_P", "YES_P", "ZONE", "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", + "CLOSE_BRACKET", "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", + "MINUS", "SLASH", "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", + "COLON_EQUALS", "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", + "NOT_EQUALS", "TYPECAST", "PERCENT", "PARAM", "Operator", "RECHECK", + "XMLCOMMENT", "XMLAGG", "XML_IS_WELL_FORMED", "XML_IS_WELL_FORMED_DOCUMENT", + "XML_IS_WELL_FORMED_CONTENT", "XPATH", "XPATH_EXISTS", "ROWTYPE", "DUMP", + "PRINT_STRICT_PARAMS", "VARIABLE_CONFLICT", "USE_VARIABLE", "USE_COLUMN", + "ALIAS", "CONSTANT", "PERFORM", "GET", "DIAGNOSTICS", "STACKED", "ELSIF", + "WHILE", "REVERSE", "FOREACH", "SLICE", "EXIT", "QUERY", "RAISE", "SQLSTATE", + "DEBUG", "LOG", "INFO", "NOTICE", "WARNING", "EXCEPTION", "ASSERT", + "LOOP", "OPEN", "Identifier", "QuotedIdentifier", "UnterminatedQuotedIdentifier", + "InvalidQuotedIdentifier", "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", + "UnterminatedUnicodeQuotedIdentifier", "InvalidUnicodeQuotedIdentifier", + "InvalidUnterminatedUnicodeQuotedIdentifier", "StringConstant", "UnterminatedStringConstant", + "UnicodeEscapeStringConstant", "UnterminatedUnicodeEscapeStringConstant", + "BeginDollarStringConstant", "BinaryStringConstant", "UnterminatedBinaryStringConstant", + "InvalidBinaryStringConstant", "InvalidUnterminatedBinaryStringConstant", + "HexadecimalStringConstant", "UnterminatedHexadecimalStringConstant", + "InvalidHexadecimalStringConstant", "InvalidUnterminatedHexadecimalStringConstant", + "Integral", "NumericFail", "Numeric", "PLSQLVARIABLENAME", "PLSQLIDENTIFIER", + "Whitespace", "Newline", "LineComment", "BlockComment", "UnterminatedBlockComment", + "MetaCommand", "EndMetaCommand", "ErrorCharacter", "EscapeStringConstant", + "UnterminatedEscapeStringConstant", "InvalidEscapeStringConstant", "InvalidUnterminatedEscapeStringConstant", "AfterEscapeStringConstantMode_NotContinued", "AfterEscapeStringConstantWithNewlineMode_NotContinued", "DollarText", "EndDollarStringConstant", "AfterEscapeStringConstantWithNewlineMode_Continued", } staticData.RuleNames = []string{ - "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", "CLOSE_BRACKET", - "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", "MINUS", "SLASH", - "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", "COLON_EQUALS", - "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", "NOT_EQUALS", - "TYPECAST", "PERCENT", "PARAM", "Operator", "OperatorEndingWithPlusMinus", + "ABORT_P", "ABSENT", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", + "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", + "AND", "ANY", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT", + "ASYMMETRIC", "AT", "ATOMIC", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", + "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", + "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", + "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", + "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", + "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", + "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", "CONCURRENTLY", "CONDITIONAL", + "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", + "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE", + "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", + "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", + "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", + "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", + "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", + "DEPTH", "DESC", "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", + "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", + "EMPTY_P", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENFORCED", + "ENUM_P", "ERROR_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", + "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", + "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", + "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", + "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", + "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", + "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", + "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", + "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES", "INHERIT", + "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", + "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", + "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", + "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXISTS", "JSON_OBJECT", + "JSON_OBJECTAGG", "JSON_QUERY", "JSON_SCALAR", "JSON_SERIALIZE", "JSON_TABLE", + "JSON_VALUE", "KEEP", "KEY", "KEYS", "LABEL", "LANGUAGE", "LARGE_P", + "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", + "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", + "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED", + "MATERIALIZED", "MAXVALUE", "MERGE", "MERGE_ACTION", "METHOD", "MINUTE_P", + "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", + "NATURAL", "NCHAR", "NESTED", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", + "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", + "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", + "OBJECTS_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "OMIT", "ON", "ONLY", + "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", + "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", + "OWNER", "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", + "PASSING", "PASSWORD", "PATH", "PERIOD", "PLACING", "PLAN", "PLANS", + "POLICY", "POSITION", "PRECEDING", "PRECISION", "PREPARE", "PREPARED", + "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", + "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE", + "READ", "REAL", "REASSIGN", "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", + "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", + "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", + "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", + "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", + "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", + "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", + "SETOF", "SETS", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP_P", "SMALLINT", + "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE", "STANDALONE_P", "START", + "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED", "STRICT_P", + "STRING_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT", "SYMMETRIC", + "SYSID", "SYSTEM_P", "SYSTEM_USER", "TABLE", "TABLES", "TABLESAMPLE", + "TABLESPACE", "TARGET", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", + "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", + "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", + "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNCONDITIONAL", "UNENCRYPTED", + "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", + "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", + "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", + "VIEW", "VIEWS", "VIRTUAL", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", + "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", + "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", + "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "XMLTABLE", + "YEAR_P", "YES_P", "ZONE", "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", + "CLOSE_BRACKET", "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", + "MINUS", "SLASH", "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", + "COLON_EQUALS", "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", + "NOT_EQUALS", "TYPECAST", "PERCENT", "PARAM", "Operator", "OperatorEndingWithPlusMinus", "OperatorCharacter", "OperatorCharacterNotAllowPlusMinusAtEnd", "OperatorCharacterAllowPlusMinusAtEnd", - "ALL", "ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC", "ASYMMETRIC", - "BOTH", "CASE", "CAST", "CHECK", "COLLATE", "COLUMN", "CONSTRAINT", - "CREATE", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_TIME", - "CURRENT_TIMESTAMP", "CURRENT_USER", "DEFAULT", "DEFERRABLE", "DESC", - "DISTINCT", "DO", "ELSE", "EXCEPT", "FALSE_P", "FETCH", "FOR", "FOREIGN", - "FROM", "GRANT", "GROUP_P", "HAVING", "IN_P", "INITIALLY", "INTERSECT", - "INTO", "LATERAL_P", "LEADING", "LIMIT", "LOCALTIME", "LOCALTIMESTAMP", - "NOT", "NULL_P", "OFFSET", "ON", "ONLY", "OR", "ORDER", "PLACING", "PRIMARY", - "REFERENCES", "RETURNING", "SELECT", "SESSION_USER", "SOME", "SYMMETRIC", - "TABLE", "THEN", "TO", "TRAILING", "TRUE_P", "UNION", "UNIQUE", "USER", - "USING", "VARIADIC", "WHEN", "WHERE", "WINDOW", "WITH", "JSON_OBJECT", - "JSON_ARRAY", "JSON", "JSON_SCALAR", "JSON_SERIALIZE", "MERGE_ACTION", - "JSON_QUERY", "JSON_EXISTS", "JSON_VALUE", "EMPTY", "KEEP", "OMIT", - "SCALAR", "STRING", "CONDITIONAL", "UNCONDITIONAL", "KEYS", "ABSENT", - "QUOTES", "AUTHORIZATION", "BINARY", "COLLATION", "CONCURRENTLY", "CROSS", - "CURRENT_SCHEMA", "FREEZE", "FULL", "ILIKE", "INNER_P", "IS", "ISNULL", - "JOIN", "LEFT", "LIKE", "NATURAL", "NOTNULL", "OUTER_P", "OVER", "OVERLAPS", - "RIGHT", "SIMILAR", "VERBOSE", "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", - "ADD_P", "ADMIN", "AFTER", "AGGREGATE", "ALSO", "ALTER", "ALWAYS", "ASSERTION", - "ASSIGNMENT", "AT", "ATTRIBUTE", "BACKWARD", "BEFORE", "BEGIN_P", "BY", - "CACHE", "CALLED", "CASCADE", "CASCADED", "CATALOG", "CHAIN", "CHARACTERISTICS", - "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COMMENT", "COMMENTS", "COMMIT", - "COMMITTED", "CONFIGURATION", "CONNECTION", "CONSTRAINTS", "CONTENT_P", - "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CSV", "CURSOR", "CYCLE", - "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DECLARE", "DEFAULTS", - "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DICTIONARY", - "DISABLE_P", "DISCARD", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", - "EACH", "ENABLE_P", "ENCODING", "ENCRYPTED", "ENUM_P", "ESCAPE", "EVENT", - "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXPLAIN", "EXTENSION", - "EXTERNAL", "FAMILY", "FIRST_P", "FOLLOWING", "FORCE", "FORWARD", "FUNCTION", - "FUNCTIONS", "GLOBAL", "GRANTED", "HANDLER", "HEADER_P", "HOLD", "HOUR_P", - "IDENTITY_P", "IF_P", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "INCLUDING", - "INCREMENT", "INDEX", "INDEXES", "INHERIT", "INHERITS", "INLINE_P", - "INSENSITIVE", "INSERT", "INSTEAD", "INVOKER", "ISOLATION", "KEY", "LABEL", - "LANGUAGE", "LARGE_P", "LAST_P", "LEAKPROOF", "LEVEL", "LISTEN", "LOAD", - "LOCAL", "LOCATION", "LOCK_P", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", - "MAXVALUE", "MERGE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", - "NAME_P", "NAMES", "NEXT", "NO", "NOTHING", "NOTIFY", "NOWAIT", "NULLS_P", - "OBJECT_P", "OF", "OFF", "OIDS", "OPERATOR", "OPTION", "OPTIONS", "OWNED", - "OWNER", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLANS", - "PRECEDING", "PREPARE", "PREPARED", "PRESERVE", "PRIOR", "PRIVILEGES", - "PROCEDURAL", "PROCEDURE", "PROGRAM", "QUOTE", "RANGE", "READ", "REASSIGN", - "RECHECK", "RECURSIVE", "REF", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", - "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", - "RETURNS", "REVOKE", "ROLE", "ROLLBACK", "ROWS", "RULE", "SAVEPOINT", - "SCHEMA", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SEQUENCE", "SEQUENCES", - "SERIALIZABLE", "SERVER", "SESSION", "SET", "SHARE", "SHOW", "SIMPLE", - "SNAPSHOT", "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", - "STDIN", "STDOUT", "STORAGE", "STRICT_P", "STRIP_P", "SYSID", "SYSTEM_P", - "TABLES", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "TRANSACTION", - "TRIGGER", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", - "UNCOMMITTED", "UNENCRYPTED", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", - "UPDATE", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VARYING", "VERSION_P", - "VIEW", "VOLATILE", "WHITESPACE_P", "WITHOUT", "WORK", "WRAPPER", "WRITE", - "XML_P", "YEAR_P", "YES_P", "ZONE", "ATOMIC_P", "BETWEEN", "BIGINT", - "BIT", "BOOLEAN_P", "CHAR_P", "CHARACTER", "COALESCE", "DEC", "DECIMAL_P", - "EXISTS", "EXTRACT", "FLOAT_P", "GREATEST", "INOUT", "INT_P", "INTEGER", - "INTERVAL", "LEAST", "NATIONAL", "NCHAR", "NONE", "NULLIF", "NUMERIC", - "OVERLAY", "PARAMETER", "POSITION", "PRECISION", "REAL", "ROW", "SETOF", - "SMALLINT", "SUBSTRING", "TIME", "TIMESTAMP", "TREAT", "TRIM", "VALUES", - "VARCHAR", "XMLATTRIBUTES", "XMLCOMMENT", "XMLAGG", "XML_IS_WELL_FORMED", - "XML_IS_WELL_FORMED_DOCUMENT", "XML_IS_WELL_FORMED_CONTENT", "XPATH", - "XPATH_EXISTS", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", - "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "CALL", "CURRENT_P", - "ATTACH", "DETACH", "EXPRESSION", "GENERATED", "LOGGED", "STORED", "INCLUDE", - "ROUTINE", "TRANSFORM", "IMPORT_P", "POLICY", "METHOD", "REFERENCING", - "NEW", "OLD", "VALUE_P", "SUBSCRIPTION", "PUBLICATION", "OUT_P", "END_P", - "ROUTINES", "SCHEMAS", "PROCEDURES", "INPUT_P", "SUPPORT", "PARALLEL", - "SQL_P", "DEPENDS", "OVERRIDING", "CONFLICT", "SKIP_P", "LOCKED", "TIES", - "ROLLUP", "CUBE", "GROUPING", "SETS", "TABLESAMPLE", "ORDINALITY", "XMLTABLE", - "COLUMNS", "XMLNAMESPACES", "ROWTYPE", "NORMALIZED", "WITHIN", "FILTER", - "GROUPS", "OTHERS", "NFC", "NFD", "NFKC", "NFKD", "UESCAPE", "VIEWS", - "NORMALIZE", "DUMP", "PRINT_STRICT_PARAMS", "VARIABLE_CONFLICT", "ERROR", - "USE_VARIABLE", "USE_COLUMN", "ALIAS", "CONSTANT", "PERFORM", "GET", - "DIAGNOSTICS", "STACKED", "ELSIF", "WHILE", "REVERSE", "FOREACH", "SLICE", - "EXIT", "RETURN", "QUERY", "RAISE", "SQLSTATE", "DEBUG", "LOG", "INFO", - "NOTICE", "WARNING", "EXCEPTION", "ASSERT", "LOOP", "OPEN", "ABS", "CBRT", - "CEIL", "CEILING", "DEGREES", "DIV", "EXP", "FACTORIAL", "FLOOR", "GCD", - "LCM", "LN", "LOG10", "MIN_SCALE", "MOD", "PI", "POWER", "RADIANS", - "ROUND", "SCALE", "SIGN", "SQRT", "TRIM_SCALE", "TRUNC", "WIDTH_BUCKET", - "RANDOM", "SETSEED", "ACOS", "ACOSD", "ASIN", "ASIND", "ATAN", "ATAND", - "ATAN2", "ATAN2D", "COS", "COSD", "COT", "COTD", "SIN", "SIND", "TAN", - "TAND", "SINH", "COSH", "TANH", "ASINH", "ACOSH", "ATANH", "BIT_LENGTH", - "CHAR_LENGTH", "CHARACTER_LENGTH", "LOWER", "OCTET_LENGTH", "UPPER", - "ASCII", "BTRIM", "CHR", "CONCAT", "CONCAT_WS", "FORMAT", "INITCAP", - "LENGTH", "LPAD", "LTRIM", "MD5", "PARSE_IDENT", "PG_CLIENT_ENCODING", - "QUOTE_IDENT", "QUOTE_LITERAL", "QUOTE_NULLABLE", "REGEXP_COUNT", "REGEXP_INSTR", - "REGEXP_LIKE", "REGEXP_MATCH", "REGEXP_MATCHES", "REGEXP_REPLACE", "REGEXP_SPLIT_TO_ARRAY", - "REGEXP_SPLIT_TO_TABLE", "REGEXP_SUBSTR", "REPEAT", "RPAD", "RTRIM", - "SPLIT_PART", "STARTS_WITH", "STRING_TO_ARRAY", "STRING_TO_TABLE", "STRPOS", - "SUBSTR", "TO_ASCII", "TO_HEX", "TRANSLATE", "UNISTR", "AGE", "CLOCK_TIMESTAMP", - "DATE_BIN", "DATE_PART", "DATE_TRUNC", "ISFINITE", "JUSTIFY_DAYS", "JUSTIFY_HOURS", - "JUSTIFY_INTERVAL", "MAKE_DATE", "MAKE_INTERVAL", "MAKE_TIME", "MAKE_TIMESTAMP", - "MAKE_TIMESTAMPTZ", "NOW", "STATEMENT_TIMESTAMP", "TIMEOFDAY", "TRANSACTION_TIMESTAMP", - "TO_TIMESTAMP", "TO_CHAR", "TO_DATE", "TO_NUMBER", "ENCODE", "DISTKEY", - "SORTKEY", "CASE_SENSITIVE", "CASE_INSENSITIVE", "JSON_ARRAYAGG", "JSON_OBJECTAGG", - "Identifier", "IdentifierStartChar", "IdentifierChar", "StrictIdentifierChar", - "QuotedIdentifier", "UnterminatedQuotedIdentifier", "InvalidQuotedIdentifier", - "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", "UnterminatedUnicodeQuotedIdentifier", - "InvalidUnicodeQuotedIdentifier", "InvalidUnterminatedUnicodeQuotedIdentifier", - "StringConstant", "UnterminatedStringConstant", "BeginEscapeStringConstant", - "UnicodeEscapeStringConstant", "UnterminatedUnicodeEscapeStringConstant", + "RECHECK", "XMLCOMMENT", "XMLAGG", "XML_IS_WELL_FORMED", "XML_IS_WELL_FORMED_DOCUMENT", + "XML_IS_WELL_FORMED_CONTENT", "XPATH", "XPATH_EXISTS", "ROWTYPE", "DUMP", + "PRINT_STRICT_PARAMS", "VARIABLE_CONFLICT", "USE_VARIABLE", "USE_COLUMN", + "ALIAS", "CONSTANT", "PERFORM", "GET", "DIAGNOSTICS", "STACKED", "ELSIF", + "WHILE", "REVERSE", "FOREACH", "SLICE", "EXIT", "QUERY", "RAISE", "SQLSTATE", + "DEBUG", "LOG", "INFO", "NOTICE", "WARNING", "EXCEPTION", "ASSERT", + "LOOP", "OPEN", "Identifier", "IdentifierStartChar", "IdentifierChar", + "StrictIdentifierChar", "QuotedIdentifier", "UnterminatedQuotedIdentifier", + "InvalidQuotedIdentifier", "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", + "UnterminatedUnicodeQuotedIdentifier", "InvalidUnicodeQuotedIdentifier", + "InvalidUnterminatedUnicodeQuotedIdentifier", "StringConstant", "UnterminatedStringConstant", + "BeginEscapeStringConstant", "UnicodeEscapeStringConstant", "UnterminatedUnicodeEscapeStringConstant", "BeginDollarStringConstant", "Tag", "BinaryStringConstant", "UnterminatedBinaryStringConstant", "InvalidBinaryStringConstant", "InvalidUnterminatedBinaryStringConstant", "HexadecimalStringConstant", "UnterminatedHexadecimalStringConstant", @@ -407,7 +355,7 @@ func postgresqllexerLexerInit() { } staticData.PredictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 0, 707, 7122, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, + 4, 0, 605, 5995, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, @@ -542,3139 +490,2624 @@ func postgresqllexerLexerInit() { 2, 606, 7, 606, 2, 607, 7, 607, 2, 608, 7, 608, 2, 609, 7, 609, 2, 610, 7, 610, 2, 611, 7, 611, 2, 612, 7, 612, 2, 613, 7, 613, 2, 614, 7, 614, 2, 615, 7, 615, 2, 616, 7, 616, 2, 617, 7, 617, 2, 618, 7, 618, 2, 619, - 7, 619, 2, 620, 7, 620, 2, 621, 7, 621, 2, 622, 7, 622, 2, 623, 7, 623, - 2, 624, 7, 624, 2, 625, 7, 625, 2, 626, 7, 626, 2, 627, 7, 627, 2, 628, - 7, 628, 2, 629, 7, 629, 2, 630, 7, 630, 2, 631, 7, 631, 2, 632, 7, 632, - 2, 633, 7, 633, 2, 634, 7, 634, 2, 635, 7, 635, 2, 636, 7, 636, 2, 637, - 7, 637, 2, 638, 7, 638, 2, 639, 7, 639, 2, 640, 7, 640, 2, 641, 7, 641, - 2, 642, 7, 642, 2, 643, 7, 643, 2, 644, 7, 644, 2, 645, 7, 645, 2, 646, - 7, 646, 2, 647, 7, 647, 2, 648, 7, 648, 2, 649, 7, 649, 2, 650, 7, 650, - 2, 651, 7, 651, 2, 652, 7, 652, 2, 653, 7, 653, 2, 654, 7, 654, 2, 655, - 7, 655, 2, 656, 7, 656, 2, 657, 7, 657, 2, 658, 7, 658, 2, 659, 7, 659, - 2, 660, 7, 660, 2, 661, 7, 661, 2, 662, 7, 662, 2, 663, 7, 663, 2, 664, - 7, 664, 2, 665, 7, 665, 2, 666, 7, 666, 2, 667, 7, 667, 2, 668, 7, 668, - 2, 669, 7, 669, 2, 670, 7, 670, 2, 671, 7, 671, 2, 672, 7, 672, 2, 673, - 7, 673, 2, 674, 7, 674, 2, 675, 7, 675, 2, 676, 7, 676, 2, 677, 7, 677, - 2, 678, 7, 678, 2, 679, 7, 679, 2, 680, 7, 680, 2, 681, 7, 681, 2, 682, - 7, 682, 2, 683, 7, 683, 2, 684, 7, 684, 2, 685, 7, 685, 2, 686, 7, 686, - 2, 687, 7, 687, 2, 688, 7, 688, 2, 689, 7, 689, 2, 690, 7, 690, 2, 691, - 7, 691, 2, 692, 7, 692, 2, 693, 7, 693, 2, 694, 7, 694, 2, 695, 7, 695, - 2, 696, 7, 696, 2, 697, 7, 697, 2, 698, 7, 698, 2, 699, 7, 699, 2, 700, - 7, 700, 2, 701, 7, 701, 2, 702, 7, 702, 2, 703, 7, 703, 2, 704, 7, 704, - 2, 705, 7, 705, 2, 706, 7, 706, 2, 707, 7, 707, 2, 708, 7, 708, 2, 709, - 7, 709, 2, 710, 7, 710, 2, 711, 7, 711, 2, 712, 7, 712, 2, 713, 7, 713, - 2, 714, 7, 714, 2, 715, 7, 715, 2, 716, 7, 716, 2, 717, 7, 717, 2, 718, - 7, 718, 2, 719, 7, 719, 2, 720, 7, 720, 2, 721, 7, 721, 2, 722, 7, 722, - 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, - 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, - 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, - 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, - 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, - 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 4, - 27, 1517, 8, 27, 11, 27, 12, 27, 1518, 1, 28, 1, 28, 1, 28, 1, 28, 4, 28, - 1525, 8, 28, 11, 28, 12, 28, 1526, 1, 28, 1, 28, 1, 28, 3, 28, 1532, 8, - 28, 1, 28, 1, 28, 4, 28, 1536, 8, 28, 11, 28, 12, 28, 1537, 1, 28, 3, 28, - 1541, 8, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 1550, - 8, 29, 10, 29, 12, 29, 1553, 9, 29, 1, 29, 1, 29, 3, 29, 1557, 8, 29, 1, - 29, 1, 29, 1, 29, 4, 29, 1562, 8, 29, 11, 29, 12, 29, 1563, 1, 29, 1, 29, - 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, - 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, - 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, - 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, - 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, - 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, - 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, - 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, - 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, - 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, - 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, - 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, - 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, - 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, - 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, - 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, - 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, - 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, - 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, - 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, - 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, - 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, - 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, - 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, - 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, - 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, - 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, - 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, - 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, - 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, - 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, - 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, - 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, - 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, - 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, - 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, - 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, - 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, - 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, - 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, - 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, - 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, - 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, - 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, - 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, - 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, - 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, - 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, - 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, - 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, - 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, - 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, - 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, - 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, - 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, - 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, - 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, + 7, 619, 2, 620, 7, 620, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, + 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, + 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, + 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, + 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, + 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, + 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, + 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, + 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, + 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, + 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, + 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, + 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, + 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, + 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, + 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, + 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, + 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, + 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, + 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, + 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, + 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, + 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, + 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, + 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 40, + 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, + 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, + 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, + 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, + 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, + 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, + 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, + 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, + 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, + 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, + 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, + 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, + 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, + 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, + 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, + 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, + 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, + 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, + 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, + 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, + 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, + 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, + 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, + 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, + 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, + 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, + 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, + 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, + 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, + 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, + 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, + 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, + 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, + 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, + 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, + 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, + 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, + 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, + 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, + 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, + 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, + 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, + 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, + 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, + 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, + 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, + 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, + 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, + 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, + 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, + 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, + 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, + 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, + 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, + 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, + 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, + 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, + 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, + 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, + 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, + 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, - 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, - 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, - 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, - 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, - 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, - 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, - 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, - 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, - 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, - 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, - 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, - 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, + 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, + 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, + 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, + 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, + 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, + 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, + 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, + 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, + 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, + 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, - 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, - 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, - 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, - 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, - 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, - 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, - 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, - 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, - 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, - 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, - 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, - 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, - 142, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, - 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, - 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, - 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, - 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, - 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, - 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, - 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, - 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, - 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, - 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, - 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, - 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, - 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 1, 160, 1, - 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, - 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, - 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, - 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, - 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, - 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 167, 1, 167, 1, - 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 168, 1, 168, 1, 168, 1, 168, 1, - 168, 1, 168, 1, 169, 1, 169, 1, 169, 1, 170, 1, 170, 1, 170, 1, 170, 1, - 170, 1, 170, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, - 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, - 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 174, 1, - 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 175, 1, 175, 1, - 175, 1, 175, 1, 175, 1, 175, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, - 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, - 176, 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, - 177, 1, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, - 178, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, - 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 181, 1, 181, 1, 181, 1, - 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 182, 1, 182, 1, 182, 1, 182, 1, - 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 183, 1, 183, 1, 183, 1, 183, 1, - 183, 1, 183, 1, 183, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, - 184, 1, 184, 1, 184, 1, 184, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, + 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, + 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, + 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, + 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, + 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, + 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, + 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, + 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, + 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, + 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, + 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, + 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, + 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, + 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, + 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, + 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, + 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, + 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, + 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, + 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, + 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, + 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, + 154, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, + 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, + 156, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, + 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, + 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, + 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, + 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, + 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, + 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, + 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, 166, 1, 166, 1, + 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 167, 1, 167, 1, 167, 1, 167, 1, + 167, 1, 167, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, + 168, 1, 168, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, + 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, + 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 1, + 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, + 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 175, 1, 175, 1, 175, 1, 175, 1, + 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 176, 1, 176, 1, 176, 1, 177, 1, + 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 178, 1, 178, 1, + 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 179, 1, 179, 1, 179, 1, + 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, + 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 181, 1, 181, 1, + 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 182, 1, 182, 1, 182, 1, 183, 1, + 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 184, 1, 184, 1, + 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, - 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, - 186, 1, 186, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, - 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 188, 1, 188, 1, 188, 1, 188, 1, - 188, 1, 188, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, - 189, 1, 189, 1, 189, 1, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, - 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 191, 1, 191, 1, 191, 1, - 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 193, 1, 193, 1, - 193, 1, 193, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, - 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 196, 1, 196, 1, 196, 1, - 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, - 197, 1, 197, 1, 198, 1, 198, 1, 198, 1, 198, 1, 199, 1, 199, 1, 199, 1, - 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 200, 1, - 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 201, 1, 201, 1, - 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 202, 1, 202, 1, - 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 203, 1, 203, 1, - 203, 1, 203, 1, 203, 1, 203, 1, 203, 1, 203, 1, 204, 1, 204, 1, 204, 1, - 204, 1, 204, 1, 204, 1, 204, 1, 205, 1, 205, 1, 205, 1, 205, 1, 205, 1, - 205, 1, 205, 1, 205, 1, 205, 1, 205, 1, 206, 1, 206, 1, 206, 1, 206, 1, - 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 207, 1, 207, 1, - 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, - 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 209, 1, - 209, 1, 209, 1, 209, 1, 209, 1, 209, 1, 209, 1, 209, 1, 210, 1, 210, 1, - 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 211, 1, 211, 1, - 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 212, 1, 212, 1, 212, 1, 212, 1, - 212, 1, 212, 1, 212, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 214, 1, + 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 187, 1, 187, 1, + 187, 1, 187, 1, 187, 1, 187, 1, 188, 1, 188, 1, 188, 1, 188, 1, 188, 1, + 188, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, + 189, 1, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, + 190, 1, 190, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, + 191, 1, 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, + 192, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 194, 1, 194, 1, + 194, 1, 194, 1, 194, 1, 194, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, + 195, 1, 196, 1, 196, 1, 196, 1, 196, 1, 196, 1, 196, 1, 196, 1, 196, 1, + 196, 1, 196, 1, 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, + 197, 1, 197, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, + 198, 1, 199, 1, 199, 1, 199, 1, 199, 1, 200, 1, 200, 1, 200, 1, 200, 1, + 200, 1, 200, 1, 200, 1, 200, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, + 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 202, 1, 202, 1, 202, 1, 202, 1, + 202, 1, 202, 1, 202, 1, 202, 1, 202, 1, 203, 1, 203, 1, 203, 1, 203, 1, + 203, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, + 205, 1, 205, 1, 205, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, + 206, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, 207, 1, + 207, 1, 207, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 209, 1, 209, 1, + 209, 1, 209, 1, 209, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, + 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 211, 1, 211, 1, 211, 1, 211, 1, + 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, + 211, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, 212, 1, + 212, 1, 212, 1, 212, 1, 212, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, + 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 214, 1, 214, 1, + 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, - 215, 1, 215, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, - 216, 1, 216, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, - 217, 1, 217, 1, 217, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 219, 1, - 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 220, 1, 220, 1, 220, 1, - 220, 1, 220, 1, 220, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, - 221, 1, 221, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, - 222, 1, 222, 1, 222, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, - 223, 1, 223, 1, 223, 1, 223, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, + 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 216, 1, 216, 1, 216, 1, + 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, + 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, + 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 218, 1, 218, 1, 218, 1, + 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 219, 1, + 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, + 219, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 221, 1, 221, 1, 221, 1, + 221, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 223, 1, 223, 1, 223, 1, + 223, 1, 223, 1, 223, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, - 225, 1, 225, 1, 226, 1, 226, 1, 226, 1, 226, 1, 226, 1, 226, 1, 226, 1, - 226, 1, 226, 1, 226, 1, 227, 1, 227, 1, 227, 1, 227, 1, 227, 1, 227, 1, - 227, 1, 227, 1, 227, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, - 228, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, 230, 1, 230, 1, - 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, 231, 1, - 231, 1, 231, 1, 231, 1, 231, 1, 231, 1, 232, 1, 232, 1, 232, 1, 232, 1, - 232, 1, 232, 1, 232, 1, 232, 1, 233, 1, 233, 1, 233, 1, 233, 1, 233, 1, - 233, 1, 233, 1, 233, 1, 233, 1, 234, 1, 234, 1, 234, 1, 234, 1, 234, 1, + 226, 1, 226, 1, 226, 1, 226, 1, 226, 1, 227, 1, 227, 1, 227, 1, 227, 1, + 227, 1, 227, 1, 227, 1, 227, 1, 228, 1, 228, 1, 228, 1, 228, 1, 228, 1, + 228, 1, 228, 1, 228, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, 229, 1, + 229, 1, 229, 1, 229, 1, 229, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 1, + 230, 1, 231, 1, 231, 1, 231, 1, 231, 1, 231, 1, 232, 1, 232, 1, 232, 1, + 232, 1, 232, 1, 232, 1, 233, 1, 233, 1, 233, 1, 233, 1, 233, 1, 234, 1, 234, 1, 234, 1, 234, 1, 234, 1, 234, 1, 235, 1, 235, 1, 235, 1, 235, 1, - 235, 1, 235, 1, 235, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, - 236, 1, 236, 1, 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, - 237, 1, 238, 1, 238, 1, 238, 1, 238, 1, 238, 1, 238, 1, 238, 1, 239, 1, - 239, 1, 239, 1, 239, 1, 239, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, - 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, - 242, 1, 242, 1, 242, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, + 235, 1, 235, 1, 235, 1, 236, 1, 236, 1, 236, 1, 236, 1, 236, 1, 237, 1, + 237, 1, 237, 1, 237, 1, 237, 1, 237, 1, 238, 1, 238, 1, 238, 1, 238, 1, + 238, 1, 238, 1, 238, 1, 238, 1, 238, 1, 238, 1, 239, 1, 239, 1, 239, 1, + 239, 1, 239, 1, 239, 1, 239, 1, 239, 1, 239, 1, 239, 1, 239, 1, 239, 1, + 239, 1, 239, 1, 239, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, 240, 1, + 240, 1, 240, 1, 240, 1, 241, 1, 241, 1, 241, 1, 241, 1, 241, 1, 242, 1, + 242, 1, 242, 1, 242, 1, 242, 1, 242, 1, 242, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 243, 1, 244, 1, 244, 1, 244, 1, 244, 1, 244, 1, - 244, 1, 244, 1, 244, 1, 244, 1, 244, 1, 245, 1, 245, 1, 245, 1, 245, 1, - 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 246, 1, 246, 1, 246, 1, 246, 1, - 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 247, 1, 247, 1, 247, 1, - 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 248, 1, 248, 1, - 248, 1, 248, 1, 248, 1, 248, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, - 249, 1, 249, 1, 249, 1, 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, - 250, 1, 250, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, + 244, 1, 244, 1, 244, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, 245, 1, + 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 246, 1, 247, 1, + 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, 247, 1, + 247, 1, 247, 1, 247, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, 248, 1, + 248, 1, 248, 1, 248, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, 249, 1, + 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, 250, 1, + 250, 1, 250, 1, 250, 1, 250, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, 251, 1, 252, 1, 252, 1, 252, 1, 252, 1, 252, 1, 252, 1, 252, 1, 253, 1, 253, 1, 253, 1, 253, 1, 253, 1, 253, 1, 253, 1, 253, 1, 253, 1, - 253, 1, 253, 1, 253, 1, 254, 1, 254, 1, 254, 1, 254, 1, 254, 1, 254, 1, - 254, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, 255, 1, - 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 257, 1, - 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, 257, 1, - 258, 1, 258, 1, 258, 1, 258, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, - 259, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, - 260, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 262, 1, 262, 1, - 262, 1, 262, 1, 262, 1, 263, 1, 263, 1, 263, 1, 263, 1, 263, 1, 263, 1, - 263, 1, 263, 1, 263, 1, 263, 1, 264, 1, 264, 1, 264, 1, 264, 1, 264, 1, - 264, 1, 265, 1, 265, 1, 265, 1, 265, 1, 265, 1, 265, 1, 265, 1, 266, 1, - 266, 1, 266, 1, 266, 1, 266, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, - 267, 1, 268, 1, 268, 1, 268, 1, 268, 1, 268, 1, 268, 1, 268, 1, 268, 1, - 268, 1, 269, 1, 269, 1, 269, 1, 269, 1, 269, 1, 270, 1, 270, 1, 270, 1, - 270, 1, 270, 1, 270, 1, 270, 1, 270, 1, 271, 1, 271, 1, 271, 1, 271, 1, - 271, 1, 271, 1, 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, - 272, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, - 273, 1, 273, 1, 273, 1, 273, 1, 273, 1, 274, 1, 274, 1, 274, 1, 274, 1, - 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 275, 1, 275, 1, 275, 1, 275, 1, - 275, 1, 275, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, - 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, 277, 1, - 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 279, 1, 279, 1, 279, 1, 279, 1, - 279, 1, 279, 1, 280, 1, 280, 1, 280, 1, 280, 1, 280, 1, 281, 1, 281, 1, - 281, 1, 281, 1, 281, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, - 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 284, 1, 284, 1, 284, 1, 285, 1, - 285, 1, 285, 1, 285, 1, 285, 1, 285, 1, 285, 1, 285, 1, 286, 1, 286, 1, - 286, 1, 286, 1, 286, 1, 286, 1, 286, 1, 287, 1, 287, 1, 287, 1, 287, 1, - 287, 1, 287, 1, 287, 1, 288, 1, 288, 1, 288, 1, 288, 1, 288, 1, 288, 1, - 289, 1, 289, 1, 289, 1, 289, 1, 289, 1, 289, 1, 289, 1, 290, 1, 290, 1, - 290, 1, 291, 1, 291, 1, 291, 1, 291, 1, 292, 1, 292, 1, 292, 1, 292, 1, - 292, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, - 293, 1, 294, 1, 294, 1, 294, 1, 294, 1, 294, 1, 294, 1, 294, 1, 295, 1, - 295, 1, 295, 1, 295, 1, 295, 1, 295, 1, 295, 1, 295, 1, 296, 1, 296, 1, - 296, 1, 296, 1, 296, 1, 296, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, - 297, 1, 298, 1, 298, 1, 298, 1, 298, 1, 298, 1, 298, 1, 298, 1, 299, 1, - 299, 1, 299, 1, 299, 1, 299, 1, 299, 1, 299, 1, 299, 1, 300, 1, 300, 1, - 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 301, 1, - 301, 1, 301, 1, 301, 1, 301, 1, 301, 1, 301, 1, 301, 1, 302, 1, 302, 1, - 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 303, 1, 303, 1, - 303, 1, 303, 1, 303, 1, 303, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, - 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 305, 1, 305, 1, 305, 1, 305, 1, - 305, 1, 305, 1, 305, 1, 305, 1, 306, 1, 306, 1, 306, 1, 306, 1, 306, 1, - 306, 1, 306, 1, 306, 1, 306, 1, 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, - 307, 1, 307, 1, 307, 1, 307, 1, 308, 1, 308, 1, 308, 1, 308, 1, 308, 1, - 308, 1, 309, 1, 309, 1, 309, 1, 309, 1, 309, 1, 309, 1, 309, 1, 309, 1, - 309, 1, 309, 1, 309, 1, 310, 1, 310, 1, 310, 1, 310, 1, 310, 1, 310, 1, - 310, 1, 310, 1, 310, 1, 310, 1, 310, 1, 311, 1, 311, 1, 311, 1, 311, 1, - 311, 1, 311, 1, 311, 1, 311, 1, 311, 1, 311, 1, 312, 1, 312, 1, 312, 1, - 312, 1, 312, 1, 312, 1, 312, 1, 312, 1, 313, 1, 313, 1, 313, 1, 313, 1, - 313, 1, 313, 1, 314, 1, 314, 1, 314, 1, 314, 1, 314, 1, 314, 1, 315, 1, - 315, 1, 315, 1, 315, 1, 315, 1, 316, 1, 316, 1, 316, 1, 316, 1, 316, 1, - 316, 1, 316, 1, 316, 1, 316, 1, 317, 1, 317, 1, 317, 1, 317, 1, 317, 1, - 317, 1, 317, 1, 317, 1, 318, 1, 318, 1, 318, 1, 318, 1, 318, 1, 318, 1, - 318, 1, 318, 1, 318, 1, 318, 1, 319, 1, 319, 1, 319, 1, 319, 1, 320, 1, - 320, 1, 320, 1, 320, 1, 320, 1, 320, 1, 320, 1, 320, 1, 321, 1, 321, 1, - 321, 1, 321, 1, 321, 1, 321, 1, 321, 1, 321, 1, 322, 1, 322, 1, 322, 1, - 322, 1, 322, 1, 322, 1, 322, 1, 322, 1, 322, 1, 323, 1, 323, 1, 323, 1, - 323, 1, 323, 1, 323, 1, 323, 1, 323, 1, 324, 1, 324, 1, 324, 1, 324, 1, - 324, 1, 324, 1, 324, 1, 325, 1, 325, 1, 325, 1, 325, 1, 325, 1, 325, 1, - 325, 1, 325, 1, 325, 1, 325, 1, 325, 1, 326, 1, 326, 1, 326, 1, 326, 1, - 326, 1, 326, 1, 326, 1, 326, 1, 327, 1, 327, 1, 327, 1, 327, 1, 327, 1, + 254, 1, 254, 1, 254, 1, 254, 1, 254, 1, 255, 1, 255, 1, 255, 1, 255, 1, + 255, 1, 255, 1, 256, 1, 256, 1, 256, 1, 256, 1, 256, 1, 257, 1, 257, 1, + 257, 1, 257, 1, 257, 1, 258, 1, 258, 1, 258, 1, 258, 1, 258, 1, 258, 1, + 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, 259, 1, + 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 260, 1, 261, 1, + 261, 1, 261, 1, 261, 1, 261, 1, 261, 1, 262, 1, 262, 1, 262, 1, 262, 1, + 262, 1, 262, 1, 262, 1, 263, 1, 263, 1, 263, 1, 263, 1, 264, 1, 264, 1, + 264, 1, 264, 1, 264, 1, 265, 1, 265, 1, 265, 1, 265, 1, 266, 1, 266, 1, + 266, 1, 266, 1, 267, 1, 267, 1, 267, 1, 267, 1, 267, 1, 268, 1, 268, 1, + 268, 1, 268, 1, 268, 1, 269, 1, 269, 1, 269, 1, 270, 1, 270, 1, 270, 1, + 270, 1, 270, 1, 271, 1, 271, 1, 271, 1, 271, 1, 271, 1, 271, 1, 271, 1, + 271, 1, 271, 1, 271, 1, 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, + 272, 1, 272, 1, 272, 1, 272, 1, 272, 1, 273, 1, 273, 1, 273, 1, 273, 1, + 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 274, 1, 275, 1, + 275, 1, 275, 1, 275, 1, 275, 1, 275, 1, 275, 1, 276, 1, 276, 1, 276, 1, + 276, 1, 276, 1, 276, 1, 276, 1, 276, 1, 277, 1, 277, 1, 277, 1, 277, 1, + 277, 1, 277, 1, 277, 1, 278, 1, 278, 1, 278, 1, 278, 1, 278, 1, 279, 1, + 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 279, 1, 280, 1, 280, 1, 280, 1, + 280, 1, 280, 1, 280, 1, 281, 1, 281, 1, 281, 1, 281, 1, 281, 1, 281, 1, + 281, 1, 281, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, 282, 1, + 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 283, 1, 284, 1, + 284, 1, 284, 1, 285, 1, 285, 1, 285, 1, 285, 1, 286, 1, 286, 1, 286, 1, + 286, 1, 286, 1, 286, 1, 286, 1, 287, 1, 287, 1, 287, 1, 287, 1, 287, 1, + 288, 1, 288, 1, 288, 1, 288, 1, 289, 1, 289, 1, 289, 1, 289, 1, 289, 1, + 290, 1, 290, 1, 290, 1, 291, 1, 291, 1, 291, 1, 291, 1, 291, 1, 292, 1, + 292, 1, 292, 1, 292, 1, 292, 1, 292, 1, 292, 1, 292, 1, 292, 1, 293, 1, + 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 293, 1, 294, 1, 294, 1, 294, 1, + 294, 1, 294, 1, 294, 1, 294, 1, 294, 1, 295, 1, 295, 1, 295, 1, 296, 1, + 296, 1, 296, 1, 296, 1, 296, 1, 296, 1, 297, 1, 297, 1, 297, 1, 297, 1, + 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 297, 1, 298, 1, 298, 1, + 298, 1, 298, 1, 298, 1, 298, 1, 298, 1, 299, 1, 299, 1, 299, 1, 299, 1, + 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 300, 1, 301, 1, 301, 1, 301, 1, + 301, 1, 301, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, 302, 1, + 302, 1, 302, 1, 303, 1, 303, 1, 303, 1, 303, 1, 303, 1, 303, 1, 303, 1, + 303, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, 304, 1, + 304, 1, 304, 1, 304, 1, 305, 1, 305, 1, 305, 1, 305, 1, 305, 1, 305, 1, + 306, 1, 306, 1, 306, 1, 306, 1, 306, 1, 306, 1, 307, 1, 307, 1, 307, 1, + 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, 307, 1, 308, 1, 308, 1, 308, 1, + 308, 1, 308, 1, 308, 1, 308, 1, 308, 1, 308, 1, 308, 1, 309, 1, 309, 1, + 309, 1, 309, 1, 309, 1, 309, 1, 309, 1, 310, 1, 310, 1, 310, 1, 310, 1, + 310, 1, 310, 1, 310, 1, 310, 1, 311, 1, 311, 1, 311, 1, 311, 1, 311, 1, + 311, 1, 311, 1, 311, 1, 311, 1, 311, 1, 312, 1, 312, 1, 312, 1, 312, 1, + 312, 1, 312, 1, 312, 1, 312, 1, 313, 1, 313, 1, 313, 1, 313, 1, 313, 1, + 313, 1, 313, 1, 313, 1, 313, 1, 314, 1, 314, 1, 314, 1, 314, 1, 314, 1, + 315, 1, 315, 1, 315, 1, 315, 1, 315, 1, 315, 1, 315, 1, 316, 1, 316, 1, + 316, 1, 316, 1, 316, 1, 316, 1, 316, 1, 316, 1, 317, 1, 317, 1, 317, 1, + 317, 1, 317, 1, 318, 1, 318, 1, 318, 1, 318, 1, 318, 1, 318, 1, 319, 1, + 319, 1, 319, 1, 319, 1, 319, 1, 319, 1, 319, 1, 320, 1, 320, 1, 320, 1, + 320, 1, 320, 1, 320, 1, 320, 1, 320, 1, 320, 1, 321, 1, 321, 1, 321, 1, + 321, 1, 321, 1, 321, 1, 321, 1, 321, 1, 321, 1, 321, 1, 322, 1, 322, 1, + 322, 1, 322, 1, 322, 1, 322, 1, 322, 1, 322, 1, 322, 1, 322, 1, 323, 1, + 323, 1, 323, 1, 323, 1, 323, 1, 323, 1, 323, 1, 323, 1, 324, 1, 324, 1, + 324, 1, 324, 1, 324, 1, 324, 1, 324, 1, 324, 1, 324, 1, 325, 1, 325, 1, + 325, 1, 325, 1, 325, 1, 325, 1, 325, 1, 325, 1, 325, 1, 326, 1, 326, 1, + 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 327, 1, 327, 1, 327, 1, 327, 1, 327, 1, 327, 1, 328, 1, 328, 1, 328, 1, 328, 1, 328, 1, 328, 1, - 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 330, 1, + 328, 1, 328, 1, 328, 1, 328, 1, 328, 1, 329, 1, 329, 1, 329, 1, 329, 1, + 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 329, 1, 330, 1, 330, 1, 330, 1, 330, 1, 330, 1, 330, 1, 330, 1, 330, 1, 330, 1, 330, 1, 331, 1, - 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 332, 1, 332, 1, - 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 333, 1, 333, 1, 333, 1, 333, 1, - 333, 1, 334, 1, 334, 1, 334, 1, 334, 1, 334, 1, 334, 1, 334, 1, 334, 1, - 334, 1, 335, 1, 335, 1, 335, 1, 335, 1, 335, 1, 336, 1, 336, 1, 336, 1, - 336, 1, 336, 1, 337, 1, 337, 1, 337, 1, 337, 1, 337, 1, 337, 1, 337, 1, - 337, 1, 337, 1, 337, 1, 338, 1, 338, 1, 338, 1, 338, 1, 338, 1, 338, 1, - 338, 1, 339, 1, 339, 1, 339, 1, 339, 1, 339, 1, 339, 1, 339, 1, 340, 1, + 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, + 331, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, + 333, 1, 333, 1, 333, 1, 333, 1, 333, 1, 333, 1, 333, 1, 333, 1, 333, 1, + 333, 1, 333, 1, 333, 1, 334, 1, 334, 1, 334, 1, 334, 1, 334, 1, 334, 1, + 335, 1, 335, 1, 335, 1, 335, 1, 335, 1, 335, 1, 335, 1, 336, 1, 336, 1, + 336, 1, 336, 1, 336, 1, 336, 1, 337, 1, 337, 1, 337, 1, 337, 1, 337, 1, + 338, 1, 338, 1, 338, 1, 338, 1, 338, 1, 339, 1, 339, 1, 339, 1, 339, 1, + 339, 1, 339, 1, 339, 1, 339, 1, 339, 1, 340, 1, 340, 1, 340, 1, 340, 1, 340, 1, 340, 1, 340, 1, 340, 1, 340, 1, 340, 1, 341, 1, 341, 1, 341, 1, - 341, 1, 341, 1, 341, 1, 341, 1, 342, 1, 342, 1, 342, 1, 342, 1, 342, 1, - 342, 1, 342, 1, 342, 1, 342, 1, 343, 1, 343, 1, 343, 1, 343, 1, 343, 1, - 343, 1, 343, 1, 343, 1, 343, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, + 341, 1, 342, 1, 342, 1, 342, 1, 342, 1, 342, 1, 342, 1, 342, 1, 342, 1, + 342, 1, 342, 1, 342, 1, 343, 1, 343, 1, 343, 1, 343, 1, 343, 1, 343, 1, + 343, 1, 343, 1, 343, 1, 343, 1, 343, 1, 343, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 345, 1, 345, 1, 345, 1, 345, 1, - 345, 1, 345, 1, 345, 1, 345, 1, 345, 1, 345, 1, 345, 1, 345, 1, 345, 1, - 346, 1, 346, 1, 346, 1, 346, 1, 346, 1, 346, 1, 346, 1, 347, 1, 347, 1, - 347, 1, 347, 1, 347, 1, 347, 1, 347, 1, 347, 1, 348, 1, 348, 1, 348, 1, - 348, 1, 349, 1, 349, 1, 349, 1, 349, 1, 349, 1, 349, 1, 350, 1, 350, 1, - 350, 1, 350, 1, 350, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, - 351, 1, 352, 1, 352, 1, 352, 1, 352, 1, 352, 1, 352, 1, 352, 1, 352, 1, - 352, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 354, 1, - 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, - 354, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 356, 1, 356, 1, - 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 357, 1, - 357, 1, 357, 1, 357, 1, 357, 1, 357, 1, 357, 1, 357, 1, 357, 1, 357, 1, - 357, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 359, 1, 359, 1, - 359, 1, 359, 1, 359, 1, 359, 1, 359, 1, 360, 1, 360, 1, 360, 1, 360, 1, + 345, 1, 345, 1, 345, 1, 345, 1, 346, 1, 346, 1, 346, 1, 346, 1, 346, 1, + 346, 1, 346, 1, 346, 1, 346, 1, 347, 1, 347, 1, 347, 1, 347, 1, 347, 1, + 347, 1, 347, 1, 347, 1, 348, 1, 348, 1, 348, 1, 348, 1, 348, 1, 348, 1, + 348, 1, 349, 1, 349, 1, 349, 1, 349, 1, 349, 1, 349, 1, 349, 1, 349, 1, + 349, 1, 349, 1, 349, 1, 350, 1, 350, 1, 350, 1, 350, 1, 350, 1, 350, 1, + 350, 1, 350, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, + 351, 1, 352, 1, 352, 1, 352, 1, 352, 1, 352, 1, 352, 1, 353, 1, 353, 1, + 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 354, 1, 354, 1, 354, 1, + 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, 354, 1, 355, 1, 355, 1, 355, 1, + 355, 1, 355, 1, 355, 1, 355, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, + 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 357, 1, 357, 1, 357, 1, 357, 1, + 357, 1, 357, 1, 357, 1, 357, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, + 358, 1, 358, 1, 359, 1, 359, 1, 359, 1, 359, 1, 359, 1, 359, 1, 360, 1, 360, 1, 360, 1, 360, 1, 360, 1, 361, 1, 361, 1, 361, 1, 361, 1, 361, 1, - 361, 1, 361, 1, 362, 1, 362, 1, 362, 1, 362, 1, 362, 1, 362, 1, 363, 1, - 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 364, 1, 364, 1, 364, 1, 364, 1, - 364, 1, 364, 1, 364, 1, 365, 1, 365, 1, 365, 1, 365, 1, 365, 1, 365, 1, - 365, 1, 366, 1, 366, 1, 366, 1, 366, 1, 366, 1, 366, 1, 366, 1, 366, 1, - 366, 1, 366, 1, 366, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 368, 1, - 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 370, 1, 370, 1, 370, 1, 370, 1, 370, 1, 371, 1, 371, 1, 371, 1, 371, 1, - 371, 1, 371, 1, 371, 1, 371, 1, 371, 1, 371, 1, 371, 1, 371, 1, 372, 1, - 372, 1, 372, 1, 372, 1, 372, 1, 372, 1, 372, 1, 372, 1, 373, 1, 373, 1, + 361, 1, 361, 1, 361, 1, 361, 1, 362, 1, 362, 1, 362, 1, 362, 1, 362, 1, + 362, 1, 362, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, + 363, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, + 364, 1, 365, 1, 365, 1, 365, 1, 365, 1, 366, 1, 366, 1, 366, 1, 366, 1, + 366, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 368, 1, 368, 1, 368, 1, + 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 368, 1, 369, 1, 369, 1, + 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 370, 1, 370, 1, 370, 1, 370, 1, + 370, 1, 370, 1, 370, 1, 371, 1, 371, 1, 371, 1, 371, 1, 371, 1, 371, 1, + 371, 1, 371, 1, 372, 1, 372, 1, 372, 1, 372, 1, 372, 1, 372, 1, 372, 1, 373, 1, 373, 1, 373, 1, 373, 1, 373, 1, 373, 1, 373, 1, 374, 1, 374, 1, - 374, 1, 374, 1, 374, 1, 374, 1, 374, 1, 374, 1, 375, 1, 375, 1, 375, 1, - 375, 1, 375, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 377, 1, - 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, - 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, - 378, 1, 378, 1, 378, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, - 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 380, 1, 380, 1, 380, 1, - 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 381, 1, 381, 1, 381, 1, 381, 1, + 374, 1, 374, 1, 374, 1, 374, 1, 374, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 376, 1, 376, 1, 376, 1, 376, 1, + 376, 1, 376, 1, 376, 1, 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, 377, 1, + 377, 1, 377, 1, 377, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, + 378, 1, 378, 1, 378, 1, 378, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, + 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 379, 1, 380, 1, + 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 382, 1, 382, 1, 382, 1, 382, 1, - 382, 1, 382, 1, 382, 1, 382, 1, 382, 1, 383, 1, 383, 1, 383, 1, 383, 1, - 383, 1, 383, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, - 385, 1, 385, 1, 385, 1, 385, 1, 385, 1, 385, 1, 385, 1, 386, 1, 386, 1, - 386, 1, 386, 1, 386, 1, 386, 1, 387, 1, 387, 1, 387, 1, 387, 1, 387, 1, - 387, 1, 387, 1, 387, 1, 387, 1, 388, 1, 388, 1, 388, 1, 388, 1, 388, 1, - 388, 1, 388, 1, 388, 1, 388, 1, 388, 1, 389, 1, 389, 1, 389, 1, 389, 1, - 389, 1, 389, 1, 389, 1, 389, 1, 390, 1, 390, 1, 390, 1, 390, 1, 390, 1, - 390, 1, 390, 1, 390, 1, 391, 1, 391, 1, 391, 1, 391, 1, 391, 1, 392, 1, - 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 393, 1, - 393, 1, 393, 1, 393, 1, 393, 1, 393, 1, 393, 1, 393, 1, 393, 1, 393, 1, - 393, 1, 394, 1, 394, 1, 394, 1, 394, 1, 394, 1, 394, 1, 394, 1, 394, 1, - 395, 1, 395, 1, 395, 1, 395, 1, 395, 1, 396, 1, 396, 1, 396, 1, 396, 1, - 396, 1, 396, 1, 396, 1, 396, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, - 397, 1, 398, 1, 398, 1, 398, 1, 398, 1, 399, 1, 399, 1, 399, 1, 399, 1, - 399, 1, 400, 1, 400, 1, 400, 1, 400, 1, 401, 1, 401, 1, 401, 1, 401, 1, - 401, 1, 402, 1, 402, 1, 402, 1, 402, 1, 402, 1, 402, 1, 402, 1, 403, 1, - 403, 1, 403, 1, 403, 1, 403, 1, 403, 1, 403, 1, 403, 1, 404, 1, 404, 1, - 404, 1, 404, 1, 404, 1, 404, 1, 404, 1, 405, 1, 405, 1, 405, 1, 405, 1, - 406, 1, 406, 1, 406, 1, 406, 1, 406, 1, 406, 1, 406, 1, 406, 1, 407, 1, - 407, 1, 407, 1, 407, 1, 407, 1, 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, - 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, 409, 1, 409, 1, 409, 1, 409, 1, - 409, 1, 409, 1, 409, 1, 409, 1, 409, 1, 410, 1, 410, 1, 410, 1, 410, 1, - 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 412, 1, - 412, 1, 412, 1, 412, 1, 412, 1, 412, 1, 412, 1, 413, 1, 413, 1, 413, 1, - 413, 1, 413, 1, 413, 1, 413, 1, 413, 1, 414, 1, 414, 1, 414, 1, 414, 1, - 414, 1, 414, 1, 415, 1, 415, 1, 415, 1, 415, 1, 415, 1, 415, 1, 415, 1, - 415, 1, 415, 1, 416, 1, 416, 1, 416, 1, 416, 1, 416, 1, 416, 1, 417, 1, + 382, 1, 382, 1, 382, 1, 382, 1, 382, 1, 382, 1, 382, 1, 382, 1, 382, 1, + 383, 1, 383, 1, 383, 1, 383, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, + 384, 1, 385, 1, 385, 1, 385, 1, 385, 1, 385, 1, 386, 1, 386, 1, 386, 1, + 386, 1, 386, 1, 386, 1, 387, 1, 387, 1, 387, 1, 387, 1, 387, 1, 388, 1, + 388, 1, 388, 1, 388, 1, 388, 1, 388, 1, 388, 1, 388, 1, 389, 1, 389, 1, + 389, 1, 389, 1, 389, 1, 389, 1, 389, 1, 390, 1, 390, 1, 390, 1, 390, 1, + 390, 1, 391, 1, 391, 1, 391, 1, 391, 1, 391, 1, 391, 1, 391, 1, 391, 1, + 391, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, 392, 1, + 392, 1, 393, 1, 393, 1, 393, 1, 393, 1, 393, 1, 394, 1, 394, 1, 394, 1, + 394, 1, 394, 1, 394, 1, 394, 1, 395, 1, 395, 1, 395, 1, 395, 1, 396, 1, + 396, 1, 396, 1, 396, 1, 396, 1, 396, 1, 396, 1, 397, 1, 397, 1, 397, 1, + 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 398, 1, + 398, 1, 398, 1, 398, 1, 398, 1, 398, 1, 399, 1, 399, 1, 399, 1, 399, 1, + 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 400, 1, 400, 1, 400, 1, + 400, 1, 400, 1, 400, 1, 400, 1, 400, 1, 400, 1, 400, 1, 400, 1, 401, 1, + 401, 1, 401, 1, 401, 1, 401, 1, 401, 1, 402, 1, 402, 1, 402, 1, 402, 1, + 402, 1, 402, 1, 402, 1, 403, 1, 403, 1, 403, 1, 403, 1, 403, 1, 403, 1, + 403, 1, 403, 1, 404, 1, 404, 1, 404, 1, 404, 1, 404, 1, 404, 1, 404, 1, + 405, 1, 405, 1, 405, 1, 405, 1, 405, 1, 405, 1, 405, 1, 406, 1, 406, 1, + 406, 1, 406, 1, 406, 1, 406, 1, 406, 1, 407, 1, 407, 1, 407, 1, 407, 1, + 407, 1, 407, 1, 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, + 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, 408, 1, 409, 1, 409, 1, 409, 1, + 409, 1, 409, 1, 409, 1, 409, 1, 409, 1, 409, 1, 409, 1, 410, 1, 410, 1, + 410, 1, 410, 1, 410, 1, 410, 1, 410, 1, 410, 1, 411, 1, 411, 1, 411, 1, + 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 411, 1, 412, 1, 412, 1, + 412, 1, 412, 1, 412, 1, 412, 1, 413, 1, 413, 1, 413, 1, 413, 1, 413, 1, + 413, 1, 413, 1, 414, 1, 414, 1, 414, 1, 414, 1, 414, 1, 414, 1, 414, 1, + 414, 1, 414, 1, 414, 1, 414, 1, 414, 1, 415, 1, 415, 1, 415, 1, 415, 1, + 415, 1, 415, 1, 416, 1, 416, 1, 416, 1, 416, 1, 416, 1, 416, 1, 416, 1, + 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 418, 1, 418, 1, 418, 1, 418, 1, 418, 1, 418, 1, - 418, 1, 418, 1, 419, 1, 419, 1, 419, 1, 419, 1, 419, 1, 419, 1, 419, 1, - 419, 1, 419, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 421, 1, + 418, 1, 418, 1, 418, 1, 418, 1, 418, 1, 419, 1, 419, 1, 419, 1, 419, 1, + 419, 1, 419, 1, 419, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 421, 1, 421, 1, 421, 1, 421, 1, 421, 1, 421, 1, 421, 1, 421, 1, 421, 1, 422, 1, - 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 423, 1, 423, 1, 423, 1, 423, 1, - 423, 1, 424, 1, 424, 1, 424, 1, 424, 1, 424, 1, 424, 1, 424, 1, 425, 1, - 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 426, 1, 426, 1, - 426, 1, 426, 1, 426, 1, 426, 1, 426, 1, 426, 1, 427, 1, 427, 1, 427, 1, - 427, 1, 427, 1, 427, 1, 427, 1, 427, 1, 427, 1, 427, 1, 428, 1, 428, 1, - 428, 1, 428, 1, 428, 1, 428, 1, 428, 1, 428, 1, 428, 1, 429, 1, 429, 1, - 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 430, 1, - 430, 1, 430, 1, 430, 1, 430, 1, 431, 1, 431, 1, 431, 1, 431, 1, 432, 1, - 432, 1, 432, 1, 432, 1, 432, 1, 432, 1, 433, 1, 433, 1, 433, 1, 433, 1, - 433, 1, 433, 1, 433, 1, 433, 1, 433, 1, 434, 1, 434, 1, 434, 1, 434, 1, - 434, 1, 434, 1, 434, 1, 434, 1, 434, 1, 434, 1, 435, 1, 435, 1, 435, 1, - 435, 1, 435, 1, 436, 1, 436, 1, 436, 1, 436, 1, 436, 1, 436, 1, 436, 1, - 436, 1, 436, 1, 436, 1, 437, 1, 437, 1, 437, 1, 437, 1, 437, 1, 437, 1, - 438, 1, 438, 1, 438, 1, 438, 1, 438, 1, 439, 1, 439, 1, 439, 1, 439, 1, - 439, 1, 439, 1, 439, 1, 440, 1, 440, 1, 440, 1, 440, 1, 440, 1, 440, 1, - 440, 1, 440, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, - 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 442, 1, 442, 1, + 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, + 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 424, 1, 424, 1, 424, 1, 424, 1, + 424, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 426, 1, 426, 1, 426, 1, + 426, 1, 426, 1, 427, 1, 427, 1, 427, 1, 427, 1, 427, 1, 427, 1, 427, 1, + 427, 1, 427, 1, 427, 1, 428, 1, 428, 1, 428, 1, 429, 1, 429, 1, 429, 1, + 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 430, 1, 430, 1, 430, 1, + 430, 1, 430, 1, 430, 1, 430, 1, 430, 1, 430, 1, 430, 1, 430, 1, 430, 1, + 431, 1, 431, 1, 431, 1, 431, 1, 431, 1, 431, 1, 431, 1, 431, 1, 431, 1, + 431, 1, 432, 1, 432, 1, 432, 1, 432, 1, 432, 1, 432, 1, 433, 1, 433, 1, + 433, 1, 433, 1, 433, 1, 433, 1, 433, 1, 433, 1, 434, 1, 434, 1, 434, 1, + 434, 1, 434, 1, 435, 1, 435, 1, 435, 1, 435, 1, 435, 1, 436, 1, 436, 1, + 436, 1, 436, 1, 436, 1, 436, 1, 436, 1, 436, 1, 436, 1, 437, 1, 437, 1, + 437, 1, 437, 1, 437, 1, 437, 1, 437, 1, 437, 1, 438, 1, 438, 1, 438, 1, + 438, 1, 438, 1, 439, 1, 439, 1, 439, 1, 439, 1, 439, 1, 439, 1, 440, 1, + 440, 1, 440, 1, 440, 1, 440, 1, 440, 1, 440, 1, 440, 1, 441, 1, 441, 1, + 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 441, 1, 442, 1, 442, 1, 442, 1, 442, 1, 442, 1, 442, 1, 442, 1, 442, 1, 442, 1, 442, 1, + 442, 1, 442, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, - 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 445, 1, - 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, - 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, - 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, - 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, - 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, - 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, - 447, 1, 447, 1, 447, 1, 447, 1, 447, 1, 447, 1, 448, 1, 448, 1, 448, 1, - 448, 1, 448, 1, 448, 1, 448, 1, 448, 1, 448, 1, 448, 1, 448, 1, 448, 1, - 448, 1, 449, 1, 449, 1, 449, 1, 449, 1, 449, 1, 449, 1, 449, 1, 449, 1, - 449, 1, 449, 1, 450, 1, 450, 1, 450, 1, 450, 1, 450, 1, 450, 1, 450, 1, - 450, 1, 450, 1, 450, 1, 450, 1, 451, 1, 451, 1, 451, 1, 451, 1, 451, 1, - 451, 1, 451, 1, 451, 1, 451, 1, 451, 1, 452, 1, 452, 1, 452, 1, 452, 1, - 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 453, 1, 453, 1, 453, 1, - 453, 1, 453, 1, 453, 1, 453, 1, 453, 1, 453, 1, 454, 1, 454, 1, 454, 1, - 454, 1, 454, 1, 454, 1, 455, 1, 455, 1, 455, 1, 455, 1, 455, 1, 455, 1, - 455, 1, 455, 1, 456, 1, 456, 1, 456, 1, 456, 1, 456, 1, 456, 1, 456, 1, - 456, 1, 456, 1, 456, 1, 456, 1, 456, 1, 456, 1, 457, 1, 457, 1, 457, 1, - 457, 1, 457, 1, 458, 1, 458, 1, 458, 1, 458, 1, 458, 1, 458, 1, 458, 1, - 458, 1, 459, 1, 459, 1, 459, 1, 459, 1, 459, 1, 459, 1, 459, 1, 460, 1, - 460, 1, 460, 1, 460, 1, 460, 1, 460, 1, 460, 1, 461, 1, 461, 1, 461, 1, - 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 462, 1, - 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, + 444, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 445, 1, 446, 1, 446, 1, + 446, 1, 446, 1, 446, 1, 446, 1, 446, 1, 447, 1, 447, 1, 447, 1, 447, 1, + 447, 1, 447, 1, 447, 1, 447, 1, 448, 1, 448, 1, 448, 1, 448, 1, 448, 1, + 448, 1, 448, 1, 448, 1, 448, 1, 449, 1, 449, 1, 449, 1, 449, 1, 449, 1, + 449, 1, 449, 1, 449, 1, 449, 1, 450, 1, 450, 1, 450, 1, 450, 1, 450, 1, + 450, 1, 451, 1, 451, 1, 451, 1, 451, 1, 451, 1, 451, 1, 451, 1, 452, 1, + 452, 1, 452, 1, 452, 1, 452, 1, 453, 1, 453, 1, 453, 1, 453, 1, 453, 1, + 453, 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 1, 455, 1, + 455, 1, 455, 1, 455, 1, 455, 1, 455, 1, 456, 1, 456, 1, 456, 1, 456, 1, + 456, 1, 456, 1, 456, 1, 456, 1, 456, 1, 457, 1, 457, 1, 457, 1, 457, 1, + 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 458, 1, 458, 1, 458, 1, + 458, 1, 458, 1, 458, 1, 459, 1, 459, 1, 459, 1, 459, 1, 459, 1, 459, 1, + 459, 1, 460, 1, 460, 1, 460, 1, 460, 1, 460, 1, 460, 1, 460, 1, 460, 1, + 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, 461, 1, + 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 462, 1, 463, 1, 463, 1, 463, 1, 463, 1, 463, 1, 463, 1, 463, 1, 463, 1, 464, 1, 464, 1, - 464, 1, 464, 1, 464, 1, 464, 1, 464, 1, 465, 1, 465, 1, 465, 1, 465, 1, - 465, 1, 465, 1, 465, 1, 465, 1, 466, 1, 466, 1, 466, 1, 466, 1, 466, 1, - 466, 1, 466, 1, 466, 1, 467, 1, 467, 1, 467, 1, 467, 1, 467, 1, 467, 1, - 467, 1, 467, 1, 467, 1, 467, 1, 468, 1, 468, 1, 468, 1, 468, 1, 468, 1, - 468, 1, 468, 1, 469, 1, 469, 1, 469, 1, 469, 1, 469, 1, 469, 1, 469, 1, - 470, 1, 470, 1, 470, 1, 470, 1, 470, 1, 470, 1, 470, 1, 471, 1, 471, 1, + 464, 1, 464, 1, 464, 1, 464, 1, 464, 1, 464, 1, 465, 1, 465, 1, 465, 1, + 465, 1, 465, 1, 466, 1, 466, 1, 466, 1, 466, 1, 466, 1, 466, 1, 467, 1, + 467, 1, 467, 1, 467, 1, 467, 1, 467, 1, 467, 1, 467, 1, 468, 1, 468, 1, + 468, 1, 468, 1, 468, 1, 468, 1, 468, 1, 468, 1, 468, 1, 469, 1, 469, 1, + 469, 1, 469, 1, 469, 1, 470, 1, 470, 1, 470, 1, 470, 1, 470, 1, 470, 1, 471, 1, 471, 1, 471, 1, 471, 1, 471, 1, 471, 1, 471, 1, 471, 1, 471, 1, - 471, 1, 472, 1, 472, 1, 472, 1, 472, 1, 473, 1, 473, 1, 473, 1, 473, 1, - 474, 1, 474, 1, 474, 1, 474, 1, 474, 1, 474, 1, 475, 1, 475, 1, 475, 1, - 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, - 475, 1, 476, 1, 476, 1, 476, 1, 476, 1, 476, 1, 476, 1, 476, 1, 476, 1, - 476, 1, 476, 1, 476, 1, 476, 1, 477, 1, 477, 1, 477, 1, 477, 1, 478, 1, - 478, 1, 478, 1, 478, 1, 479, 1, 479, 1, 479, 1, 479, 1, 479, 1, 479, 1, - 479, 1, 479, 1, 479, 1, 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, - 480, 1, 480, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, + 471, 1, 471, 1, 472, 1, 472, 1, 472, 1, 472, 1, 472, 1, 472, 1, 472, 1, + 473, 1, 473, 1, 473, 1, 473, 1, 473, 1, 474, 1, 474, 1, 474, 1, 474, 1, + 474, 1, 474, 1, 474, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, + 475, 1, 475, 1, 476, 1, 476, 1, 476, 1, 476, 1, 476, 1, 477, 1, 477, 1, + 477, 1, 477, 1, 477, 1, 477, 1, 477, 1, 477, 1, 478, 1, 478, 1, 478, 1, + 478, 1, 478, 1, 478, 1, 479, 1, 479, 1, 479, 1, 479, 1, 480, 1, 480, 1, + 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, 480, 1, + 480, 1, 480, 1, 480, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 481, 1, 482, 1, 482, 1, 482, 1, 482, 1, 482, 1, - 482, 1, 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, - 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, + 482, 1, 482, 1, 482, 1, 482, 1, 482, 1, 482, 1, 483, 1, 483, 1, 483, 1, + 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, 483, 1, 484, 1, 484, 1, + 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 484, 1, 485, 1, + 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 486, 1, 486, 1, 486, 1, 486, 1, 486, 1, - 486, 1, 486, 1, 486, 1, 487, 1, 487, 1, 487, 1, 487, 1, 487, 1, 487, 1, - 487, 1, 487, 1, 487, 1, 487, 1, 487, 1, 488, 1, 488, 1, 488, 1, 488, 1, - 488, 1, 488, 1, 488, 1, 488, 1, 488, 1, 489, 1, 489, 1, 489, 1, 489, 1, - 489, 1, 490, 1, 490, 1, 490, 1, 490, 1, 490, 1, 490, 1, 490, 1, 491, 1, - 491, 1, 491, 1, 491, 1, 491, 1, 492, 1, 492, 1, 492, 1, 492, 1, 492, 1, - 492, 1, 492, 1, 493, 1, 493, 1, 493, 1, 493, 1, 493, 1, 494, 1, 494, 1, - 494, 1, 494, 1, 494, 1, 494, 1, 494, 1, 494, 1, 494, 1, 495, 1, 495, 1, - 495, 1, 495, 1, 495, 1, 496, 1, 496, 1, 496, 1, 496, 1, 496, 1, 496, 1, - 496, 1, 496, 1, 496, 1, 496, 1, 496, 1, 496, 1, 497, 1, 497, 1, 497, 1, - 497, 1, 497, 1, 497, 1, 497, 1, 497, 1, 497, 1, 497, 1, 497, 1, 498, 1, - 498, 1, 498, 1, 498, 1, 498, 1, 498, 1, 498, 1, 498, 1, 498, 1, 499, 1, - 499, 1, 499, 1, 499, 1, 499, 1, 499, 1, 499, 1, 499, 1, 500, 1, 500, 1, - 500, 1, 500, 1, 500, 1, 500, 1, 500, 1, 500, 1, 500, 1, 500, 1, 500, 1, - 500, 1, 500, 1, 500, 1, 501, 1, 501, 1, 501, 1, 501, 1, 501, 1, 501, 1, - 501, 1, 501, 1, 502, 1, 502, 1, 502, 1, 502, 1, 502, 1, 502, 1, 502, 1, - 502, 1, 502, 1, 502, 1, 502, 1, 503, 1, 503, 1, 503, 1, 503, 1, 503, 1, - 503, 1, 503, 1, 504, 1, 504, 1, 504, 1, 504, 1, 504, 1, 504, 1, 504, 1, - 505, 1, 505, 1, 505, 1, 505, 1, 505, 1, 505, 1, 505, 1, 506, 1, 506, 1, - 506, 1, 506, 1, 506, 1, 506, 1, 506, 1, 507, 1, 507, 1, 507, 1, 507, 1, - 508, 1, 508, 1, 508, 1, 508, 1, 509, 1, 509, 1, 509, 1, 509, 1, 509, 1, - 510, 1, 510, 1, 510, 1, 510, 1, 510, 1, 511, 1, 511, 1, 511, 1, 511, 1, - 511, 1, 511, 1, 511, 1, 511, 1, 512, 1, 512, 1, 512, 1, 512, 1, 512, 1, - 512, 1, 513, 1, 513, 1, 513, 1, 513, 1, 513, 1, 513, 1, 513, 1, 513, 1, - 513, 1, 513, 1, 514, 1, 514, 1, 514, 1, 514, 1, 514, 1, 515, 1, 515, 1, - 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, - 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, 515, 1, - 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, - 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, 516, 1, - 517, 1, 517, 1, 517, 1, 517, 1, 517, 1, 517, 1, 518, 1, 518, 1, 518, 1, - 518, 1, 518, 1, 518, 1, 518, 1, 518, 1, 518, 1, 518, 1, 518, 1, 518, 1, - 518, 1, 519, 1, 519, 1, 519, 1, 519, 1, 519, 1, 519, 1, 519, 1, 519, 1, - 519, 1, 519, 1, 519, 1, 520, 1, 520, 1, 520, 1, 520, 1, 520, 1, 520, 1, - 521, 1, 521, 1, 521, 1, 521, 1, 521, 1, 521, 1, 521, 1, 521, 1, 521, 1, - 522, 1, 522, 1, 522, 1, 522, 1, 522, 1, 522, 1, 522, 1, 522, 1, 523, 1, - 523, 1, 523, 1, 523, 1, 524, 1, 524, 1, 524, 1, 524, 1, 524, 1, 524, 1, - 524, 1, 524, 1, 524, 1, 524, 1, 524, 1, 524, 1, 525, 1, 525, 1, 525, 1, - 525, 1, 525, 1, 525, 1, 525, 1, 525, 1, 526, 1, 526, 1, 526, 1, 526, 1, - 526, 1, 526, 1, 527, 1, 527, 1, 527, 1, 527, 1, 527, 1, 527, 1, 528, 1, + 486, 1, 486, 1, 486, 1, 486, 1, 487, 1, 487, 1, 487, 1, 487, 1, 487, 1, + 487, 1, 488, 1, 488, 1, 488, 1, 488, 1, 488, 1, 488, 1, 488, 1, 488, 1, + 489, 1, 489, 1, 489, 1, 489, 1, 489, 1, 489, 1, 489, 1, 489, 1, 489, 1, + 489, 1, 489, 1, 489, 1, 489, 1, 490, 1, 490, 1, 490, 1, 490, 1, 490, 1, + 490, 1, 490, 1, 490, 1, 490, 1, 491, 1, 491, 1, 491, 1, 491, 1, 491, 1, + 492, 1, 492, 1, 492, 1, 492, 1, 493, 1, 493, 1, 493, 1, 493, 1, 493, 1, + 494, 1, 494, 1, 495, 1, 495, 1, 496, 1, 496, 1, 497, 1, 497, 1, 498, 1, + 498, 1, 499, 1, 499, 1, 500, 1, 500, 1, 501, 1, 501, 1, 502, 1, 502, 1, + 503, 1, 503, 1, 504, 1, 504, 1, 505, 1, 505, 1, 506, 1, 506, 1, 507, 1, + 507, 1, 508, 1, 508, 1, 509, 1, 509, 1, 510, 1, 510, 1, 511, 1, 511, 1, + 511, 1, 512, 1, 512, 1, 512, 1, 513, 1, 513, 1, 513, 1, 514, 1, 514, 1, + 514, 1, 515, 1, 515, 1, 515, 1, 516, 1, 516, 1, 516, 1, 517, 1, 517, 1, + 517, 1, 518, 1, 518, 1, 518, 1, 519, 1, 519, 1, 519, 1, 520, 1, 520, 1, + 521, 1, 521, 4, 521, 5113, 8, 521, 11, 521, 12, 521, 5114, 1, 522, 1, 522, + 1, 522, 1, 522, 4, 522, 5121, 8, 522, 11, 522, 12, 522, 5122, 1, 522, 1, + 522, 1, 522, 3, 522, 5128, 8, 522, 1, 522, 1, 522, 4, 522, 5132, 8, 522, + 11, 522, 12, 522, 5133, 1, 522, 3, 522, 5137, 8, 522, 1, 522, 1, 522, 1, + 523, 1, 523, 1, 523, 1, 523, 1, 523, 5, 523, 5146, 8, 523, 10, 523, 12, + 523, 5149, 9, 523, 1, 523, 1, 523, 3, 523, 5153, 8, 523, 1, 523, 1, 523, + 1, 523, 4, 523, 5158, 8, 523, 11, 523, 12, 523, 5159, 1, 523, 1, 523, 1, + 524, 1, 524, 1, 525, 1, 525, 1, 526, 1, 526, 1, 527, 1, 527, 1, 527, 1, + 527, 1, 527, 1, 527, 1, 527, 1, 527, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 528, 1, 529, 1, 529, 1, - 529, 1, 529, 1, 529, 1, 529, 1, 529, 1, 529, 1, 530, 1, 530, 1, 530, 1, - 530, 1, 530, 1, 530, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 532, 1, - 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 533, 1, 533, 1, 533, 1, - 533, 1, 533, 1, 533, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, - 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, - 536, 1, 536, 1, 536, 1, 536, 1, 536, 1, 536, 1, 537, 1, 537, 1, 537, 1, - 537, 1, 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, 539, 1, 539, 1, 539, 1, - 539, 1, 539, 1, 539, 1, 539, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, - 540, 1, 540, 1, 540, 1, 541, 1, 541, 1, 541, 1, 541, 1, 541, 1, 541, 1, - 541, 1, 541, 1, 541, 1, 541, 1, 542, 1, 542, 1, 542, 1, 542, 1, 542, 1, - 542, 1, 542, 1, 543, 1, 543, 1, 543, 1, 543, 1, 543, 1, 544, 1, 544, 1, - 544, 1, 544, 1, 544, 1, 545, 1, 545, 1, 545, 1, 545, 1, 546, 1, 546, 1, - 546, 1, 546, 1, 546, 1, 547, 1, 547, 1, 547, 1, 547, 1, 547, 1, 548, 1, - 548, 1, 548, 1, 548, 1, 548, 1, 548, 1, 548, 1, 548, 1, 549, 1, 549, 1, + 529, 1, 529, 1, 529, 1, 529, 1, 529, 1, 530, 1, 530, 1, 530, 1, 530, 1, + 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, + 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 531, 1, 531, 1, 531, 1, + 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, + 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, + 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 531, 1, 532, 1, 532, 1, + 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, + 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, + 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 532, 1, 533, 1, 533, 1, + 533, 1, 533, 1, 533, 1, 533, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, + 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 1, 535, 1, + 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 535, 1, 536, 1, 536, 1, + 536, 1, 536, 1, 536, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, + 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, + 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 538, 1, 538, 1, 538, 1, 538, 1, + 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, + 538, 1, 538, 1, 538, 1, 538, 1, 538, 1, 539, 1, 539, 1, 539, 1, 539, 1, + 539, 1, 539, 1, 539, 1, 539, 1, 539, 1, 539, 1, 539, 1, 539, 1, 539, 1, + 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, + 540, 1, 540, 1, 541, 1, 541, 1, 541, 1, 541, 1, 541, 1, 541, 1, 542, 1, + 542, 1, 542, 1, 542, 1, 542, 1, 542, 1, 542, 1, 542, 1, 542, 1, 543, 1, + 543, 1, 543, 1, 543, 1, 543, 1, 543, 1, 543, 1, 543, 1, 544, 1, 544, 1, + 544, 1, 544, 1, 545, 1, 545, 1, 545, 1, 545, 1, 545, 1, 545, 1, 545, 1, + 545, 1, 545, 1, 545, 1, 545, 1, 545, 1, 546, 1, 546, 1, 546, 1, 546, 1, + 546, 1, 546, 1, 546, 1, 546, 1, 547, 1, 547, 1, 547, 1, 547, 1, 547, 1, + 547, 1, 548, 1, 548, 1, 548, 1, 548, 1, 548, 1, 548, 1, 549, 1, 549, 1, 549, 1, 549, 1, 549, 1, 549, 1, 549, 1, 549, 1, 550, 1, 550, 1, 550, 1, - 550, 1, 551, 1, 551, 1, 551, 1, 551, 1, 552, 1, 552, 1, 552, 1, 552, 1, - 552, 1, 552, 1, 552, 1, 552, 1, 552, 1, 552, 1, 553, 1, 553, 1, 553, 1, - 553, 1, 553, 1, 553, 1, 554, 1, 554, 1, 554, 1, 554, 1, 555, 1, 555, 1, - 555, 1, 555, 1, 556, 1, 556, 1, 556, 1, 557, 1, 557, 1, 557, 1, 557, 1, - 557, 1, 557, 1, 558, 1, 558, 1, 558, 1, 558, 1, 558, 1, 558, 1, 558, 1, - 558, 1, 558, 1, 558, 1, 559, 1, 559, 1, 559, 1, 559, 1, 560, 1, 560, 1, - 560, 1, 561, 1, 561, 1, 561, 1, 561, 1, 561, 1, 561, 1, 562, 1, 562, 1, - 562, 1, 562, 1, 562, 1, 562, 1, 562, 1, 562, 1, 563, 1, 563, 1, 563, 1, - 563, 1, 563, 1, 563, 1, 564, 1, 564, 1, 564, 1, 564, 1, 564, 1, 564, 1, - 565, 1, 565, 1, 565, 1, 565, 1, 565, 1, 566, 1, 566, 1, 566, 1, 566, 1, - 566, 1, 567, 1, 567, 1, 567, 1, 567, 1, 567, 1, 567, 1, 567, 1, 567, 1, - 567, 1, 567, 1, 567, 1, 568, 1, 568, 1, 568, 1, 568, 1, 568, 1, 568, 1, - 569, 1, 569, 1, 569, 1, 569, 1, 569, 1, 569, 1, 569, 1, 569, 1, 569, 1, - 569, 1, 569, 1, 569, 1, 569, 1, 570, 1, 570, 1, 570, 1, 570, 1, 570, 1, - 570, 1, 570, 1, 571, 1, 571, 1, 571, 1, 571, 1, 571, 1, 571, 1, 571, 1, - 571, 1, 572, 1, 572, 1, 572, 1, 572, 1, 572, 1, 573, 1, 573, 1, 573, 1, - 573, 1, 573, 1, 573, 1, 574, 1, 574, 1, 574, 1, 574, 1, 574, 1, 575, 1, - 575, 1, 575, 1, 575, 1, 575, 1, 575, 1, 576, 1, 576, 1, 576, 1, 576, 1, - 576, 1, 577, 1, 577, 1, 577, 1, 577, 1, 577, 1, 577, 1, 578, 1, 578, 1, - 578, 1, 578, 1, 578, 1, 578, 1, 579, 1, 579, 1, 579, 1, 579, 1, 579, 1, - 579, 1, 579, 1, 580, 1, 580, 1, 580, 1, 580, 1, 581, 1, 581, 1, 581, 1, - 581, 1, 581, 1, 582, 1, 582, 1, 582, 1, 582, 1, 583, 1, 583, 1, 583, 1, - 583, 1, 583, 1, 584, 1, 584, 1, 584, 1, 584, 1, 585, 1, 585, 1, 585, 1, - 585, 1, 585, 1, 586, 1, 586, 1, 586, 1, 586, 1, 587, 1, 587, 1, 587, 1, - 587, 1, 587, 1, 588, 1, 588, 1, 588, 1, 588, 1, 588, 1, 589, 1, 589, 1, - 589, 1, 589, 1, 589, 1, 590, 1, 590, 1, 590, 1, 590, 1, 590, 1, 591, 1, - 591, 1, 591, 1, 591, 1, 591, 1, 591, 1, 592, 1, 592, 1, 592, 1, 592, 1, - 592, 1, 592, 1, 593, 1, 593, 1, 593, 1, 593, 1, 593, 1, 593, 1, 594, 1, - 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, - 594, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, - 595, 1, 595, 1, 595, 1, 595, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, - 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, - 596, 1, 596, 1, 596, 1, 597, 1, 597, 1, 597, 1, 597, 1, 597, 1, 597, 1, - 598, 1, 598, 1, 598, 1, 598, 1, 598, 1, 598, 1, 598, 1, 598, 1, 598, 1, - 598, 1, 598, 1, 598, 1, 598, 1, 599, 1, 599, 1, 599, 1, 599, 1, 599, 1, - 599, 1, 600, 1, 600, 1, 600, 1, 600, 1, 600, 1, 600, 1, 601, 1, 601, 1, - 601, 1, 601, 1, 601, 1, 601, 1, 602, 1, 602, 1, 602, 1, 602, 1, 603, 1, - 603, 1, 603, 1, 603, 1, 603, 1, 603, 1, 603, 1, 604, 1, 604, 1, 604, 1, - 604, 1, 604, 1, 604, 1, 604, 1, 604, 1, 604, 1, 604, 1, 605, 1, 605, 1, - 605, 1, 605, 1, 605, 1, 605, 1, 605, 1, 606, 1, 606, 1, 606, 1, 606, 1, - 606, 1, 606, 1, 606, 1, 606, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, - 607, 1, 607, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 609, 1, 609, 1, - 609, 1, 609, 1, 609, 1, 609, 1, 610, 1, 610, 1, 610, 1, 610, 1, 611, 1, - 611, 1, 611, 1, 611, 1, 611, 1, 611, 1, 611, 1, 611, 1, 611, 1, 611, 1, - 611, 1, 611, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, - 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, - 612, 1, 612, 1, 612, 1, 613, 1, 613, 1, 613, 1, 613, 1, 613, 1, 613, 1, - 613, 1, 613, 1, 613, 1, 613, 1, 613, 1, 613, 1, 614, 1, 614, 1, 614, 1, - 614, 1, 614, 1, 614, 1, 614, 1, 614, 1, 614, 1, 614, 1, 614, 1, 614, 1, - 614, 1, 614, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 616, 1, - 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, - 616, 1, 616, 1, 616, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, - 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 618, 1, 618, 1, - 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, - 618, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, - 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 620, 1, 620, 1, 620, 1, 620, 1, - 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, - 620, 1, 620, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, - 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, 622, 1, - 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, - 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, 622, 1, - 622, 1, 622, 1, 622, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, - 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, - 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 623, 1, 624, 1, 624, 1, - 624, 1, 624, 1, 624, 1, 624, 1, 624, 1, 624, 1, 624, 1, 624, 1, 624, 1, - 624, 1, 624, 1, 624, 1, 625, 1, 625, 1, 625, 1, 625, 1, 625, 1, 625, 1, - 625, 1, 626, 1, 626, 1, 626, 1, 626, 1, 626, 1, 627, 1, 627, 1, 627, 1, - 627, 1, 627, 1, 627, 1, 628, 1, 628, 1, 628, 1, 628, 1, 628, 1, 628, 1, - 628, 1, 628, 1, 628, 1, 628, 1, 628, 1, 629, 1, 629, 1, 629, 1, 629, 1, - 629, 1, 629, 1, 629, 1, 629, 1, 629, 1, 629, 1, 629, 1, 629, 1, 630, 1, - 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, - 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 631, 1, 631, 1, 631, 1, - 631, 1, 631, 1, 631, 1, 631, 1, 631, 1, 631, 1, 631, 1, 631, 1, 631, 1, - 631, 1, 631, 1, 631, 1, 631, 1, 632, 1, 632, 1, 632, 1, 632, 1, 632, 1, - 632, 1, 632, 1, 633, 1, 633, 1, 633, 1, 633, 1, 633, 1, 633, 1, 633, 1, - 634, 1, 634, 1, 634, 1, 634, 1, 634, 1, 634, 1, 634, 1, 634, 1, 634, 1, - 635, 1, 635, 1, 635, 1, 635, 1, 635, 1, 635, 1, 635, 1, 636, 1, 636, 1, - 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 637, 1, - 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, 638, 1, 638, 1, 638, 1, - 638, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, - 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 639, 1, 640, 1, - 640, 1, 640, 1, 640, 1, 640, 1, 640, 1, 640, 1, 640, 1, 640, 1, 641, 1, - 641, 1, 641, 1, 641, 1, 641, 1, 641, 1, 641, 1, 641, 1, 641, 1, 641, 1, - 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, - 642, 1, 642, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, - 643, 1, 643, 1, 644, 1, 644, 1, 644, 1, 644, 1, 644, 1, 644, 1, 644, 1, - 644, 1, 644, 1, 644, 1, 644, 1, 644, 1, 644, 1, 645, 1, 645, 1, 645, 1, - 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, - 645, 1, 645, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, - 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, 646, 1, - 646, 1, 647, 1, 647, 1, 647, 1, 647, 1, 647, 1, 647, 1, 647, 1, 647, 1, - 647, 1, 647, 1, 648, 1, 648, 1, 648, 1, 648, 1, 648, 1, 648, 1, 648, 1, - 648, 1, 648, 1, 648, 1, 648, 1, 648, 1, 648, 1, 648, 1, 649, 1, 649, 1, - 649, 1, 649, 1, 649, 1, 649, 1, 649, 1, 649, 1, 649, 1, 649, 1, 650, 1, - 650, 1, 650, 1, 650, 1, 650, 1, 650, 1, 650, 1, 650, 1, 650, 1, 650, 1, - 650, 1, 650, 1, 650, 1, 650, 1, 650, 1, 651, 1, 651, 1, 651, 1, 651, 1, - 651, 1, 651, 1, 651, 1, 651, 1, 651, 1, 651, 1, 651, 1, 651, 1, 651, 1, - 651, 1, 651, 1, 651, 1, 651, 1, 652, 1, 652, 1, 652, 1, 652, 1, 653, 1, - 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, - 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, 653, 1, - 653, 1, 654, 1, 654, 1, 654, 1, 654, 1, 654, 1, 654, 1, 654, 1, 654, 1, - 654, 1, 654, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, - 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, - 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 1, 656, 1, 656, 1, 656, 1, - 656, 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 1, - 656, 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 1, - 658, 1, 658, 1, 658, 1, 658, 1, 658, 1, 658, 1, 658, 1, 658, 1, 659, 1, - 659, 1, 659, 1, 659, 1, 659, 1, 659, 1, 659, 1, 659, 1, 659, 1, 659, 1, - 660, 1, 660, 1, 660, 1, 660, 1, 660, 1, 660, 1, 660, 1, 661, 1, 661, 1, - 661, 1, 661, 1, 661, 1, 661, 1, 661, 1, 661, 1, 662, 1, 662, 1, 662, 1, - 662, 1, 662, 1, 662, 1, 662, 1, 662, 1, 663, 1, 663, 1, 663, 1, 663, 1, - 663, 1, 663, 1, 663, 1, 663, 1, 663, 1, 663, 1, 663, 1, 663, 1, 663, 1, - 663, 1, 663, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, - 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, - 664, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, - 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 666, 1, 666, 1, 666, 1, - 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, - 666, 1, 666, 1, 666, 1, 667, 1, 667, 5, 667, 6657, 8, 667, 10, 667, 12, - 667, 6660, 9, 667, 1, 668, 1, 668, 1, 668, 1, 668, 1, 668, 1, 668, 3, 668, - 6668, 8, 668, 1, 669, 1, 669, 3, 669, 6672, 8, 669, 1, 670, 1, 670, 3, - 670, 6676, 8, 670, 1, 671, 1, 671, 1, 671, 1, 672, 1, 672, 1, 672, 1, 672, - 5, 672, 6685, 8, 672, 10, 672, 12, 672, 6688, 9, 672, 1, 673, 1, 673, 1, - 673, 1, 674, 1, 674, 1, 674, 1, 674, 5, 674, 6697, 8, 674, 10, 674, 12, - 674, 6700, 9, 674, 1, 675, 1, 675, 1, 675, 1, 675, 1, 676, 1, 676, 1, 676, - 1, 676, 1, 677, 1, 677, 1, 677, 1, 677, 1, 678, 1, 678, 1, 678, 1, 678, - 1, 679, 1, 679, 1, 679, 1, 680, 1, 680, 1, 680, 1, 680, 5, 680, 6725, 8, - 680, 10, 680, 12, 680, 6728, 9, 680, 1, 681, 1, 681, 1, 681, 1, 681, 1, - 681, 1, 681, 1, 682, 1, 682, 1, 682, 1, 683, 1, 683, 1, 683, 1, 683, 1, - 684, 1, 684, 3, 684, 6745, 8, 684, 1, 684, 1, 684, 1, 684, 1, 684, 1, 684, - 1, 685, 1, 685, 5, 685, 6754, 8, 685, 10, 685, 12, 685, 6757, 9, 685, 1, - 686, 1, 686, 1, 686, 1, 687, 1, 687, 1, 687, 5, 687, 6765, 8, 687, 10, - 687, 12, 687, 6768, 9, 687, 1, 688, 1, 688, 1, 688, 1, 689, 1, 689, 1, - 689, 1, 690, 1, 690, 1, 690, 1, 691, 1, 691, 1, 691, 5, 691, 6782, 8, 691, - 10, 691, 12, 691, 6785, 9, 691, 1, 692, 1, 692, 1, 692, 1, 693, 1, 693, - 1, 693, 1, 694, 1, 694, 1, 695, 1, 695, 1, 695, 1, 695, 1, 695, 1, 695, - 1, 696, 1, 696, 1, 696, 3, 696, 6804, 8, 696, 1, 696, 1, 696, 3, 696, 6808, - 8, 696, 1, 696, 3, 696, 6811, 8, 696, 1, 696, 1, 696, 1, 696, 1, 696, 3, - 696, 6817, 8, 696, 1, 696, 3, 696, 6820, 8, 696, 1, 696, 1, 696, 1, 696, - 3, 696, 6825, 8, 696, 1, 696, 1, 696, 3, 696, 6829, 8, 696, 1, 697, 4, - 697, 6832, 8, 697, 11, 697, 12, 697, 6833, 1, 698, 1, 698, 1, 698, 5, 698, - 6839, 8, 698, 10, 698, 12, 698, 6842, 9, 698, 1, 699, 1, 699, 1, 699, 1, - 699, 1, 699, 1, 699, 1, 699, 1, 699, 5, 699, 6852, 8, 699, 10, 699, 12, - 699, 6855, 9, 699, 1, 699, 1, 699, 1, 700, 1, 700, 1, 700, 1, 700, 1, 701, - 1, 701, 3, 701, 6865, 8, 701, 1, 701, 3, 701, 6868, 8, 701, 1, 701, 1, - 701, 1, 702, 1, 702, 1, 702, 1, 702, 5, 702, 6876, 8, 702, 10, 702, 12, - 702, 6879, 9, 702, 1, 702, 1, 702, 1, 703, 1, 703, 1, 703, 1, 703, 5, 703, - 6887, 8, 703, 10, 703, 12, 703, 6890, 9, 703, 1, 703, 1, 703, 1, 703, 4, - 703, 6895, 8, 703, 11, 703, 12, 703, 6896, 1, 703, 1, 703, 4, 703, 6901, - 8, 703, 11, 703, 12, 703, 6902, 1, 703, 5, 703, 6906, 8, 703, 10, 703, - 12, 703, 6909, 9, 703, 1, 703, 5, 703, 6912, 8, 703, 10, 703, 12, 703, - 6915, 9, 703, 1, 703, 1, 703, 1, 703, 1, 703, 1, 703, 1, 704, 1, 704, 1, - 704, 1, 704, 5, 704, 6926, 8, 704, 10, 704, 12, 704, 6929, 9, 704, 1, 704, - 1, 704, 1, 704, 4, 704, 6934, 8, 704, 11, 704, 12, 704, 6935, 1, 704, 1, - 704, 4, 704, 6940, 8, 704, 11, 704, 12, 704, 6941, 1, 704, 3, 704, 6945, - 8, 704, 5, 704, 6947, 8, 704, 10, 704, 12, 704, 6950, 9, 704, 1, 704, 4, - 704, 6953, 8, 704, 11, 704, 12, 704, 6954, 1, 704, 4, 704, 6958, 8, 704, - 11, 704, 12, 704, 6959, 1, 704, 5, 704, 6963, 8, 704, 10, 704, 12, 704, - 6966, 9, 704, 1, 704, 3, 704, 6969, 8, 704, 1, 704, 1, 704, 1, 705, 1, - 705, 1, 705, 1, 705, 5, 705, 6977, 8, 705, 10, 705, 12, 705, 6980, 9, 705, - 1, 705, 5, 705, 6983, 8, 705, 10, 705, 12, 705, 6986, 9, 705, 1, 705, 1, - 705, 5, 705, 6990, 8, 705, 10, 705, 12, 705, 6993, 9, 705, 3, 705, 6995, - 8, 705, 1, 706, 1, 706, 1, 706, 1, 707, 1, 707, 1, 708, 1, 708, 1, 708, - 1, 708, 1, 708, 1, 709, 1, 709, 3, 709, 7009, 8, 709, 1, 709, 1, 709, 1, - 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, - 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, 710, 1, - 710, 1, 710, 3, 710, 7033, 8, 710, 1, 710, 5, 710, 7036, 8, 710, 10, 710, - 12, 710, 7039, 9, 710, 1, 711, 1, 711, 1, 711, 1, 711, 1, 711, 1, 712, - 1, 712, 3, 712, 7048, 8, 712, 1, 712, 1, 712, 1, 713, 1, 713, 1, 713, 1, - 713, 1, 713, 5, 713, 7057, 8, 713, 10, 713, 12, 713, 7060, 9, 713, 1, 714, - 1, 714, 1, 714, 1, 714, 1, 714, 1, 715, 1, 715, 1, 715, 1, 715, 1, 715, - 1, 715, 1, 716, 1, 716, 1, 716, 1, 716, 1, 716, 1, 717, 1, 717, 1, 717, - 1, 717, 1, 717, 1, 718, 1, 718, 1, 718, 1, 718, 1, 718, 1, 719, 1, 719, - 1, 719, 1, 719, 1, 719, 1, 720, 1, 720, 1, 720, 1, 720, 1, 720, 1, 721, - 4, 721, 7099, 8, 721, 11, 721, 12, 721, 7100, 1, 721, 1, 721, 5, 721, 7105, - 8, 721, 10, 721, 12, 721, 7108, 9, 721, 3, 721, 7110, 8, 721, 1, 722, 1, - 722, 3, 722, 7114, 8, 722, 1, 722, 1, 722, 1, 722, 1, 722, 1, 722, 1, 722, - 1, 722, 0, 0, 723, 5, 1, 7, 2, 9, 3, 11, 4, 13, 5, 15, 6, 17, 7, 19, 8, - 21, 9, 23, 10, 25, 11, 27, 12, 29, 13, 31, 14, 33, 15, 35, 16, 37, 17, - 39, 18, 41, 19, 43, 20, 45, 21, 47, 22, 49, 23, 51, 24, 53, 25, 55, 26, - 57, 27, 59, 28, 61, 29, 63, 0, 65, 0, 67, 0, 69, 0, 71, 30, 73, 31, 75, - 32, 77, 33, 79, 34, 81, 35, 83, 36, 85, 37, 87, 38, 89, 39, 91, 40, 93, - 41, 95, 42, 97, 43, 99, 44, 101, 45, 103, 46, 105, 47, 107, 48, 109, 49, - 111, 50, 113, 51, 115, 52, 117, 53, 119, 54, 121, 55, 123, 56, 125, 57, - 127, 58, 129, 59, 131, 60, 133, 61, 135, 62, 137, 63, 139, 64, 141, 65, - 143, 66, 145, 67, 147, 68, 149, 69, 151, 70, 153, 71, 155, 72, 157, 73, - 159, 74, 161, 75, 163, 76, 165, 77, 167, 78, 169, 79, 171, 80, 173, 81, - 175, 82, 177, 83, 179, 84, 181, 85, 183, 86, 185, 87, 187, 88, 189, 89, - 191, 90, 193, 91, 195, 92, 197, 93, 199, 94, 201, 95, 203, 96, 205, 97, - 207, 98, 209, 99, 211, 100, 213, 101, 215, 102, 217, 103, 219, 104, 221, - 105, 223, 106, 225, 107, 227, 108, 229, 109, 231, 110, 233, 111, 235, 112, - 237, 113, 239, 114, 241, 115, 243, 116, 245, 117, 247, 118, 249, 119, 251, - 120, 253, 121, 255, 122, 257, 123, 259, 124, 261, 125, 263, 126, 265, 127, - 267, 128, 269, 129, 271, 130, 273, 131, 275, 132, 277, 133, 279, 134, 281, - 135, 283, 136, 285, 137, 287, 138, 289, 139, 291, 140, 293, 141, 295, 142, - 297, 143, 299, 144, 301, 145, 303, 146, 305, 147, 307, 148, 309, 149, 311, - 150, 313, 151, 315, 152, 317, 153, 319, 154, 321, 155, 323, 156, 325, 157, - 327, 158, 329, 159, 331, 160, 333, 161, 335, 162, 337, 163, 339, 164, 341, - 165, 343, 166, 345, 167, 347, 168, 349, 169, 351, 170, 353, 171, 355, 172, - 357, 173, 359, 174, 361, 175, 363, 176, 365, 177, 367, 178, 369, 179, 371, - 180, 373, 181, 375, 182, 377, 183, 379, 184, 381, 185, 383, 186, 385, 187, - 387, 188, 389, 189, 391, 190, 393, 191, 395, 192, 397, 193, 399, 194, 401, - 195, 403, 196, 405, 197, 407, 198, 409, 199, 411, 200, 413, 201, 415, 202, - 417, 203, 419, 204, 421, 205, 423, 206, 425, 207, 427, 208, 429, 209, 431, - 210, 433, 211, 435, 212, 437, 213, 439, 214, 441, 215, 443, 216, 445, 217, - 447, 218, 449, 219, 451, 220, 453, 221, 455, 222, 457, 223, 459, 224, 461, - 225, 463, 226, 465, 227, 467, 228, 469, 229, 471, 230, 473, 231, 475, 232, - 477, 233, 479, 234, 481, 235, 483, 236, 485, 237, 487, 238, 489, 239, 491, - 240, 493, 241, 495, 242, 497, 243, 499, 244, 501, 245, 503, 246, 505, 247, - 507, 248, 509, 249, 511, 250, 513, 251, 515, 252, 517, 253, 519, 254, 521, - 255, 523, 256, 525, 257, 527, 258, 529, 259, 531, 260, 533, 261, 535, 262, - 537, 263, 539, 264, 541, 265, 543, 266, 545, 267, 547, 268, 549, 269, 551, - 270, 553, 271, 555, 272, 557, 273, 559, 274, 561, 275, 563, 276, 565, 277, - 567, 278, 569, 279, 571, 280, 573, 281, 575, 282, 577, 283, 579, 284, 581, - 285, 583, 286, 585, 287, 587, 288, 589, 289, 591, 290, 593, 291, 595, 292, - 597, 293, 599, 294, 601, 295, 603, 296, 605, 297, 607, 298, 609, 299, 611, - 300, 613, 301, 615, 302, 617, 303, 619, 304, 621, 305, 623, 306, 625, 307, - 627, 308, 629, 309, 631, 310, 633, 311, 635, 312, 637, 313, 639, 314, 641, - 315, 643, 316, 645, 317, 647, 318, 649, 319, 651, 320, 653, 321, 655, 322, - 657, 323, 659, 324, 661, 325, 663, 326, 665, 327, 667, 328, 669, 329, 671, - 330, 673, 331, 675, 332, 677, 333, 679, 334, 681, 335, 683, 336, 685, 337, - 687, 338, 689, 339, 691, 340, 693, 341, 695, 342, 697, 343, 699, 344, 701, - 345, 703, 346, 705, 347, 707, 348, 709, 349, 711, 350, 713, 351, 715, 352, - 717, 353, 719, 354, 721, 355, 723, 356, 725, 357, 727, 358, 729, 359, 731, - 360, 733, 361, 735, 362, 737, 363, 739, 364, 741, 365, 743, 366, 745, 367, - 747, 368, 749, 369, 751, 370, 753, 371, 755, 372, 757, 373, 759, 374, 761, - 375, 763, 376, 765, 377, 767, 378, 769, 379, 771, 380, 773, 381, 775, 382, - 777, 383, 779, 384, 781, 385, 783, 386, 785, 387, 787, 388, 789, 389, 791, - 390, 793, 391, 795, 392, 797, 393, 799, 394, 801, 395, 803, 396, 805, 397, - 807, 398, 809, 399, 811, 400, 813, 401, 815, 402, 817, 403, 819, 404, 821, - 405, 823, 406, 825, 407, 827, 408, 829, 409, 831, 410, 833, 411, 835, 412, - 837, 413, 839, 414, 841, 415, 843, 416, 845, 417, 847, 418, 849, 419, 851, - 420, 853, 421, 855, 422, 857, 423, 859, 424, 861, 425, 863, 426, 865, 427, - 867, 428, 869, 429, 871, 430, 873, 431, 875, 432, 877, 433, 879, 434, 881, - 435, 883, 436, 885, 437, 887, 438, 889, 439, 891, 440, 893, 441, 895, 442, - 897, 443, 899, 444, 901, 445, 903, 446, 905, 447, 907, 448, 909, 449, 911, - 450, 913, 451, 915, 452, 917, 453, 919, 454, 921, 455, 923, 456, 925, 457, - 927, 458, 929, 459, 931, 460, 933, 461, 935, 462, 937, 463, 939, 464, 941, - 465, 943, 466, 945, 467, 947, 468, 949, 469, 951, 470, 953, 471, 955, 472, - 957, 473, 959, 474, 961, 475, 963, 476, 965, 477, 967, 478, 969, 479, 971, - 480, 973, 481, 975, 482, 977, 483, 979, 484, 981, 485, 983, 486, 985, 487, - 987, 488, 989, 489, 991, 490, 993, 491, 995, 492, 997, 493, 999, 494, 1001, - 495, 1003, 496, 1005, 497, 1007, 498, 1009, 499, 1011, 500, 1013, 501, - 1015, 502, 1017, 503, 1019, 504, 1021, 505, 1023, 506, 1025, 507, 1027, - 508, 1029, 509, 1031, 510, 1033, 511, 1035, 512, 1037, 513, 1039, 514, - 1041, 515, 1043, 516, 1045, 517, 1047, 518, 1049, 519, 1051, 520, 1053, - 521, 1055, 522, 1057, 523, 1059, 524, 1061, 525, 1063, 526, 1065, 527, + 550, 1, 550, 1, 550, 1, 550, 1, 550, 1, 551, 1, 551, 1, 551, 1, 551, 1, + 551, 1, 551, 1, 552, 1, 552, 1, 552, 1, 552, 1, 552, 1, 553, 1, 553, 1, + 553, 1, 553, 1, 553, 1, 553, 1, 554, 1, 554, 1, 554, 1, 554, 1, 554, 1, + 554, 1, 555, 1, 555, 1, 555, 1, 555, 1, 555, 1, 555, 1, 555, 1, 555, 1, + 555, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 557, 1, 557, 1, + 557, 1, 557, 1, 558, 1, 558, 1, 558, 1, 558, 1, 558, 1, 559, 1, 559, 1, + 559, 1, 559, 1, 559, 1, 559, 1, 559, 1, 560, 1, 560, 1, 560, 1, 560, 1, + 560, 1, 560, 1, 560, 1, 560, 1, 561, 1, 561, 1, 561, 1, 561, 1, 561, 1, + 561, 1, 561, 1, 561, 1, 561, 1, 561, 1, 562, 1, 562, 1, 562, 1, 562, 1, + 562, 1, 562, 1, 562, 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 1, 564, 1, + 564, 1, 564, 1, 564, 1, 564, 1, 565, 1, 565, 5, 565, 5530, 8, 565, 10, + 565, 12, 565, 5533, 9, 565, 1, 566, 1, 566, 1, 566, 1, 566, 1, 566, 1, + 566, 3, 566, 5541, 8, 566, 1, 567, 1, 567, 3, 567, 5545, 8, 567, 1, 568, + 1, 568, 3, 568, 5549, 8, 568, 1, 569, 1, 569, 1, 569, 1, 570, 1, 570, 1, + 570, 1, 570, 5, 570, 5558, 8, 570, 10, 570, 12, 570, 5561, 9, 570, 1, 571, + 1, 571, 1, 571, 1, 572, 1, 572, 1, 572, 1, 572, 5, 572, 5570, 8, 572, 10, + 572, 12, 572, 5573, 9, 572, 1, 573, 1, 573, 1, 573, 1, 573, 1, 574, 1, + 574, 1, 574, 1, 574, 1, 575, 1, 575, 1, 575, 1, 575, 1, 576, 1, 576, 1, + 576, 1, 576, 1, 577, 1, 577, 1, 577, 1, 578, 1, 578, 1, 578, 1, 578, 5, + 578, 5598, 8, 578, 10, 578, 12, 578, 5601, 9, 578, 1, 579, 1, 579, 1, 579, + 1, 579, 1, 579, 1, 579, 1, 580, 1, 580, 1, 580, 1, 581, 1, 581, 1, 581, + 1, 581, 1, 582, 1, 582, 3, 582, 5618, 8, 582, 1, 582, 1, 582, 1, 582, 1, + 582, 1, 582, 1, 583, 1, 583, 5, 583, 5627, 8, 583, 10, 583, 12, 583, 5630, + 9, 583, 1, 584, 1, 584, 1, 584, 1, 585, 1, 585, 1, 585, 5, 585, 5638, 8, + 585, 10, 585, 12, 585, 5641, 9, 585, 1, 586, 1, 586, 1, 586, 1, 587, 1, + 587, 1, 587, 1, 588, 1, 588, 1, 588, 1, 589, 1, 589, 1, 589, 5, 589, 5655, + 8, 589, 10, 589, 12, 589, 5658, 9, 589, 1, 590, 1, 590, 1, 590, 1, 591, + 1, 591, 1, 591, 1, 592, 1, 592, 1, 593, 1, 593, 1, 593, 1, 593, 1, 593, + 1, 593, 1, 594, 1, 594, 1, 594, 3, 594, 5677, 8, 594, 1, 594, 1, 594, 3, + 594, 5681, 8, 594, 1, 594, 3, 594, 5684, 8, 594, 1, 594, 1, 594, 1, 594, + 1, 594, 3, 594, 5690, 8, 594, 1, 594, 3, 594, 5693, 8, 594, 1, 594, 1, + 594, 1, 594, 3, 594, 5698, 8, 594, 1, 594, 1, 594, 3, 594, 5702, 8, 594, + 1, 595, 4, 595, 5705, 8, 595, 11, 595, 12, 595, 5706, 1, 596, 1, 596, 1, + 596, 5, 596, 5712, 8, 596, 10, 596, 12, 596, 5715, 9, 596, 1, 597, 1, 597, + 1, 597, 1, 597, 1, 597, 1, 597, 1, 597, 1, 597, 5, 597, 5725, 8, 597, 10, + 597, 12, 597, 5728, 9, 597, 1, 597, 1, 597, 1, 598, 1, 598, 1, 598, 1, + 598, 1, 599, 1, 599, 3, 599, 5738, 8, 599, 1, 599, 3, 599, 5741, 8, 599, + 1, 599, 1, 599, 1, 600, 1, 600, 1, 600, 1, 600, 5, 600, 5749, 8, 600, 10, + 600, 12, 600, 5752, 9, 600, 1, 600, 1, 600, 1, 601, 1, 601, 1, 601, 1, + 601, 5, 601, 5760, 8, 601, 10, 601, 12, 601, 5763, 9, 601, 1, 601, 1, 601, + 1, 601, 4, 601, 5768, 8, 601, 11, 601, 12, 601, 5769, 1, 601, 1, 601, 4, + 601, 5774, 8, 601, 11, 601, 12, 601, 5775, 1, 601, 5, 601, 5779, 8, 601, + 10, 601, 12, 601, 5782, 9, 601, 1, 601, 5, 601, 5785, 8, 601, 10, 601, + 12, 601, 5788, 9, 601, 1, 601, 1, 601, 1, 601, 1, 601, 1, 601, 1, 602, + 1, 602, 1, 602, 1, 602, 5, 602, 5799, 8, 602, 10, 602, 12, 602, 5802, 9, + 602, 1, 602, 1, 602, 1, 602, 4, 602, 5807, 8, 602, 11, 602, 12, 602, 5808, + 1, 602, 1, 602, 4, 602, 5813, 8, 602, 11, 602, 12, 602, 5814, 1, 602, 3, + 602, 5818, 8, 602, 5, 602, 5820, 8, 602, 10, 602, 12, 602, 5823, 9, 602, + 1, 602, 4, 602, 5826, 8, 602, 11, 602, 12, 602, 5827, 1, 602, 4, 602, 5831, + 8, 602, 11, 602, 12, 602, 5832, 1, 602, 5, 602, 5836, 8, 602, 10, 602, + 12, 602, 5839, 9, 602, 1, 602, 3, 602, 5842, 8, 602, 1, 602, 1, 602, 1, + 603, 1, 603, 1, 603, 1, 603, 5, 603, 5850, 8, 603, 10, 603, 12, 603, 5853, + 9, 603, 1, 603, 5, 603, 5856, 8, 603, 10, 603, 12, 603, 5859, 9, 603, 1, + 603, 1, 603, 5, 603, 5863, 8, 603, 10, 603, 12, 603, 5866, 9, 603, 3, 603, + 5868, 8, 603, 1, 604, 1, 604, 1, 604, 1, 605, 1, 605, 1, 606, 1, 606, 1, + 606, 1, 606, 1, 606, 1, 607, 1, 607, 3, 607, 5882, 8, 607, 1, 607, 1, 607, + 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, + 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, + 1, 608, 1, 608, 3, 608, 5906, 8, 608, 1, 608, 5, 608, 5909, 8, 608, 10, + 608, 12, 608, 5912, 9, 608, 1, 609, 1, 609, 1, 609, 1, 609, 1, 609, 1, + 610, 1, 610, 3, 610, 5921, 8, 610, 1, 610, 1, 610, 1, 611, 1, 611, 1, 611, + 1, 611, 1, 611, 5, 611, 5930, 8, 611, 10, 611, 12, 611, 5933, 9, 611, 1, + 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 613, 1, 613, 1, 613, 1, 613, 1, + 613, 1, 613, 1, 614, 1, 614, 1, 614, 1, 614, 1, 614, 1, 615, 1, 615, 1, + 615, 1, 615, 1, 615, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 617, 1, + 617, 1, 617, 1, 617, 1, 617, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, + 619, 4, 619, 5972, 8, 619, 11, 619, 12, 619, 5973, 1, 619, 1, 619, 5, 619, + 5978, 8, 619, 10, 619, 12, 619, 5981, 9, 619, 3, 619, 5983, 8, 619, 1, + 620, 1, 620, 3, 620, 5987, 8, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, + 1, 620, 1, 620, 0, 0, 621, 5, 1, 7, 2, 9, 3, 11, 4, 13, 5, 15, 6, 17, 7, + 19, 8, 21, 9, 23, 10, 25, 11, 27, 12, 29, 13, 31, 14, 33, 15, 35, 16, 37, + 17, 39, 18, 41, 19, 43, 20, 45, 21, 47, 22, 49, 23, 51, 24, 53, 25, 55, + 26, 57, 27, 59, 28, 61, 29, 63, 30, 65, 31, 67, 32, 69, 33, 71, 34, 73, + 35, 75, 36, 77, 37, 79, 38, 81, 39, 83, 40, 85, 41, 87, 42, 89, 43, 91, + 44, 93, 45, 95, 46, 97, 47, 99, 48, 101, 49, 103, 50, 105, 51, 107, 52, + 109, 53, 111, 54, 113, 55, 115, 56, 117, 57, 119, 58, 121, 59, 123, 60, + 125, 61, 127, 62, 129, 63, 131, 64, 133, 65, 135, 66, 137, 67, 139, 68, + 141, 69, 143, 70, 145, 71, 147, 72, 149, 73, 151, 74, 153, 75, 155, 76, + 157, 77, 159, 78, 161, 79, 163, 80, 165, 81, 167, 82, 169, 83, 171, 84, + 173, 85, 175, 86, 177, 87, 179, 88, 181, 89, 183, 90, 185, 91, 187, 92, + 189, 93, 191, 94, 193, 95, 195, 96, 197, 97, 199, 98, 201, 99, 203, 100, + 205, 101, 207, 102, 209, 103, 211, 104, 213, 105, 215, 106, 217, 107, 219, + 108, 221, 109, 223, 110, 225, 111, 227, 112, 229, 113, 231, 114, 233, 115, + 235, 116, 237, 117, 239, 118, 241, 119, 243, 120, 245, 121, 247, 122, 249, + 123, 251, 124, 253, 125, 255, 126, 257, 127, 259, 128, 261, 129, 263, 130, + 265, 131, 267, 132, 269, 133, 271, 134, 273, 135, 275, 136, 277, 137, 279, + 138, 281, 139, 283, 140, 285, 141, 287, 142, 289, 143, 291, 144, 293, 145, + 295, 146, 297, 147, 299, 148, 301, 149, 303, 150, 305, 151, 307, 152, 309, + 153, 311, 154, 313, 155, 315, 156, 317, 157, 319, 158, 321, 159, 323, 160, + 325, 161, 327, 162, 329, 163, 331, 164, 333, 165, 335, 166, 337, 167, 339, + 168, 341, 169, 343, 170, 345, 171, 347, 172, 349, 173, 351, 174, 353, 175, + 355, 176, 357, 177, 359, 178, 361, 179, 363, 180, 365, 181, 367, 182, 369, + 183, 371, 184, 373, 185, 375, 186, 377, 187, 379, 188, 381, 189, 383, 190, + 385, 191, 387, 192, 389, 193, 391, 194, 393, 195, 395, 196, 397, 197, 399, + 198, 401, 199, 403, 200, 405, 201, 407, 202, 409, 203, 411, 204, 413, 205, + 415, 206, 417, 207, 419, 208, 421, 209, 423, 210, 425, 211, 427, 212, 429, + 213, 431, 214, 433, 215, 435, 216, 437, 217, 439, 218, 441, 219, 443, 220, + 445, 221, 447, 222, 449, 223, 451, 224, 453, 225, 455, 226, 457, 227, 459, + 228, 461, 229, 463, 230, 465, 231, 467, 232, 469, 233, 471, 234, 473, 235, + 475, 236, 477, 237, 479, 238, 481, 239, 483, 240, 485, 241, 487, 242, 489, + 243, 491, 244, 493, 245, 495, 246, 497, 247, 499, 248, 501, 249, 503, 250, + 505, 251, 507, 252, 509, 253, 511, 254, 513, 255, 515, 256, 517, 257, 519, + 258, 521, 259, 523, 260, 525, 261, 527, 262, 529, 263, 531, 264, 533, 265, + 535, 266, 537, 267, 539, 268, 541, 269, 543, 270, 545, 271, 547, 272, 549, + 273, 551, 274, 553, 275, 555, 276, 557, 277, 559, 278, 561, 279, 563, 280, + 565, 281, 567, 282, 569, 283, 571, 284, 573, 285, 575, 286, 577, 287, 579, + 288, 581, 289, 583, 290, 585, 291, 587, 292, 589, 293, 591, 294, 593, 295, + 595, 296, 597, 297, 599, 298, 601, 299, 603, 300, 605, 301, 607, 302, 609, + 303, 611, 304, 613, 305, 615, 306, 617, 307, 619, 308, 621, 309, 623, 310, + 625, 311, 627, 312, 629, 313, 631, 314, 633, 315, 635, 316, 637, 317, 639, + 318, 641, 319, 643, 320, 645, 321, 647, 322, 649, 323, 651, 324, 653, 325, + 655, 326, 657, 327, 659, 328, 661, 329, 663, 330, 665, 331, 667, 332, 669, + 333, 671, 334, 673, 335, 675, 336, 677, 337, 679, 338, 681, 339, 683, 340, + 685, 341, 687, 342, 689, 343, 691, 344, 693, 345, 695, 346, 697, 347, 699, + 348, 701, 349, 703, 350, 705, 351, 707, 352, 709, 353, 711, 354, 713, 355, + 715, 356, 717, 357, 719, 358, 721, 359, 723, 360, 725, 361, 727, 362, 729, + 363, 731, 364, 733, 365, 735, 366, 737, 367, 739, 368, 741, 369, 743, 370, + 745, 371, 747, 372, 749, 373, 751, 374, 753, 375, 755, 376, 757, 377, 759, + 378, 761, 379, 763, 380, 765, 381, 767, 382, 769, 383, 771, 384, 773, 385, + 775, 386, 777, 387, 779, 388, 781, 389, 783, 390, 785, 391, 787, 392, 789, + 393, 791, 394, 793, 395, 795, 396, 797, 397, 799, 398, 801, 399, 803, 400, + 805, 401, 807, 402, 809, 403, 811, 404, 813, 405, 815, 406, 817, 407, 819, + 408, 821, 409, 823, 410, 825, 411, 827, 412, 829, 413, 831, 414, 833, 415, + 835, 416, 837, 417, 839, 418, 841, 419, 843, 420, 845, 421, 847, 422, 849, + 423, 851, 424, 853, 425, 855, 426, 857, 427, 859, 428, 861, 429, 863, 430, + 865, 431, 867, 432, 869, 433, 871, 434, 873, 435, 875, 436, 877, 437, 879, + 438, 881, 439, 883, 440, 885, 441, 887, 442, 889, 443, 891, 444, 893, 445, + 895, 446, 897, 447, 899, 448, 901, 449, 903, 450, 905, 451, 907, 452, 909, + 453, 911, 454, 913, 455, 915, 456, 917, 457, 919, 458, 921, 459, 923, 460, + 925, 461, 927, 462, 929, 463, 931, 464, 933, 465, 935, 466, 937, 467, 939, + 468, 941, 469, 943, 470, 945, 471, 947, 472, 949, 473, 951, 474, 953, 475, + 955, 476, 957, 477, 959, 478, 961, 479, 963, 480, 965, 481, 967, 482, 969, + 483, 971, 484, 973, 485, 975, 486, 977, 487, 979, 488, 981, 489, 983, 490, + 985, 491, 987, 492, 989, 493, 991, 494, 993, 495, 995, 496, 997, 497, 999, + 498, 1001, 499, 1003, 500, 1005, 501, 1007, 502, 1009, 503, 1011, 504, + 1013, 505, 1015, 506, 1017, 507, 1019, 508, 1021, 509, 1023, 510, 1025, + 511, 1027, 512, 1029, 513, 1031, 514, 1033, 515, 1035, 516, 1037, 517, + 1039, 518, 1041, 519, 1043, 520, 1045, 521, 1047, 522, 1049, 523, 1051, + 0, 1053, 0, 1055, 0, 1057, 0, 1059, 524, 1061, 525, 1063, 526, 1065, 527, 1067, 528, 1069, 529, 1071, 530, 1073, 531, 1075, 532, 1077, 533, 1079, 534, 1081, 535, 1083, 536, 1085, 537, 1087, 538, 1089, 539, 1091, 540, 1093, 541, 1095, 542, 1097, 543, 1099, 544, 1101, 545, 1103, 546, 1105, 547, 1107, 548, 1109, 549, 1111, 550, 1113, 551, 1115, 552, 1117, 553, 1119, 554, 1121, 555, 1123, 556, 1125, 557, 1127, 558, 1129, 559, 1131, - 560, 1133, 561, 1135, 562, 1137, 563, 1139, 564, 1141, 565, 1143, 566, - 1145, 567, 1147, 568, 1149, 569, 1151, 570, 1153, 571, 1155, 572, 1157, - 573, 1159, 574, 1161, 575, 1163, 576, 1165, 577, 1167, 578, 1169, 579, - 1171, 580, 1173, 581, 1175, 582, 1177, 583, 1179, 584, 1181, 585, 1183, - 586, 1185, 587, 1187, 588, 1189, 589, 1191, 590, 1193, 591, 1195, 592, - 1197, 593, 1199, 594, 1201, 595, 1203, 596, 1205, 597, 1207, 598, 1209, - 599, 1211, 600, 1213, 601, 1215, 602, 1217, 603, 1219, 604, 1221, 605, - 1223, 606, 1225, 607, 1227, 608, 1229, 609, 1231, 610, 1233, 611, 1235, - 612, 1237, 613, 1239, 614, 1241, 615, 1243, 616, 1245, 617, 1247, 618, - 1249, 619, 1251, 620, 1253, 621, 1255, 622, 1257, 623, 1259, 624, 1261, - 625, 1263, 626, 1265, 627, 1267, 628, 1269, 629, 1271, 630, 1273, 631, - 1275, 632, 1277, 633, 1279, 634, 1281, 635, 1283, 636, 1285, 637, 1287, - 638, 1289, 639, 1291, 640, 1293, 641, 1295, 642, 1297, 643, 1299, 644, - 1301, 645, 1303, 646, 1305, 647, 1307, 648, 1309, 649, 1311, 650, 1313, - 651, 1315, 652, 1317, 653, 1319, 654, 1321, 655, 1323, 656, 1325, 657, - 1327, 658, 1329, 659, 1331, 660, 1333, 661, 1335, 662, 1337, 663, 1339, - 664, 1341, 0, 1343, 0, 1345, 0, 1347, 665, 1349, 666, 1351, 667, 1353, - 668, 1355, 669, 1357, 670, 1359, 671, 1361, 672, 1363, 673, 1365, 674, - 1367, 0, 1369, 675, 1371, 676, 1373, 677, 1375, 0, 1377, 678, 1379, 679, - 1381, 680, 1383, 681, 1385, 682, 1387, 683, 1389, 684, 1391, 685, 1393, - 686, 1395, 687, 1397, 688, 1399, 0, 1401, 689, 1403, 690, 1405, 691, 1407, - 692, 1409, 693, 1411, 694, 1413, 695, 1415, 696, 1417, 697, 1419, 698, - 1421, 699, 1423, 700, 1425, 0, 1427, 701, 1429, 702, 1431, 0, 1433, 0, - 1435, 0, 1437, 703, 1439, 0, 1441, 0, 1443, 707, 1445, 704, 1447, 705, - 1449, 706, 5, 0, 1, 2, 3, 4, 51, 1, 0, 48, 57, 2, 0, 43, 43, 45, 45, 9, - 0, 33, 33, 35, 35, 37, 38, 42, 42, 60, 64, 94, 94, 96, 96, 124, 124, 126, - 126, 2, 0, 42, 43, 60, 62, 8, 0, 33, 33, 35, 35, 37, 38, 63, 64, 94, 94, - 96, 96, 124, 124, 126, 126, 2, 0, 65, 65, 97, 97, 2, 0, 76, 76, 108, 108, - 2, 0, 78, 78, 110, 110, 2, 0, 89, 89, 121, 121, 2, 0, 83, 83, 115, 115, - 2, 0, 69, 69, 101, 101, 2, 0, 90, 90, 122, 122, 2, 0, 68, 68, 100, 100, - 2, 0, 82, 82, 114, 114, 2, 0, 67, 67, 99, 99, 2, 0, 77, 77, 109, 109, 2, - 0, 84, 84, 116, 116, 2, 0, 73, 73, 105, 105, 2, 0, 66, 66, 98, 98, 2, 0, - 79, 79, 111, 111, 2, 0, 72, 72, 104, 104, 2, 0, 75, 75, 107, 107, 2, 0, - 85, 85, 117, 117, 2, 0, 71, 71, 103, 103, 2, 0, 80, 80, 112, 112, 2, 0, - 70, 70, 102, 102, 2, 0, 88, 88, 120, 120, 2, 0, 86, 86, 118, 118, 2, 0, - 81, 81, 113, 113, 2, 0, 87, 87, 119, 119, 2, 0, 74, 74, 106, 106, 9, 0, - 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, - 248, 255, 2, 0, 256, 55295, 57344, 65535, 1, 0, 55296, 56319, 1, 0, 56320, - 57343, 2, 0, 0, 0, 34, 34, 1, 0, 34, 34, 1, 0, 39, 39, 1, 0, 48, 49, 3, - 0, 48, 57, 65, 70, 97, 102, 3, 0, 65, 90, 95, 95, 97, 122, 5, 0, 36, 36, - 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 34, 34, 92, 92, 2, 0, 9, 9, 32, - 32, 2, 0, 10, 10, 13, 13, 2, 0, 42, 42, 47, 47, 4, 0, 10, 10, 13, 13, 34, - 34, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 85, 85, 117, 117, 120, - 120, 2, 0, 39, 39, 92, 92, 1, 0, 36, 36, 7193, 0, 5, 1, 0, 0, 0, 0, 7, - 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, - 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, - 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, - 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, - 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, - 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, - 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, - 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, - 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, - 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, - 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, - 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, - 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, - 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, - 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, - 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, - 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, - 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, - 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, - 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, - 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, - 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, - 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, - 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, - 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, - 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, - 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, - 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, - 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, - 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, - 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, - 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, - 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, - 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, - 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, - 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, - 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, - 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, - 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, 1, 0, 0, 0, 0, 299, - 1, 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, 0, 305, 1, 0, 0, 0, - 0, 307, 1, 0, 0, 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, 0, 0, 0, 313, 1, - 0, 0, 0, 0, 315, 1, 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, 1, 0, 0, 0, 0, - 321, 1, 0, 0, 0, 0, 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, 0, 327, 1, 0, - 0, 0, 0, 329, 1, 0, 0, 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, 0, 0, 0, 335, - 1, 0, 0, 0, 0, 337, 1, 0, 0, 0, 0, 339, 1, 0, 0, 0, 0, 341, 1, 0, 0, 0, - 0, 343, 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, 347, 1, 0, 0, 0, 0, 349, 1, - 0, 0, 0, 0, 351, 1, 0, 0, 0, 0, 353, 1, 0, 0, 0, 0, 355, 1, 0, 0, 0, 0, - 357, 1, 0, 0, 0, 0, 359, 1, 0, 0, 0, 0, 361, 1, 0, 0, 0, 0, 363, 1, 0, - 0, 0, 0, 365, 1, 0, 0, 0, 0, 367, 1, 0, 0, 0, 0, 369, 1, 0, 0, 0, 0, 371, - 1, 0, 0, 0, 0, 373, 1, 0, 0, 0, 0, 375, 1, 0, 0, 0, 0, 377, 1, 0, 0, 0, - 0, 379, 1, 0, 0, 0, 0, 381, 1, 0, 0, 0, 0, 383, 1, 0, 0, 0, 0, 385, 1, - 0, 0, 0, 0, 387, 1, 0, 0, 0, 0, 389, 1, 0, 0, 0, 0, 391, 1, 0, 0, 0, 0, - 393, 1, 0, 0, 0, 0, 395, 1, 0, 0, 0, 0, 397, 1, 0, 0, 0, 0, 399, 1, 0, - 0, 0, 0, 401, 1, 0, 0, 0, 0, 403, 1, 0, 0, 0, 0, 405, 1, 0, 0, 0, 0, 407, - 1, 0, 0, 0, 0, 409, 1, 0, 0, 0, 0, 411, 1, 0, 0, 0, 0, 413, 1, 0, 0, 0, - 0, 415, 1, 0, 0, 0, 0, 417, 1, 0, 0, 0, 0, 419, 1, 0, 0, 0, 0, 421, 1, - 0, 0, 0, 0, 423, 1, 0, 0, 0, 0, 425, 1, 0, 0, 0, 0, 427, 1, 0, 0, 0, 0, - 429, 1, 0, 0, 0, 0, 431, 1, 0, 0, 0, 0, 433, 1, 0, 0, 0, 0, 435, 1, 0, - 0, 0, 0, 437, 1, 0, 0, 0, 0, 439, 1, 0, 0, 0, 0, 441, 1, 0, 0, 0, 0, 443, - 1, 0, 0, 0, 0, 445, 1, 0, 0, 0, 0, 447, 1, 0, 0, 0, 0, 449, 1, 0, 0, 0, - 0, 451, 1, 0, 0, 0, 0, 453, 1, 0, 0, 0, 0, 455, 1, 0, 0, 0, 0, 457, 1, - 0, 0, 0, 0, 459, 1, 0, 0, 0, 0, 461, 1, 0, 0, 0, 0, 463, 1, 0, 0, 0, 0, - 465, 1, 0, 0, 0, 0, 467, 1, 0, 0, 0, 0, 469, 1, 0, 0, 0, 0, 471, 1, 0, - 0, 0, 0, 473, 1, 0, 0, 0, 0, 475, 1, 0, 0, 0, 0, 477, 1, 0, 0, 0, 0, 479, - 1, 0, 0, 0, 0, 481, 1, 0, 0, 0, 0, 483, 1, 0, 0, 0, 0, 485, 1, 0, 0, 0, - 0, 487, 1, 0, 0, 0, 0, 489, 1, 0, 0, 0, 0, 491, 1, 0, 0, 0, 0, 493, 1, - 0, 0, 0, 0, 495, 1, 0, 0, 0, 0, 497, 1, 0, 0, 0, 0, 499, 1, 0, 0, 0, 0, - 501, 1, 0, 0, 0, 0, 503, 1, 0, 0, 0, 0, 505, 1, 0, 0, 0, 0, 507, 1, 0, - 0, 0, 0, 509, 1, 0, 0, 0, 0, 511, 1, 0, 0, 0, 0, 513, 1, 0, 0, 0, 0, 515, - 1, 0, 0, 0, 0, 517, 1, 0, 0, 0, 0, 519, 1, 0, 0, 0, 0, 521, 1, 0, 0, 0, - 0, 523, 1, 0, 0, 0, 0, 525, 1, 0, 0, 0, 0, 527, 1, 0, 0, 0, 0, 529, 1, - 0, 0, 0, 0, 531, 1, 0, 0, 0, 0, 533, 1, 0, 0, 0, 0, 535, 1, 0, 0, 0, 0, - 537, 1, 0, 0, 0, 0, 539, 1, 0, 0, 0, 0, 541, 1, 0, 0, 0, 0, 543, 1, 0, - 0, 0, 0, 545, 1, 0, 0, 0, 0, 547, 1, 0, 0, 0, 0, 549, 1, 0, 0, 0, 0, 551, - 1, 0, 0, 0, 0, 553, 1, 0, 0, 0, 0, 555, 1, 0, 0, 0, 0, 557, 1, 0, 0, 0, - 0, 559, 1, 0, 0, 0, 0, 561, 1, 0, 0, 0, 0, 563, 1, 0, 0, 0, 0, 565, 1, - 0, 0, 0, 0, 567, 1, 0, 0, 0, 0, 569, 1, 0, 0, 0, 0, 571, 1, 0, 0, 0, 0, - 573, 1, 0, 0, 0, 0, 575, 1, 0, 0, 0, 0, 577, 1, 0, 0, 0, 0, 579, 1, 0, - 0, 0, 0, 581, 1, 0, 0, 0, 0, 583, 1, 0, 0, 0, 0, 585, 1, 0, 0, 0, 0, 587, - 1, 0, 0, 0, 0, 589, 1, 0, 0, 0, 0, 591, 1, 0, 0, 0, 0, 593, 1, 0, 0, 0, - 0, 595, 1, 0, 0, 0, 0, 597, 1, 0, 0, 0, 0, 599, 1, 0, 0, 0, 0, 601, 1, - 0, 0, 0, 0, 603, 1, 0, 0, 0, 0, 605, 1, 0, 0, 0, 0, 607, 1, 0, 0, 0, 0, - 609, 1, 0, 0, 0, 0, 611, 1, 0, 0, 0, 0, 613, 1, 0, 0, 0, 0, 615, 1, 0, - 0, 0, 0, 617, 1, 0, 0, 0, 0, 619, 1, 0, 0, 0, 0, 621, 1, 0, 0, 0, 0, 623, - 1, 0, 0, 0, 0, 625, 1, 0, 0, 0, 0, 627, 1, 0, 0, 0, 0, 629, 1, 0, 0, 0, - 0, 631, 1, 0, 0, 0, 0, 633, 1, 0, 0, 0, 0, 635, 1, 0, 0, 0, 0, 637, 1, - 0, 0, 0, 0, 639, 1, 0, 0, 0, 0, 641, 1, 0, 0, 0, 0, 643, 1, 0, 0, 0, 0, - 645, 1, 0, 0, 0, 0, 647, 1, 0, 0, 0, 0, 649, 1, 0, 0, 0, 0, 651, 1, 0, - 0, 0, 0, 653, 1, 0, 0, 0, 0, 655, 1, 0, 0, 0, 0, 657, 1, 0, 0, 0, 0, 659, - 1, 0, 0, 0, 0, 661, 1, 0, 0, 0, 0, 663, 1, 0, 0, 0, 0, 665, 1, 0, 0, 0, - 0, 667, 1, 0, 0, 0, 0, 669, 1, 0, 0, 0, 0, 671, 1, 0, 0, 0, 0, 673, 1, - 0, 0, 0, 0, 675, 1, 0, 0, 0, 0, 677, 1, 0, 0, 0, 0, 679, 1, 0, 0, 0, 0, - 681, 1, 0, 0, 0, 0, 683, 1, 0, 0, 0, 0, 685, 1, 0, 0, 0, 0, 687, 1, 0, - 0, 0, 0, 689, 1, 0, 0, 0, 0, 691, 1, 0, 0, 0, 0, 693, 1, 0, 0, 0, 0, 695, - 1, 0, 0, 0, 0, 697, 1, 0, 0, 0, 0, 699, 1, 0, 0, 0, 0, 701, 1, 0, 0, 0, - 0, 703, 1, 0, 0, 0, 0, 705, 1, 0, 0, 0, 0, 707, 1, 0, 0, 0, 0, 709, 1, - 0, 0, 0, 0, 711, 1, 0, 0, 0, 0, 713, 1, 0, 0, 0, 0, 715, 1, 0, 0, 0, 0, - 717, 1, 0, 0, 0, 0, 719, 1, 0, 0, 0, 0, 721, 1, 0, 0, 0, 0, 723, 1, 0, - 0, 0, 0, 725, 1, 0, 0, 0, 0, 727, 1, 0, 0, 0, 0, 729, 1, 0, 0, 0, 0, 731, - 1, 0, 0, 0, 0, 733, 1, 0, 0, 0, 0, 735, 1, 0, 0, 0, 0, 737, 1, 0, 0, 0, - 0, 739, 1, 0, 0, 0, 0, 741, 1, 0, 0, 0, 0, 743, 1, 0, 0, 0, 0, 745, 1, - 0, 0, 0, 0, 747, 1, 0, 0, 0, 0, 749, 1, 0, 0, 0, 0, 751, 1, 0, 0, 0, 0, - 753, 1, 0, 0, 0, 0, 755, 1, 0, 0, 0, 0, 757, 1, 0, 0, 0, 0, 759, 1, 0, - 0, 0, 0, 761, 1, 0, 0, 0, 0, 763, 1, 0, 0, 0, 0, 765, 1, 0, 0, 0, 0, 767, - 1, 0, 0, 0, 0, 769, 1, 0, 0, 0, 0, 771, 1, 0, 0, 0, 0, 773, 1, 0, 0, 0, - 0, 775, 1, 0, 0, 0, 0, 777, 1, 0, 0, 0, 0, 779, 1, 0, 0, 0, 0, 781, 1, - 0, 0, 0, 0, 783, 1, 0, 0, 0, 0, 785, 1, 0, 0, 0, 0, 787, 1, 0, 0, 0, 0, - 789, 1, 0, 0, 0, 0, 791, 1, 0, 0, 0, 0, 793, 1, 0, 0, 0, 0, 795, 1, 0, - 0, 0, 0, 797, 1, 0, 0, 0, 0, 799, 1, 0, 0, 0, 0, 801, 1, 0, 0, 0, 0, 803, - 1, 0, 0, 0, 0, 805, 1, 0, 0, 0, 0, 807, 1, 0, 0, 0, 0, 809, 1, 0, 0, 0, - 0, 811, 1, 0, 0, 0, 0, 813, 1, 0, 0, 0, 0, 815, 1, 0, 0, 0, 0, 817, 1, - 0, 0, 0, 0, 819, 1, 0, 0, 0, 0, 821, 1, 0, 0, 0, 0, 823, 1, 0, 0, 0, 0, - 825, 1, 0, 0, 0, 0, 827, 1, 0, 0, 0, 0, 829, 1, 0, 0, 0, 0, 831, 1, 0, - 0, 0, 0, 833, 1, 0, 0, 0, 0, 835, 1, 0, 0, 0, 0, 837, 1, 0, 0, 0, 0, 839, - 1, 0, 0, 0, 0, 841, 1, 0, 0, 0, 0, 843, 1, 0, 0, 0, 0, 845, 1, 0, 0, 0, - 0, 847, 1, 0, 0, 0, 0, 849, 1, 0, 0, 0, 0, 851, 1, 0, 0, 0, 0, 853, 1, - 0, 0, 0, 0, 855, 1, 0, 0, 0, 0, 857, 1, 0, 0, 0, 0, 859, 1, 0, 0, 0, 0, - 861, 1, 0, 0, 0, 0, 863, 1, 0, 0, 0, 0, 865, 1, 0, 0, 0, 0, 867, 1, 0, - 0, 0, 0, 869, 1, 0, 0, 0, 0, 871, 1, 0, 0, 0, 0, 873, 1, 0, 0, 0, 0, 875, - 1, 0, 0, 0, 0, 877, 1, 0, 0, 0, 0, 879, 1, 0, 0, 0, 0, 881, 1, 0, 0, 0, - 0, 883, 1, 0, 0, 0, 0, 885, 1, 0, 0, 0, 0, 887, 1, 0, 0, 0, 0, 889, 1, - 0, 0, 0, 0, 891, 1, 0, 0, 0, 0, 893, 1, 0, 0, 0, 0, 895, 1, 0, 0, 0, 0, - 897, 1, 0, 0, 0, 0, 899, 1, 0, 0, 0, 0, 901, 1, 0, 0, 0, 0, 903, 1, 0, - 0, 0, 0, 905, 1, 0, 0, 0, 0, 907, 1, 0, 0, 0, 0, 909, 1, 0, 0, 0, 0, 911, - 1, 0, 0, 0, 0, 913, 1, 0, 0, 0, 0, 915, 1, 0, 0, 0, 0, 917, 1, 0, 0, 0, - 0, 919, 1, 0, 0, 0, 0, 921, 1, 0, 0, 0, 0, 923, 1, 0, 0, 0, 0, 925, 1, - 0, 0, 0, 0, 927, 1, 0, 0, 0, 0, 929, 1, 0, 0, 0, 0, 931, 1, 0, 0, 0, 0, - 933, 1, 0, 0, 0, 0, 935, 1, 0, 0, 0, 0, 937, 1, 0, 0, 0, 0, 939, 1, 0, - 0, 0, 0, 941, 1, 0, 0, 0, 0, 943, 1, 0, 0, 0, 0, 945, 1, 0, 0, 0, 0, 947, - 1, 0, 0, 0, 0, 949, 1, 0, 0, 0, 0, 951, 1, 0, 0, 0, 0, 953, 1, 0, 0, 0, - 0, 955, 1, 0, 0, 0, 0, 957, 1, 0, 0, 0, 0, 959, 1, 0, 0, 0, 0, 961, 1, - 0, 0, 0, 0, 963, 1, 0, 0, 0, 0, 965, 1, 0, 0, 0, 0, 967, 1, 0, 0, 0, 0, - 969, 1, 0, 0, 0, 0, 971, 1, 0, 0, 0, 0, 973, 1, 0, 0, 0, 0, 975, 1, 0, - 0, 0, 0, 977, 1, 0, 0, 0, 0, 979, 1, 0, 0, 0, 0, 981, 1, 0, 0, 0, 0, 983, - 1, 0, 0, 0, 0, 985, 1, 0, 0, 0, 0, 987, 1, 0, 0, 0, 0, 989, 1, 0, 0, 0, - 0, 991, 1, 0, 0, 0, 0, 993, 1, 0, 0, 0, 0, 995, 1, 0, 0, 0, 0, 997, 1, - 0, 0, 0, 0, 999, 1, 0, 0, 0, 0, 1001, 1, 0, 0, 0, 0, 1003, 1, 0, 0, 0, - 0, 1005, 1, 0, 0, 0, 0, 1007, 1, 0, 0, 0, 0, 1009, 1, 0, 0, 0, 0, 1011, - 1, 0, 0, 0, 0, 1013, 1, 0, 0, 0, 0, 1015, 1, 0, 0, 0, 0, 1017, 1, 0, 0, - 0, 0, 1019, 1, 0, 0, 0, 0, 1021, 1, 0, 0, 0, 0, 1023, 1, 0, 0, 0, 0, 1025, - 1, 0, 0, 0, 0, 1027, 1, 0, 0, 0, 0, 1029, 1, 0, 0, 0, 0, 1031, 1, 0, 0, - 0, 0, 1033, 1, 0, 0, 0, 0, 1035, 1, 0, 0, 0, 0, 1037, 1, 0, 0, 0, 0, 1039, - 1, 0, 0, 0, 0, 1041, 1, 0, 0, 0, 0, 1043, 1, 0, 0, 0, 0, 1045, 1, 0, 0, - 0, 0, 1047, 1, 0, 0, 0, 0, 1049, 1, 0, 0, 0, 0, 1051, 1, 0, 0, 0, 0, 1053, - 1, 0, 0, 0, 0, 1055, 1, 0, 0, 0, 0, 1057, 1, 0, 0, 0, 0, 1059, 1, 0, 0, - 0, 0, 1061, 1, 0, 0, 0, 0, 1063, 1, 0, 0, 0, 0, 1065, 1, 0, 0, 0, 0, 1067, - 1, 0, 0, 0, 0, 1069, 1, 0, 0, 0, 0, 1071, 1, 0, 0, 0, 0, 1073, 1, 0, 0, - 0, 0, 1075, 1, 0, 0, 0, 0, 1077, 1, 0, 0, 0, 0, 1079, 1, 0, 0, 0, 0, 1081, - 1, 0, 0, 0, 0, 1083, 1, 0, 0, 0, 0, 1085, 1, 0, 0, 0, 0, 1087, 1, 0, 0, - 0, 0, 1089, 1, 0, 0, 0, 0, 1091, 1, 0, 0, 0, 0, 1093, 1, 0, 0, 0, 0, 1095, - 1, 0, 0, 0, 0, 1097, 1, 0, 0, 0, 0, 1099, 1, 0, 0, 0, 0, 1101, 1, 0, 0, - 0, 0, 1103, 1, 0, 0, 0, 0, 1105, 1, 0, 0, 0, 0, 1107, 1, 0, 0, 0, 0, 1109, - 1, 0, 0, 0, 0, 1111, 1, 0, 0, 0, 0, 1113, 1, 0, 0, 0, 0, 1115, 1, 0, 0, - 0, 0, 1117, 1, 0, 0, 0, 0, 1119, 1, 0, 0, 0, 0, 1121, 1, 0, 0, 0, 0, 1123, - 1, 0, 0, 0, 0, 1125, 1, 0, 0, 0, 0, 1127, 1, 0, 0, 0, 0, 1129, 1, 0, 0, - 0, 0, 1131, 1, 0, 0, 0, 0, 1133, 1, 0, 0, 0, 0, 1135, 1, 0, 0, 0, 0, 1137, - 1, 0, 0, 0, 0, 1139, 1, 0, 0, 0, 0, 1141, 1, 0, 0, 0, 0, 1143, 1, 0, 0, - 0, 0, 1145, 1, 0, 0, 0, 0, 1147, 1, 0, 0, 0, 0, 1149, 1, 0, 0, 0, 0, 1151, - 1, 0, 0, 0, 0, 1153, 1, 0, 0, 0, 0, 1155, 1, 0, 0, 0, 0, 1157, 1, 0, 0, - 0, 0, 1159, 1, 0, 0, 0, 0, 1161, 1, 0, 0, 0, 0, 1163, 1, 0, 0, 0, 0, 1165, - 1, 0, 0, 0, 0, 1167, 1, 0, 0, 0, 0, 1169, 1, 0, 0, 0, 0, 1171, 1, 0, 0, - 0, 0, 1173, 1, 0, 0, 0, 0, 1175, 1, 0, 0, 0, 0, 1177, 1, 0, 0, 0, 0, 1179, - 1, 0, 0, 0, 0, 1181, 1, 0, 0, 0, 0, 1183, 1, 0, 0, 0, 0, 1185, 1, 0, 0, - 0, 0, 1187, 1, 0, 0, 0, 0, 1189, 1, 0, 0, 0, 0, 1191, 1, 0, 0, 0, 0, 1193, - 1, 0, 0, 0, 0, 1195, 1, 0, 0, 0, 0, 1197, 1, 0, 0, 0, 0, 1199, 1, 0, 0, - 0, 0, 1201, 1, 0, 0, 0, 0, 1203, 1, 0, 0, 0, 0, 1205, 1, 0, 0, 0, 0, 1207, - 1, 0, 0, 0, 0, 1209, 1, 0, 0, 0, 0, 1211, 1, 0, 0, 0, 0, 1213, 1, 0, 0, - 0, 0, 1215, 1, 0, 0, 0, 0, 1217, 1, 0, 0, 0, 0, 1219, 1, 0, 0, 0, 0, 1221, - 1, 0, 0, 0, 0, 1223, 1, 0, 0, 0, 0, 1225, 1, 0, 0, 0, 0, 1227, 1, 0, 0, - 0, 0, 1229, 1, 0, 0, 0, 0, 1231, 1, 0, 0, 0, 0, 1233, 1, 0, 0, 0, 0, 1235, - 1, 0, 0, 0, 0, 1237, 1, 0, 0, 0, 0, 1239, 1, 0, 0, 0, 0, 1241, 1, 0, 0, - 0, 0, 1243, 1, 0, 0, 0, 0, 1245, 1, 0, 0, 0, 0, 1247, 1, 0, 0, 0, 0, 1249, - 1, 0, 0, 0, 0, 1251, 1, 0, 0, 0, 0, 1253, 1, 0, 0, 0, 0, 1255, 1, 0, 0, - 0, 0, 1257, 1, 0, 0, 0, 0, 1259, 1, 0, 0, 0, 0, 1261, 1, 0, 0, 0, 0, 1263, - 1, 0, 0, 0, 0, 1265, 1, 0, 0, 0, 0, 1267, 1, 0, 0, 0, 0, 1269, 1, 0, 0, - 0, 0, 1271, 1, 0, 0, 0, 0, 1273, 1, 0, 0, 0, 0, 1275, 1, 0, 0, 0, 0, 1277, - 1, 0, 0, 0, 0, 1279, 1, 0, 0, 0, 0, 1281, 1, 0, 0, 0, 0, 1283, 1, 0, 0, - 0, 0, 1285, 1, 0, 0, 0, 0, 1287, 1, 0, 0, 0, 0, 1289, 1, 0, 0, 0, 0, 1291, - 1, 0, 0, 0, 0, 1293, 1, 0, 0, 0, 0, 1295, 1, 0, 0, 0, 0, 1297, 1, 0, 0, - 0, 0, 1299, 1, 0, 0, 0, 0, 1301, 1, 0, 0, 0, 0, 1303, 1, 0, 0, 0, 0, 1305, - 1, 0, 0, 0, 0, 1307, 1, 0, 0, 0, 0, 1309, 1, 0, 0, 0, 0, 1311, 1, 0, 0, - 0, 0, 1313, 1, 0, 0, 0, 0, 1315, 1, 0, 0, 0, 0, 1317, 1, 0, 0, 0, 0, 1319, - 1, 0, 0, 0, 0, 1321, 1, 0, 0, 0, 0, 1323, 1, 0, 0, 0, 0, 1325, 1, 0, 0, - 0, 0, 1327, 1, 0, 0, 0, 0, 1329, 1, 0, 0, 0, 0, 1331, 1, 0, 0, 0, 0, 1333, - 1, 0, 0, 0, 0, 1335, 1, 0, 0, 0, 0, 1337, 1, 0, 0, 0, 0, 1339, 1, 0, 0, - 0, 0, 1347, 1, 0, 0, 0, 0, 1349, 1, 0, 0, 0, 0, 1351, 1, 0, 0, 0, 0, 1353, - 1, 0, 0, 0, 0, 1355, 1, 0, 0, 0, 0, 1357, 1, 0, 0, 0, 0, 1359, 1, 0, 0, - 0, 0, 1361, 1, 0, 0, 0, 0, 1363, 1, 0, 0, 0, 0, 1365, 1, 0, 0, 0, 0, 1367, - 1, 0, 0, 0, 0, 1369, 1, 0, 0, 0, 0, 1371, 1, 0, 0, 0, 0, 1373, 1, 0, 0, - 0, 0, 1377, 1, 0, 0, 0, 0, 1379, 1, 0, 0, 0, 0, 1381, 1, 0, 0, 0, 0, 1383, - 1, 0, 0, 0, 0, 1385, 1, 0, 0, 0, 0, 1387, 1, 0, 0, 0, 0, 1389, 1, 0, 0, - 0, 0, 1391, 1, 0, 0, 0, 0, 1393, 1, 0, 0, 0, 0, 1395, 1, 0, 0, 0, 0, 1397, - 1, 0, 0, 0, 0, 1401, 1, 0, 0, 0, 0, 1403, 1, 0, 0, 0, 0, 1405, 1, 0, 0, - 0, 0, 1407, 1, 0, 0, 0, 0, 1409, 1, 0, 0, 0, 0, 1411, 1, 0, 0, 0, 0, 1413, - 1, 0, 0, 0, 0, 1415, 1, 0, 0, 0, 0, 1417, 1, 0, 0, 0, 0, 1419, 1, 0, 0, - 0, 1, 1421, 1, 0, 0, 0, 1, 1423, 1, 0, 0, 0, 1, 1427, 1, 0, 0, 0, 1, 1429, - 1, 0, 0, 0, 2, 1433, 1, 0, 0, 0, 2, 1435, 1, 0, 0, 0, 2, 1437, 1, 0, 0, - 0, 3, 1439, 1, 0, 0, 0, 3, 1441, 1, 0, 0, 0, 3, 1443, 1, 0, 0, 0, 3, 1445, - 1, 0, 0, 0, 4, 1447, 1, 0, 0, 0, 4, 1449, 1, 0, 0, 0, 5, 1451, 1, 0, 0, - 0, 7, 1453, 1, 0, 0, 0, 9, 1455, 1, 0, 0, 0, 11, 1457, 1, 0, 0, 0, 13, - 1459, 1, 0, 0, 0, 15, 1461, 1, 0, 0, 0, 17, 1463, 1, 0, 0, 0, 19, 1465, - 1, 0, 0, 0, 21, 1467, 1, 0, 0, 0, 23, 1469, 1, 0, 0, 0, 25, 1471, 1, 0, - 0, 0, 27, 1473, 1, 0, 0, 0, 29, 1475, 1, 0, 0, 0, 31, 1477, 1, 0, 0, 0, - 33, 1479, 1, 0, 0, 0, 35, 1481, 1, 0, 0, 0, 37, 1483, 1, 0, 0, 0, 39, 1485, - 1, 0, 0, 0, 41, 1488, 1, 0, 0, 0, 43, 1491, 1, 0, 0, 0, 45, 1494, 1, 0, - 0, 0, 47, 1497, 1, 0, 0, 0, 49, 1500, 1, 0, 0, 0, 51, 1503, 1, 0, 0, 0, - 53, 1506, 1, 0, 0, 0, 55, 1509, 1, 0, 0, 0, 57, 1512, 1, 0, 0, 0, 59, 1514, - 1, 0, 0, 0, 61, 1540, 1, 0, 0, 0, 63, 1551, 1, 0, 0, 0, 65, 1567, 1, 0, - 0, 0, 67, 1569, 1, 0, 0, 0, 69, 1571, 1, 0, 0, 0, 71, 1573, 1, 0, 0, 0, - 73, 1577, 1, 0, 0, 0, 75, 1585, 1, 0, 0, 0, 77, 1593, 1, 0, 0, 0, 79, 1597, - 1, 0, 0, 0, 81, 1601, 1, 0, 0, 0, 83, 1607, 1, 0, 0, 0, 85, 1610, 1, 0, - 0, 0, 87, 1614, 1, 0, 0, 0, 89, 1625, 1, 0, 0, 0, 91, 1630, 1, 0, 0, 0, - 93, 1635, 1, 0, 0, 0, 95, 1640, 1, 0, 0, 0, 97, 1646, 1, 0, 0, 0, 99, 1654, - 1, 0, 0, 0, 101, 1661, 1, 0, 0, 0, 103, 1672, 1, 0, 0, 0, 105, 1679, 1, - 0, 0, 0, 107, 1695, 1, 0, 0, 0, 109, 1708, 1, 0, 0, 0, 111, 1721, 1, 0, - 0, 0, 113, 1734, 1, 0, 0, 0, 115, 1752, 1, 0, 0, 0, 117, 1765, 1, 0, 0, - 0, 119, 1773, 1, 0, 0, 0, 121, 1784, 1, 0, 0, 0, 123, 1789, 1, 0, 0, 0, - 125, 1798, 1, 0, 0, 0, 127, 1801, 1, 0, 0, 0, 129, 1806, 1, 0, 0, 0, 131, - 1813, 1, 0, 0, 0, 133, 1819, 1, 0, 0, 0, 135, 1825, 1, 0, 0, 0, 137, 1829, - 1, 0, 0, 0, 139, 1837, 1, 0, 0, 0, 141, 1842, 1, 0, 0, 0, 143, 1848, 1, - 0, 0, 0, 145, 1854, 1, 0, 0, 0, 147, 1861, 1, 0, 0, 0, 149, 1864, 1, 0, - 0, 0, 151, 1874, 1, 0, 0, 0, 153, 1884, 1, 0, 0, 0, 155, 1889, 1, 0, 0, - 0, 157, 1897, 1, 0, 0, 0, 159, 1905, 1, 0, 0, 0, 161, 1911, 1, 0, 0, 0, - 163, 1921, 1, 0, 0, 0, 165, 1936, 1, 0, 0, 0, 167, 1940, 1, 0, 0, 0, 169, - 1945, 1, 0, 0, 0, 171, 1952, 1, 0, 0, 0, 173, 1955, 1, 0, 0, 0, 175, 1960, - 1, 0, 0, 0, 177, 1963, 1, 0, 0, 0, 179, 1969, 1, 0, 0, 0, 181, 1977, 1, - 0, 0, 0, 183, 1985, 1, 0, 0, 0, 185, 1996, 1, 0, 0, 0, 187, 2006, 1, 0, - 0, 0, 189, 2013, 1, 0, 0, 0, 191, 2026, 1, 0, 0, 0, 193, 2031, 1, 0, 0, - 0, 195, 2041, 1, 0, 0, 0, 197, 2047, 1, 0, 0, 0, 199, 2052, 1, 0, 0, 0, - 201, 2055, 1, 0, 0, 0, 203, 2064, 1, 0, 0, 0, 205, 2069, 1, 0, 0, 0, 207, - 2075, 1, 0, 0, 0, 209, 2082, 1, 0, 0, 0, 211, 2087, 1, 0, 0, 0, 213, 2093, - 1, 0, 0, 0, 215, 2102, 1, 0, 0, 0, 217, 2107, 1, 0, 0, 0, 219, 2113, 1, - 0, 0, 0, 221, 2120, 1, 0, 0, 0, 223, 2125, 1, 0, 0, 0, 225, 2137, 1, 0, - 0, 0, 227, 2148, 1, 0, 0, 0, 229, 2153, 1, 0, 0, 0, 231, 2165, 1, 0, 0, - 0, 233, 2180, 1, 0, 0, 0, 235, 2193, 1, 0, 0, 0, 237, 2204, 1, 0, 0, 0, - 239, 2216, 1, 0, 0, 0, 241, 2227, 1, 0, 0, 0, 243, 2233, 1, 0, 0, 0, 245, - 2238, 1, 0, 0, 0, 247, 2243, 1, 0, 0, 0, 249, 2250, 1, 0, 0, 0, 251, 2257, - 1, 0, 0, 0, 253, 2269, 1, 0, 0, 0, 255, 2283, 1, 0, 0, 0, 257, 2288, 1, - 0, 0, 0, 259, 2295, 1, 0, 0, 0, 261, 2302, 1, 0, 0, 0, 263, 2316, 1, 0, - 0, 0, 265, 2323, 1, 0, 0, 0, 267, 2333, 1, 0, 0, 0, 269, 2346, 1, 0, 0, - 0, 271, 2352, 1, 0, 0, 0, 273, 2367, 1, 0, 0, 0, 275, 2374, 1, 0, 0, 0, - 277, 2379, 1, 0, 0, 0, 279, 2385, 1, 0, 0, 0, 281, 2391, 1, 0, 0, 0, 283, - 2394, 1, 0, 0, 0, 285, 2401, 1, 0, 0, 0, 287, 2406, 1, 0, 0, 0, 289, 2411, - 1, 0, 0, 0, 291, 2416, 1, 0, 0, 0, 293, 2424, 1, 0, 0, 0, 295, 2432, 1, - 0, 0, 0, 297, 2438, 1, 0, 0, 0, 299, 2443, 1, 0, 0, 0, 301, 2452, 1, 0, - 0, 0, 303, 2458, 1, 0, 0, 0, 305, 2466, 1, 0, 0, 0, 307, 2474, 1, 0, 0, - 0, 309, 2480, 1, 0, 0, 0, 311, 2489, 1, 0, 0, 0, 313, 2496, 1, 0, 0, 0, - 315, 2503, 1, 0, 0, 0, 317, 2507, 1, 0, 0, 0, 319, 2513, 1, 0, 0, 0, 321, - 2519, 1, 0, 0, 0, 323, 2529, 1, 0, 0, 0, 325, 2534, 1, 0, 0, 0, 327, 2540, - 1, 0, 0, 0, 329, 2547, 1, 0, 0, 0, 331, 2557, 1, 0, 0, 0, 333, 2568, 1, - 0, 0, 0, 335, 2571, 1, 0, 0, 0, 337, 2581, 1, 0, 0, 0, 339, 2590, 1, 0, - 0, 0, 341, 2597, 1, 0, 0, 0, 343, 2603, 1, 0, 0, 0, 345, 2606, 1, 0, 0, - 0, 347, 2612, 1, 0, 0, 0, 349, 2619, 1, 0, 0, 0, 351, 2627, 1, 0, 0, 0, - 353, 2636, 1, 0, 0, 0, 355, 2644, 1, 0, 0, 0, 357, 2650, 1, 0, 0, 0, 359, - 2666, 1, 0, 0, 0, 361, 2677, 1, 0, 0, 0, 363, 2683, 1, 0, 0, 0, 365, 2689, - 1, 0, 0, 0, 367, 2697, 1, 0, 0, 0, 369, 2705, 1, 0, 0, 0, 371, 2714, 1, - 0, 0, 0, 373, 2721, 1, 0, 0, 0, 375, 2731, 1, 0, 0, 0, 377, 2745, 1, 0, - 0, 0, 379, 2756, 1, 0, 0, 0, 381, 2768, 1, 0, 0, 0, 383, 2776, 1, 0, 0, - 0, 385, 2785, 1, 0, 0, 0, 387, 2796, 1, 0, 0, 0, 389, 2801, 1, 0, 0, 0, - 391, 2806, 1, 0, 0, 0, 393, 2810, 1, 0, 0, 0, 395, 2817, 1, 0, 0, 0, 397, - 2823, 1, 0, 0, 0, 399, 2828, 1, 0, 0, 0, 401, 2837, 1, 0, 0, 0, 403, 2841, - 1, 0, 0, 0, 405, 2852, 1, 0, 0, 0, 407, 2860, 1, 0, 0, 0, 409, 2869, 1, - 0, 0, 0, 411, 2878, 1, 0, 0, 0, 413, 2886, 1, 0, 0, 0, 415, 2893, 1, 0, - 0, 0, 417, 2903, 1, 0, 0, 0, 419, 2914, 1, 0, 0, 0, 421, 2925, 1, 0, 0, - 0, 423, 2933, 1, 0, 0, 0, 425, 2941, 1, 0, 0, 0, 427, 2950, 1, 0, 0, 0, - 429, 2957, 1, 0, 0, 0, 431, 2964, 1, 0, 0, 0, 433, 2969, 1, 0, 0, 0, 435, - 2974, 1, 0, 0, 0, 437, 2981, 1, 0, 0, 0, 439, 2990, 1, 0, 0, 0, 441, 3000, - 1, 0, 0, 0, 443, 3005, 1, 0, 0, 0, 445, 3012, 1, 0, 0, 0, 447, 3018, 1, - 0, 0, 0, 449, 3026, 1, 0, 0, 0, 451, 3036, 1, 0, 0, 0, 453, 3046, 1, 0, - 0, 0, 455, 3054, 1, 0, 0, 0, 457, 3062, 1, 0, 0, 0, 459, 3072, 1, 0, 0, - 0, 461, 3081, 1, 0, 0, 0, 463, 3088, 1, 0, 0, 0, 465, 3094, 1, 0, 0, 0, - 467, 3104, 1, 0, 0, 0, 469, 3110, 1, 0, 0, 0, 471, 3118, 1, 0, 0, 0, 473, - 3127, 1, 0, 0, 0, 475, 3137, 1, 0, 0, 0, 477, 3144, 1, 0, 0, 0, 479, 3152, - 1, 0, 0, 0, 481, 3160, 1, 0, 0, 0, 483, 3167, 1, 0, 0, 0, 485, 3172, 1, - 0, 0, 0, 487, 3177, 1, 0, 0, 0, 489, 3186, 1, 0, 0, 0, 491, 3189, 1, 0, - 0, 0, 493, 3199, 1, 0, 0, 0, 495, 3209, 1, 0, 0, 0, 497, 3218, 1, 0, 0, - 0, 499, 3228, 1, 0, 0, 0, 501, 3238, 1, 0, 0, 0, 503, 3244, 1, 0, 0, 0, - 505, 3252, 1, 0, 0, 0, 507, 3260, 1, 0, 0, 0, 509, 3269, 1, 0, 0, 0, 511, - 3276, 1, 0, 0, 0, 513, 3288, 1, 0, 0, 0, 515, 3295, 1, 0, 0, 0, 517, 3303, - 1, 0, 0, 0, 519, 3311, 1, 0, 0, 0, 521, 3321, 1, 0, 0, 0, 523, 3325, 1, - 0, 0, 0, 525, 3331, 1, 0, 0, 0, 527, 3340, 1, 0, 0, 0, 529, 3346, 1, 0, - 0, 0, 531, 3351, 1, 0, 0, 0, 533, 3361, 1, 0, 0, 0, 535, 3367, 1, 0, 0, - 0, 537, 3374, 1, 0, 0, 0, 539, 3379, 1, 0, 0, 0, 541, 3385, 1, 0, 0, 0, - 543, 3394, 1, 0, 0, 0, 545, 3399, 1, 0, 0, 0, 547, 3407, 1, 0, 0, 0, 549, - 3413, 1, 0, 0, 0, 551, 3421, 1, 0, 0, 0, 553, 3434, 1, 0, 0, 0, 555, 3443, - 1, 0, 0, 0, 557, 3449, 1, 0, 0, 0, 559, 3456, 1, 0, 0, 0, 561, 3465, 1, - 0, 0, 0, 563, 3470, 1, 0, 0, 0, 565, 3476, 1, 0, 0, 0, 567, 3481, 1, 0, - 0, 0, 569, 3486, 1, 0, 0, 0, 571, 3492, 1, 0, 0, 0, 573, 3497, 1, 0, 0, - 0, 575, 3500, 1, 0, 0, 0, 577, 3508, 1, 0, 0, 0, 579, 3515, 1, 0, 0, 0, - 581, 3522, 1, 0, 0, 0, 583, 3528, 1, 0, 0, 0, 585, 3535, 1, 0, 0, 0, 587, - 3538, 1, 0, 0, 0, 589, 3542, 1, 0, 0, 0, 591, 3547, 1, 0, 0, 0, 593, 3556, - 1, 0, 0, 0, 595, 3563, 1, 0, 0, 0, 597, 3571, 1, 0, 0, 0, 599, 3577, 1, - 0, 0, 0, 601, 3583, 1, 0, 0, 0, 603, 3590, 1, 0, 0, 0, 605, 3598, 1, 0, - 0, 0, 607, 3608, 1, 0, 0, 0, 609, 3616, 1, 0, 0, 0, 611, 3625, 1, 0, 0, - 0, 613, 3631, 1, 0, 0, 0, 615, 3641, 1, 0, 0, 0, 617, 3649, 1, 0, 0, 0, - 619, 3658, 1, 0, 0, 0, 621, 3667, 1, 0, 0, 0, 623, 3673, 1, 0, 0, 0, 625, - 3684, 1, 0, 0, 0, 627, 3695, 1, 0, 0, 0, 629, 3705, 1, 0, 0, 0, 631, 3713, - 1, 0, 0, 0, 633, 3719, 1, 0, 0, 0, 635, 3725, 1, 0, 0, 0, 637, 3730, 1, - 0, 0, 0, 639, 3739, 1, 0, 0, 0, 641, 3747, 1, 0, 0, 0, 643, 3757, 1, 0, - 0, 0, 645, 3761, 1, 0, 0, 0, 647, 3769, 1, 0, 0, 0, 649, 3777, 1, 0, 0, - 0, 651, 3786, 1, 0, 0, 0, 653, 3794, 1, 0, 0, 0, 655, 3801, 1, 0, 0, 0, - 657, 3812, 1, 0, 0, 0, 659, 3820, 1, 0, 0, 0, 661, 3828, 1, 0, 0, 0, 663, - 3834, 1, 0, 0, 0, 665, 3842, 1, 0, 0, 0, 667, 3851, 1, 0, 0, 0, 669, 3859, - 1, 0, 0, 0, 671, 3866, 1, 0, 0, 0, 673, 3871, 1, 0, 0, 0, 675, 3880, 1, - 0, 0, 0, 677, 3885, 1, 0, 0, 0, 679, 3890, 1, 0, 0, 0, 681, 3900, 1, 0, - 0, 0, 683, 3907, 1, 0, 0, 0, 685, 3914, 1, 0, 0, 0, 687, 3921, 1, 0, 0, - 0, 689, 3928, 1, 0, 0, 0, 691, 3937, 1, 0, 0, 0, 693, 3946, 1, 0, 0, 0, - 695, 3956, 1, 0, 0, 0, 697, 3969, 1, 0, 0, 0, 699, 3976, 1, 0, 0, 0, 701, - 3984, 1, 0, 0, 0, 703, 3988, 1, 0, 0, 0, 705, 3994, 1, 0, 0, 0, 707, 3999, - 1, 0, 0, 0, 709, 4006, 1, 0, 0, 0, 711, 4015, 1, 0, 0, 0, 713, 4022, 1, - 0, 0, 0, 715, 4033, 1, 0, 0, 0, 717, 4039, 1, 0, 0, 0, 719, 4049, 1, 0, - 0, 0, 721, 4060, 1, 0, 0, 0, 723, 4066, 1, 0, 0, 0, 725, 4073, 1, 0, 0, - 0, 727, 4081, 1, 0, 0, 0, 729, 4088, 1, 0, 0, 0, 731, 4094, 1, 0, 0, 0, - 733, 4100, 1, 0, 0, 0, 735, 4107, 1, 0, 0, 0, 737, 4114, 1, 0, 0, 0, 739, - 4125, 1, 0, 0, 0, 741, 4130, 1, 0, 0, 0, 743, 4139, 1, 0, 0, 0, 745, 4149, - 1, 0, 0, 0, 747, 4154, 1, 0, 0, 0, 749, 4166, 1, 0, 0, 0, 751, 4174, 1, - 0, 0, 0, 753, 4183, 1, 0, 0, 0, 755, 4191, 1, 0, 0, 0, 757, 4196, 1, 0, - 0, 0, 759, 4202, 1, 0, 0, 0, 761, 4212, 1, 0, 0, 0, 763, 4224, 1, 0, 0, - 0, 765, 4236, 1, 0, 0, 0, 767, 4244, 1, 0, 0, 0, 769, 4253, 1, 0, 0, 0, - 771, 4262, 1, 0, 0, 0, 773, 4268, 1, 0, 0, 0, 775, 4275, 1, 0, 0, 0, 777, - 4282, 1, 0, 0, 0, 779, 4288, 1, 0, 0, 0, 781, 4297, 1, 0, 0, 0, 783, 4307, - 1, 0, 0, 0, 785, 4315, 1, 0, 0, 0, 787, 4323, 1, 0, 0, 0, 789, 4328, 1, - 0, 0, 0, 791, 4337, 1, 0, 0, 0, 793, 4348, 1, 0, 0, 0, 795, 4356, 1, 0, - 0, 0, 797, 4361, 1, 0, 0, 0, 799, 4369, 1, 0, 0, 0, 801, 4375, 1, 0, 0, - 0, 803, 4379, 1, 0, 0, 0, 805, 4384, 1, 0, 0, 0, 807, 4388, 1, 0, 0, 0, - 809, 4393, 1, 0, 0, 0, 811, 4400, 1, 0, 0, 0, 813, 4408, 1, 0, 0, 0, 815, - 4415, 1, 0, 0, 0, 817, 4419, 1, 0, 0, 0, 819, 4427, 1, 0, 0, 0, 821, 4432, - 1, 0, 0, 0, 823, 4442, 1, 0, 0, 0, 825, 4451, 1, 0, 0, 0, 827, 4455, 1, - 0, 0, 0, 829, 4463, 1, 0, 0, 0, 831, 4470, 1, 0, 0, 0, 833, 4478, 1, 0, - 0, 0, 835, 4484, 1, 0, 0, 0, 837, 4493, 1, 0, 0, 0, 839, 4499, 1, 0, 0, - 0, 841, 4503, 1, 0, 0, 0, 843, 4511, 1, 0, 0, 0, 845, 4520, 1, 0, 0, 0, - 847, 4526, 1, 0, 0, 0, 849, 4535, 1, 0, 0, 0, 851, 4541, 1, 0, 0, 0, 853, - 4546, 1, 0, 0, 0, 855, 4553, 1, 0, 0, 0, 857, 4561, 1, 0, 0, 0, 859, 4569, - 1, 0, 0, 0, 861, 4579, 1, 0, 0, 0, 863, 4588, 1, 0, 0, 0, 865, 4598, 1, - 0, 0, 0, 867, 4603, 1, 0, 0, 0, 869, 4607, 1, 0, 0, 0, 871, 4613, 1, 0, - 0, 0, 873, 4622, 1, 0, 0, 0, 875, 4632, 1, 0, 0, 0, 877, 4637, 1, 0, 0, - 0, 879, 4647, 1, 0, 0, 0, 881, 4653, 1, 0, 0, 0, 883, 4658, 1, 0, 0, 0, - 885, 4665, 1, 0, 0, 0, 887, 4673, 1, 0, 0, 0, 889, 4687, 1, 0, 0, 0, 891, - 4698, 1, 0, 0, 0, 893, 4705, 1, 0, 0, 0, 895, 4724, 1, 0, 0, 0, 897, 4752, - 1, 0, 0, 0, 899, 4779, 1, 0, 0, 0, 901, 4785, 1, 0, 0, 0, 903, 4798, 1, - 0, 0, 0, 905, 4808, 1, 0, 0, 0, 907, 4819, 1, 0, 0, 0, 909, 4829, 1, 0, - 0, 0, 911, 4839, 1, 0, 0, 0, 913, 4848, 1, 0, 0, 0, 915, 4854, 1, 0, 0, - 0, 917, 4862, 1, 0, 0, 0, 919, 4875, 1, 0, 0, 0, 921, 4880, 1, 0, 0, 0, - 923, 4888, 1, 0, 0, 0, 925, 4895, 1, 0, 0, 0, 927, 4902, 1, 0, 0, 0, 929, - 4913, 1, 0, 0, 0, 931, 4923, 1, 0, 0, 0, 933, 4930, 1, 0, 0, 0, 935, 4937, - 1, 0, 0, 0, 937, 4945, 1, 0, 0, 0, 939, 4953, 1, 0, 0, 0, 941, 4963, 1, - 0, 0, 0, 943, 4970, 1, 0, 0, 0, 945, 4977, 1, 0, 0, 0, 947, 4984, 1, 0, - 0, 0, 949, 4996, 1, 0, 0, 0, 951, 5000, 1, 0, 0, 0, 953, 5004, 1, 0, 0, - 0, 955, 5010, 1, 0, 0, 0, 957, 5023, 1, 0, 0, 0, 959, 5035, 1, 0, 0, 0, - 961, 5039, 1, 0, 0, 0, 963, 5043, 1, 0, 0, 0, 965, 5052, 1, 0, 0, 0, 967, - 5060, 1, 0, 0, 0, 969, 5071, 1, 0, 0, 0, 971, 5077, 1, 0, 0, 0, 973, 5085, - 1, 0, 0, 0, 975, 5094, 1, 0, 0, 0, 977, 5098, 1, 0, 0, 0, 979, 5106, 1, - 0, 0, 0, 981, 5117, 1, 0, 0, 0, 983, 5126, 1, 0, 0, 0, 985, 5131, 1, 0, - 0, 0, 987, 5138, 1, 0, 0, 0, 989, 5143, 1, 0, 0, 0, 991, 5150, 1, 0, 0, - 0, 993, 5155, 1, 0, 0, 0, 995, 5164, 1, 0, 0, 0, 997, 5169, 1, 0, 0, 0, - 999, 5181, 1, 0, 0, 0, 1001, 5192, 1, 0, 0, 0, 1003, 5201, 1, 0, 0, 0, - 1005, 5209, 1, 0, 0, 0, 1007, 5223, 1, 0, 0, 0, 1009, 5231, 1, 0, 0, 0, - 1011, 5242, 1, 0, 0, 0, 1013, 5249, 1, 0, 0, 0, 1015, 5256, 1, 0, 0, 0, - 1017, 5263, 1, 0, 0, 0, 1019, 5270, 1, 0, 0, 0, 1021, 5274, 1, 0, 0, 0, - 1023, 5278, 1, 0, 0, 0, 1025, 5283, 1, 0, 0, 0, 1027, 5288, 1, 0, 0, 0, - 1029, 5296, 1, 0, 0, 0, 1031, 5302, 1, 0, 0, 0, 1033, 5312, 1, 0, 0, 0, - 1035, 5317, 1, 0, 0, 0, 1037, 5337, 1, 0, 0, 0, 1039, 5355, 1, 0, 0, 0, - 1041, 5361, 1, 0, 0, 0, 1043, 5374, 1, 0, 0, 0, 1045, 5385, 1, 0, 0, 0, - 1047, 5391, 1, 0, 0, 0, 1049, 5400, 1, 0, 0, 0, 1051, 5408, 1, 0, 0, 0, - 1053, 5412, 1, 0, 0, 0, 1055, 5424, 1, 0, 0, 0, 1057, 5432, 1, 0, 0, 0, - 1059, 5438, 1, 0, 0, 0, 1061, 5444, 1, 0, 0, 0, 1063, 5452, 1, 0, 0, 0, - 1065, 5460, 1, 0, 0, 0, 1067, 5466, 1, 0, 0, 0, 1069, 5471, 1, 0, 0, 0, - 1071, 5478, 1, 0, 0, 0, 1073, 5484, 1, 0, 0, 0, 1075, 5490, 1, 0, 0, 0, - 1077, 5499, 1, 0, 0, 0, 1079, 5505, 1, 0, 0, 0, 1081, 5509, 1, 0, 0, 0, - 1083, 5514, 1, 0, 0, 0, 1085, 5521, 1, 0, 0, 0, 1087, 5529, 1, 0, 0, 0, - 1089, 5539, 1, 0, 0, 0, 1091, 5546, 1, 0, 0, 0, 1093, 5551, 1, 0, 0, 0, - 1095, 5556, 1, 0, 0, 0, 1097, 5560, 1, 0, 0, 0, 1099, 5565, 1, 0, 0, 0, - 1101, 5570, 1, 0, 0, 0, 1103, 5578, 1, 0, 0, 0, 1105, 5586, 1, 0, 0, 0, - 1107, 5590, 1, 0, 0, 0, 1109, 5594, 1, 0, 0, 0, 1111, 5604, 1, 0, 0, 0, - 1113, 5610, 1, 0, 0, 0, 1115, 5614, 1, 0, 0, 0, 1117, 5618, 1, 0, 0, 0, - 1119, 5621, 1, 0, 0, 0, 1121, 5627, 1, 0, 0, 0, 1123, 5637, 1, 0, 0, 0, - 1125, 5641, 1, 0, 0, 0, 1127, 5644, 1, 0, 0, 0, 1129, 5650, 1, 0, 0, 0, - 1131, 5658, 1, 0, 0, 0, 1133, 5664, 1, 0, 0, 0, 1135, 5670, 1, 0, 0, 0, - 1137, 5675, 1, 0, 0, 0, 1139, 5680, 1, 0, 0, 0, 1141, 5691, 1, 0, 0, 0, - 1143, 5697, 1, 0, 0, 0, 1145, 5710, 1, 0, 0, 0, 1147, 5717, 1, 0, 0, 0, - 1149, 5725, 1, 0, 0, 0, 1151, 5730, 1, 0, 0, 0, 1153, 5736, 1, 0, 0, 0, - 1155, 5741, 1, 0, 0, 0, 1157, 5747, 1, 0, 0, 0, 1159, 5752, 1, 0, 0, 0, - 1161, 5758, 1, 0, 0, 0, 1163, 5764, 1, 0, 0, 0, 1165, 5771, 1, 0, 0, 0, - 1167, 5775, 1, 0, 0, 0, 1169, 5780, 1, 0, 0, 0, 1171, 5784, 1, 0, 0, 0, - 1173, 5789, 1, 0, 0, 0, 1175, 5793, 1, 0, 0, 0, 1177, 5798, 1, 0, 0, 0, - 1179, 5802, 1, 0, 0, 0, 1181, 5807, 1, 0, 0, 0, 1183, 5812, 1, 0, 0, 0, - 1185, 5817, 1, 0, 0, 0, 1187, 5822, 1, 0, 0, 0, 1189, 5828, 1, 0, 0, 0, - 1191, 5834, 1, 0, 0, 0, 1193, 5840, 1, 0, 0, 0, 1195, 5851, 1, 0, 0, 0, - 1197, 5863, 1, 0, 0, 0, 1199, 5880, 1, 0, 0, 0, 1201, 5886, 1, 0, 0, 0, - 1203, 5899, 1, 0, 0, 0, 1205, 5905, 1, 0, 0, 0, 1207, 5911, 1, 0, 0, 0, - 1209, 5917, 1, 0, 0, 0, 1211, 5921, 1, 0, 0, 0, 1213, 5928, 1, 0, 0, 0, - 1215, 5938, 1, 0, 0, 0, 1217, 5945, 1, 0, 0, 0, 1219, 5953, 1, 0, 0, 0, - 1221, 5960, 1, 0, 0, 0, 1223, 5965, 1, 0, 0, 0, 1225, 5971, 1, 0, 0, 0, - 1227, 5975, 1, 0, 0, 0, 1229, 5987, 1, 0, 0, 0, 1231, 6006, 1, 0, 0, 0, - 1233, 6018, 1, 0, 0, 0, 1235, 6032, 1, 0, 0, 0, 1237, 6047, 1, 0, 0, 0, - 1239, 6060, 1, 0, 0, 0, 1241, 6073, 1, 0, 0, 0, 1243, 6085, 1, 0, 0, 0, - 1245, 6098, 1, 0, 0, 0, 1247, 6113, 1, 0, 0, 0, 1249, 6128, 1, 0, 0, 0, - 1251, 6150, 1, 0, 0, 0, 1253, 6172, 1, 0, 0, 0, 1255, 6186, 1, 0, 0, 0, - 1257, 6193, 1, 0, 0, 0, 1259, 6198, 1, 0, 0, 0, 1261, 6204, 1, 0, 0, 0, - 1263, 6215, 1, 0, 0, 0, 1265, 6227, 1, 0, 0, 0, 1267, 6243, 1, 0, 0, 0, - 1269, 6259, 1, 0, 0, 0, 1271, 6266, 1, 0, 0, 0, 1273, 6273, 1, 0, 0, 0, - 1275, 6282, 1, 0, 0, 0, 1277, 6289, 1, 0, 0, 0, 1279, 6299, 1, 0, 0, 0, - 1281, 6306, 1, 0, 0, 0, 1283, 6310, 1, 0, 0, 0, 1285, 6326, 1, 0, 0, 0, - 1287, 6335, 1, 0, 0, 0, 1289, 6345, 1, 0, 0, 0, 1291, 6356, 1, 0, 0, 0, - 1293, 6365, 1, 0, 0, 0, 1295, 6378, 1, 0, 0, 0, 1297, 6392, 1, 0, 0, 0, - 1299, 6409, 1, 0, 0, 0, 1301, 6419, 1, 0, 0, 0, 1303, 6433, 1, 0, 0, 0, - 1305, 6443, 1, 0, 0, 0, 1307, 6458, 1, 0, 0, 0, 1309, 6475, 1, 0, 0, 0, - 1311, 6479, 1, 0, 0, 0, 1313, 6499, 1, 0, 0, 0, 1315, 6509, 1, 0, 0, 0, - 1317, 6531, 1, 0, 0, 0, 1319, 6544, 1, 0, 0, 0, 1321, 6552, 1, 0, 0, 0, - 1323, 6560, 1, 0, 0, 0, 1325, 6570, 1, 0, 0, 0, 1327, 6577, 1, 0, 0, 0, - 1329, 6585, 1, 0, 0, 0, 1331, 6593, 1, 0, 0, 0, 1333, 6608, 1, 0, 0, 0, - 1335, 6625, 1, 0, 0, 0, 1337, 6639, 1, 0, 0, 0, 1339, 6654, 1, 0, 0, 0, - 1341, 6667, 1, 0, 0, 0, 1343, 6671, 1, 0, 0, 0, 1345, 6675, 1, 0, 0, 0, - 1347, 6677, 1, 0, 0, 0, 1349, 6680, 1, 0, 0, 0, 1351, 6689, 1, 0, 0, 0, - 1353, 6692, 1, 0, 0, 0, 1355, 6701, 1, 0, 0, 0, 1357, 6705, 1, 0, 0, 0, - 1359, 6709, 1, 0, 0, 0, 1361, 6713, 1, 0, 0, 0, 1363, 6717, 1, 0, 0, 0, - 1365, 6720, 1, 0, 0, 0, 1367, 6729, 1, 0, 0, 0, 1369, 6735, 1, 0, 0, 0, - 1371, 6738, 1, 0, 0, 0, 1373, 6742, 1, 0, 0, 0, 1375, 6751, 1, 0, 0, 0, - 1377, 6758, 1, 0, 0, 0, 1379, 6761, 1, 0, 0, 0, 1381, 6769, 1, 0, 0, 0, - 1383, 6772, 1, 0, 0, 0, 1385, 6775, 1, 0, 0, 0, 1387, 6778, 1, 0, 0, 0, - 1389, 6786, 1, 0, 0, 0, 1391, 6789, 1, 0, 0, 0, 1393, 6792, 1, 0, 0, 0, - 1395, 6794, 1, 0, 0, 0, 1397, 6828, 1, 0, 0, 0, 1399, 6831, 1, 0, 0, 0, - 1401, 6835, 1, 0, 0, 0, 1403, 6843, 1, 0, 0, 0, 1405, 6858, 1, 0, 0, 0, - 1407, 6867, 1, 0, 0, 0, 1409, 6871, 1, 0, 0, 0, 1411, 6882, 1, 0, 0, 0, - 1413, 6921, 1, 0, 0, 0, 1415, 6972, 1, 0, 0, 0, 1417, 6996, 1, 0, 0, 0, - 1419, 6999, 1, 0, 0, 0, 1421, 7001, 1, 0, 0, 0, 1423, 7006, 1, 0, 0, 0, - 1425, 7037, 1, 0, 0, 0, 1427, 7040, 1, 0, 0, 0, 1429, 7045, 1, 0, 0, 0, - 1431, 7058, 1, 0, 0, 0, 1433, 7061, 1, 0, 0, 0, 1435, 7066, 1, 0, 0, 0, - 1437, 7072, 1, 0, 0, 0, 1439, 7077, 1, 0, 0, 0, 1441, 7082, 1, 0, 0, 0, - 1443, 7087, 1, 0, 0, 0, 1445, 7092, 1, 0, 0, 0, 1447, 7109, 1, 0, 0, 0, - 1449, 7111, 1, 0, 0, 0, 1451, 1452, 5, 36, 0, 0, 1452, 6, 1, 0, 0, 0, 1453, - 1454, 5, 40, 0, 0, 1454, 8, 1, 0, 0, 0, 1455, 1456, 5, 41, 0, 0, 1456, - 10, 1, 0, 0, 0, 1457, 1458, 5, 91, 0, 0, 1458, 12, 1, 0, 0, 0, 1459, 1460, - 5, 93, 0, 0, 1460, 14, 1, 0, 0, 0, 1461, 1462, 5, 44, 0, 0, 1462, 16, 1, - 0, 0, 0, 1463, 1464, 5, 59, 0, 0, 1464, 18, 1, 0, 0, 0, 1465, 1466, 5, - 58, 0, 0, 1466, 20, 1, 0, 0, 0, 1467, 1468, 5, 42, 0, 0, 1468, 22, 1, 0, - 0, 0, 1469, 1470, 5, 61, 0, 0, 1470, 24, 1, 0, 0, 0, 1471, 1472, 5, 46, - 0, 0, 1472, 26, 1, 0, 0, 0, 1473, 1474, 5, 43, 0, 0, 1474, 28, 1, 0, 0, - 0, 1475, 1476, 5, 45, 0, 0, 1476, 30, 1, 0, 0, 0, 1477, 1478, 5, 47, 0, - 0, 1478, 32, 1, 0, 0, 0, 1479, 1480, 5, 94, 0, 0, 1480, 34, 1, 0, 0, 0, - 1481, 1482, 5, 60, 0, 0, 1482, 36, 1, 0, 0, 0, 1483, 1484, 5, 62, 0, 0, - 1484, 38, 1, 0, 0, 0, 1485, 1486, 5, 60, 0, 0, 1486, 1487, 5, 60, 0, 0, - 1487, 40, 1, 0, 0, 0, 1488, 1489, 5, 62, 0, 0, 1489, 1490, 5, 62, 0, 0, - 1490, 42, 1, 0, 0, 0, 1491, 1492, 5, 58, 0, 0, 1492, 1493, 5, 61, 0, 0, - 1493, 44, 1, 0, 0, 0, 1494, 1495, 5, 60, 0, 0, 1495, 1496, 5, 61, 0, 0, - 1496, 46, 1, 0, 0, 0, 1497, 1498, 5, 61, 0, 0, 1498, 1499, 5, 62, 0, 0, - 1499, 48, 1, 0, 0, 0, 1500, 1501, 5, 62, 0, 0, 1501, 1502, 5, 61, 0, 0, - 1502, 50, 1, 0, 0, 0, 1503, 1504, 5, 46, 0, 0, 1504, 1505, 5, 46, 0, 0, - 1505, 52, 1, 0, 0, 0, 1506, 1507, 5, 60, 0, 0, 1507, 1508, 5, 62, 0, 0, - 1508, 54, 1, 0, 0, 0, 1509, 1510, 5, 58, 0, 0, 1510, 1511, 5, 58, 0, 0, - 1511, 56, 1, 0, 0, 0, 1512, 1513, 5, 37, 0, 0, 1513, 58, 1, 0, 0, 0, 1514, - 1516, 5, 36, 0, 0, 1515, 1517, 7, 0, 0, 0, 1516, 1515, 1, 0, 0, 0, 1517, - 1518, 1, 0, 0, 0, 1518, 1516, 1, 0, 0, 0, 1518, 1519, 1, 0, 0, 0, 1519, - 60, 1, 0, 0, 0, 1520, 1536, 3, 65, 30, 0, 1521, 1525, 5, 43, 0, 0, 1522, - 1523, 5, 45, 0, 0, 1523, 1525, 4, 28, 0, 0, 1524, 1521, 1, 0, 0, 0, 1524, - 1522, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1524, 1, 0, 0, 0, 1526, - 1527, 1, 0, 0, 0, 1527, 1531, 1, 0, 0, 0, 1528, 1532, 3, 65, 30, 0, 1529, - 1530, 5, 47, 0, 0, 1530, 1532, 4, 28, 1, 0, 1531, 1528, 1, 0, 0, 0, 1531, - 1529, 1, 0, 0, 0, 1532, 1536, 1, 0, 0, 0, 1533, 1534, 5, 47, 0, 0, 1534, - 1536, 4, 28, 2, 0, 1535, 1520, 1, 0, 0, 0, 1535, 1524, 1, 0, 0, 0, 1535, - 1533, 1, 0, 0, 0, 1536, 1537, 1, 0, 0, 0, 1537, 1535, 1, 0, 0, 0, 1537, - 1538, 1, 0, 0, 0, 1538, 1541, 1, 0, 0, 0, 1539, 1541, 7, 1, 0, 0, 1540, - 1535, 1, 0, 0, 0, 1540, 1539, 1, 0, 0, 0, 1541, 1542, 1, 0, 0, 0, 1542, - 1543, 6, 28, 0, 0, 1543, 62, 1, 0, 0, 0, 1544, 1550, 3, 67, 31, 0, 1545, - 1546, 5, 45, 0, 0, 1546, 1550, 4, 29, 3, 0, 1547, 1548, 5, 47, 0, 0, 1548, - 1550, 4, 29, 4, 0, 1549, 1544, 1, 0, 0, 0, 1549, 1545, 1, 0, 0, 0, 1549, - 1547, 1, 0, 0, 0, 1550, 1553, 1, 0, 0, 0, 1551, 1549, 1, 0, 0, 0, 1551, - 1552, 1, 0, 0, 0, 1552, 1554, 1, 0, 0, 0, 1553, 1551, 1, 0, 0, 0, 1554, - 1556, 3, 69, 32, 0, 1555, 1557, 3, 61, 28, 0, 1556, 1555, 1, 0, 0, 0, 1556, - 1557, 1, 0, 0, 0, 1557, 1561, 1, 0, 0, 0, 1558, 1562, 5, 43, 0, 0, 1559, - 1560, 5, 45, 0, 0, 1560, 1562, 4, 29, 5, 0, 1561, 1558, 1, 0, 0, 0, 1561, - 1559, 1, 0, 0, 0, 1562, 1563, 1, 0, 0, 0, 1563, 1561, 1, 0, 0, 0, 1563, - 1564, 1, 0, 0, 0, 1564, 1565, 1, 0, 0, 0, 1565, 1566, 6, 29, 1, 0, 1566, - 64, 1, 0, 0, 0, 1567, 1568, 7, 2, 0, 0, 1568, 66, 1, 0, 0, 0, 1569, 1570, - 7, 3, 0, 0, 1570, 68, 1, 0, 0, 0, 1571, 1572, 7, 4, 0, 0, 1572, 70, 1, - 0, 0, 0, 1573, 1574, 7, 5, 0, 0, 1574, 1575, 7, 6, 0, 0, 1575, 1576, 7, - 6, 0, 0, 1576, 72, 1, 0, 0, 0, 1577, 1578, 7, 5, 0, 0, 1578, 1579, 7, 7, - 0, 0, 1579, 1580, 7, 5, 0, 0, 1580, 1581, 7, 6, 0, 0, 1581, 1582, 7, 8, - 0, 0, 1582, 1583, 7, 9, 0, 0, 1583, 1584, 7, 10, 0, 0, 1584, 74, 1, 0, - 0, 0, 1585, 1586, 7, 5, 0, 0, 1586, 1587, 7, 7, 0, 0, 1587, 1588, 7, 5, - 0, 0, 1588, 1589, 7, 6, 0, 0, 1589, 1590, 7, 8, 0, 0, 1590, 1591, 7, 11, - 0, 0, 1591, 1592, 7, 10, 0, 0, 1592, 76, 1, 0, 0, 0, 1593, 1594, 7, 5, - 0, 0, 1594, 1595, 7, 7, 0, 0, 1595, 1596, 7, 12, 0, 0, 1596, 78, 1, 0, - 0, 0, 1597, 1598, 7, 5, 0, 0, 1598, 1599, 7, 7, 0, 0, 1599, 1600, 7, 8, - 0, 0, 1600, 80, 1, 0, 0, 0, 1601, 1602, 7, 5, 0, 0, 1602, 1603, 7, 13, - 0, 0, 1603, 1604, 7, 13, 0, 0, 1604, 1605, 7, 5, 0, 0, 1605, 1606, 7, 8, - 0, 0, 1606, 82, 1, 0, 0, 0, 1607, 1608, 7, 5, 0, 0, 1608, 1609, 7, 9, 0, - 0, 1609, 84, 1, 0, 0, 0, 1610, 1611, 7, 5, 0, 0, 1611, 1612, 7, 9, 0, 0, - 1612, 1613, 7, 14, 0, 0, 1613, 86, 1, 0, 0, 0, 1614, 1615, 7, 5, 0, 0, - 1615, 1616, 7, 9, 0, 0, 1616, 1617, 7, 8, 0, 0, 1617, 1618, 7, 15, 0, 0, - 1618, 1619, 7, 15, 0, 0, 1619, 1620, 7, 10, 0, 0, 1620, 1621, 7, 16, 0, - 0, 1621, 1622, 7, 13, 0, 0, 1622, 1623, 7, 17, 0, 0, 1623, 1624, 7, 14, - 0, 0, 1624, 88, 1, 0, 0, 0, 1625, 1626, 7, 18, 0, 0, 1626, 1627, 7, 19, - 0, 0, 1627, 1628, 7, 16, 0, 0, 1628, 1629, 7, 20, 0, 0, 1629, 90, 1, 0, - 0, 0, 1630, 1631, 7, 14, 0, 0, 1631, 1632, 7, 5, 0, 0, 1632, 1633, 7, 9, - 0, 0, 1633, 1634, 7, 10, 0, 0, 1634, 92, 1, 0, 0, 0, 1635, 1636, 7, 14, - 0, 0, 1636, 1637, 7, 5, 0, 0, 1637, 1638, 7, 9, 0, 0, 1638, 1639, 7, 16, - 0, 0, 1639, 94, 1, 0, 0, 0, 1640, 1641, 7, 14, 0, 0, 1641, 1642, 7, 20, - 0, 0, 1642, 1643, 7, 10, 0, 0, 1643, 1644, 7, 14, 0, 0, 1644, 1645, 7, - 21, 0, 0, 1645, 96, 1, 0, 0, 0, 1646, 1647, 7, 14, 0, 0, 1647, 1648, 7, - 19, 0, 0, 1648, 1649, 7, 6, 0, 0, 1649, 1650, 7, 6, 0, 0, 1650, 1651, 7, - 5, 0, 0, 1651, 1652, 7, 16, 0, 0, 1652, 1653, 7, 10, 0, 0, 1653, 98, 1, - 0, 0, 0, 1654, 1655, 7, 14, 0, 0, 1655, 1656, 7, 19, 0, 0, 1656, 1657, - 7, 6, 0, 0, 1657, 1658, 7, 22, 0, 0, 1658, 1659, 7, 15, 0, 0, 1659, 1660, - 7, 7, 0, 0, 1660, 100, 1, 0, 0, 0, 1661, 1662, 7, 14, 0, 0, 1662, 1663, - 7, 19, 0, 0, 1663, 1664, 7, 7, 0, 0, 1664, 1665, 7, 9, 0, 0, 1665, 1666, - 7, 16, 0, 0, 1666, 1667, 7, 13, 0, 0, 1667, 1668, 7, 5, 0, 0, 1668, 1669, - 7, 17, 0, 0, 1669, 1670, 7, 7, 0, 0, 1670, 1671, 7, 16, 0, 0, 1671, 102, - 1, 0, 0, 0, 1672, 1673, 7, 14, 0, 0, 1673, 1674, 7, 13, 0, 0, 1674, 1675, - 7, 10, 0, 0, 1675, 1676, 7, 5, 0, 0, 1676, 1677, 7, 16, 0, 0, 1677, 1678, - 7, 10, 0, 0, 1678, 104, 1, 0, 0, 0, 1679, 1680, 7, 14, 0, 0, 1680, 1681, - 7, 22, 0, 0, 1681, 1682, 7, 13, 0, 0, 1682, 1683, 7, 13, 0, 0, 1683, 1684, - 7, 10, 0, 0, 1684, 1685, 7, 7, 0, 0, 1685, 1686, 7, 16, 0, 0, 1686, 1687, - 5, 95, 0, 0, 1687, 1688, 7, 14, 0, 0, 1688, 1689, 7, 5, 0, 0, 1689, 1690, - 7, 16, 0, 0, 1690, 1691, 7, 5, 0, 0, 1691, 1692, 7, 6, 0, 0, 1692, 1693, - 7, 19, 0, 0, 1693, 1694, 7, 23, 0, 0, 1694, 106, 1, 0, 0, 0, 1695, 1696, - 7, 14, 0, 0, 1696, 1697, 7, 22, 0, 0, 1697, 1698, 7, 13, 0, 0, 1698, 1699, - 7, 13, 0, 0, 1699, 1700, 7, 10, 0, 0, 1700, 1701, 7, 7, 0, 0, 1701, 1702, - 7, 16, 0, 0, 1702, 1703, 5, 95, 0, 0, 1703, 1704, 7, 12, 0, 0, 1704, 1705, - 7, 5, 0, 0, 1705, 1706, 7, 16, 0, 0, 1706, 1707, 7, 10, 0, 0, 1707, 108, - 1, 0, 0, 0, 1708, 1709, 7, 14, 0, 0, 1709, 1710, 7, 22, 0, 0, 1710, 1711, - 7, 13, 0, 0, 1711, 1712, 7, 13, 0, 0, 1712, 1713, 7, 10, 0, 0, 1713, 1714, - 7, 7, 0, 0, 1714, 1715, 7, 16, 0, 0, 1715, 1716, 5, 95, 0, 0, 1716, 1717, - 7, 13, 0, 0, 1717, 1718, 7, 19, 0, 0, 1718, 1719, 7, 6, 0, 0, 1719, 1720, - 7, 10, 0, 0, 1720, 110, 1, 0, 0, 0, 1721, 1722, 7, 14, 0, 0, 1722, 1723, - 7, 22, 0, 0, 1723, 1724, 7, 13, 0, 0, 1724, 1725, 7, 13, 0, 0, 1725, 1726, - 7, 10, 0, 0, 1726, 1727, 7, 7, 0, 0, 1727, 1728, 7, 16, 0, 0, 1728, 1729, - 5, 95, 0, 0, 1729, 1730, 7, 16, 0, 0, 1730, 1731, 7, 17, 0, 0, 1731, 1732, - 7, 15, 0, 0, 1732, 1733, 7, 10, 0, 0, 1733, 112, 1, 0, 0, 0, 1734, 1735, - 7, 14, 0, 0, 1735, 1736, 7, 22, 0, 0, 1736, 1737, 7, 13, 0, 0, 1737, 1738, - 7, 13, 0, 0, 1738, 1739, 7, 10, 0, 0, 1739, 1740, 7, 7, 0, 0, 1740, 1741, - 7, 16, 0, 0, 1741, 1742, 5, 95, 0, 0, 1742, 1743, 7, 16, 0, 0, 1743, 1744, - 7, 17, 0, 0, 1744, 1745, 7, 15, 0, 0, 1745, 1746, 7, 10, 0, 0, 1746, 1747, - 7, 9, 0, 0, 1747, 1748, 7, 16, 0, 0, 1748, 1749, 7, 5, 0, 0, 1749, 1750, - 7, 15, 0, 0, 1750, 1751, 7, 24, 0, 0, 1751, 114, 1, 0, 0, 0, 1752, 1753, - 7, 14, 0, 0, 1753, 1754, 7, 22, 0, 0, 1754, 1755, 7, 13, 0, 0, 1755, 1756, - 7, 13, 0, 0, 1756, 1757, 7, 10, 0, 0, 1757, 1758, 7, 7, 0, 0, 1758, 1759, - 7, 16, 0, 0, 1759, 1760, 5, 95, 0, 0, 1760, 1761, 7, 22, 0, 0, 1761, 1762, - 7, 9, 0, 0, 1762, 1763, 7, 10, 0, 0, 1763, 1764, 7, 13, 0, 0, 1764, 116, - 1, 0, 0, 0, 1765, 1766, 7, 12, 0, 0, 1766, 1767, 7, 10, 0, 0, 1767, 1768, - 7, 25, 0, 0, 1768, 1769, 7, 5, 0, 0, 1769, 1770, 7, 22, 0, 0, 1770, 1771, - 7, 6, 0, 0, 1771, 1772, 7, 16, 0, 0, 1772, 118, 1, 0, 0, 0, 1773, 1774, - 7, 12, 0, 0, 1774, 1775, 7, 10, 0, 0, 1775, 1776, 7, 25, 0, 0, 1776, 1777, - 7, 10, 0, 0, 1777, 1778, 7, 13, 0, 0, 1778, 1779, 7, 13, 0, 0, 1779, 1780, - 7, 5, 0, 0, 1780, 1781, 7, 18, 0, 0, 1781, 1782, 7, 6, 0, 0, 1782, 1783, - 7, 10, 0, 0, 1783, 120, 1, 0, 0, 0, 1784, 1785, 7, 12, 0, 0, 1785, 1786, - 7, 10, 0, 0, 1786, 1787, 7, 9, 0, 0, 1787, 1788, 7, 14, 0, 0, 1788, 122, - 1, 0, 0, 0, 1789, 1790, 7, 12, 0, 0, 1790, 1791, 7, 17, 0, 0, 1791, 1792, - 7, 9, 0, 0, 1792, 1793, 7, 16, 0, 0, 1793, 1794, 7, 17, 0, 0, 1794, 1795, - 7, 7, 0, 0, 1795, 1796, 7, 14, 0, 0, 1796, 1797, 7, 16, 0, 0, 1797, 124, - 1, 0, 0, 0, 1798, 1799, 7, 12, 0, 0, 1799, 1800, 7, 19, 0, 0, 1800, 126, - 1, 0, 0, 0, 1801, 1802, 7, 10, 0, 0, 1802, 1803, 7, 6, 0, 0, 1803, 1804, - 7, 9, 0, 0, 1804, 1805, 7, 10, 0, 0, 1805, 128, 1, 0, 0, 0, 1806, 1807, - 7, 10, 0, 0, 1807, 1808, 7, 26, 0, 0, 1808, 1809, 7, 14, 0, 0, 1809, 1810, - 7, 10, 0, 0, 1810, 1811, 7, 24, 0, 0, 1811, 1812, 7, 16, 0, 0, 1812, 130, - 1, 0, 0, 0, 1813, 1814, 7, 25, 0, 0, 1814, 1815, 7, 5, 0, 0, 1815, 1816, - 7, 6, 0, 0, 1816, 1817, 7, 9, 0, 0, 1817, 1818, 7, 10, 0, 0, 1818, 132, - 1, 0, 0, 0, 1819, 1820, 7, 25, 0, 0, 1820, 1821, 7, 10, 0, 0, 1821, 1822, - 7, 16, 0, 0, 1822, 1823, 7, 14, 0, 0, 1823, 1824, 7, 20, 0, 0, 1824, 134, - 1, 0, 0, 0, 1825, 1826, 7, 25, 0, 0, 1826, 1827, 7, 19, 0, 0, 1827, 1828, - 7, 13, 0, 0, 1828, 136, 1, 0, 0, 0, 1829, 1830, 7, 25, 0, 0, 1830, 1831, - 7, 19, 0, 0, 1831, 1832, 7, 13, 0, 0, 1832, 1833, 7, 10, 0, 0, 1833, 1834, - 7, 17, 0, 0, 1834, 1835, 7, 23, 0, 0, 1835, 1836, 7, 7, 0, 0, 1836, 138, - 1, 0, 0, 0, 1837, 1838, 7, 25, 0, 0, 1838, 1839, 7, 13, 0, 0, 1839, 1840, - 7, 19, 0, 0, 1840, 1841, 7, 15, 0, 0, 1841, 140, 1, 0, 0, 0, 1842, 1843, - 7, 23, 0, 0, 1843, 1844, 7, 13, 0, 0, 1844, 1845, 7, 5, 0, 0, 1845, 1846, - 7, 7, 0, 0, 1846, 1847, 7, 16, 0, 0, 1847, 142, 1, 0, 0, 0, 1848, 1849, - 7, 23, 0, 0, 1849, 1850, 7, 13, 0, 0, 1850, 1851, 7, 19, 0, 0, 1851, 1852, - 7, 22, 0, 0, 1852, 1853, 7, 24, 0, 0, 1853, 144, 1, 0, 0, 0, 1854, 1855, - 7, 20, 0, 0, 1855, 1856, 7, 5, 0, 0, 1856, 1857, 7, 27, 0, 0, 1857, 1858, - 7, 17, 0, 0, 1858, 1859, 7, 7, 0, 0, 1859, 1860, 7, 23, 0, 0, 1860, 146, - 1, 0, 0, 0, 1861, 1862, 7, 17, 0, 0, 1862, 1863, 7, 7, 0, 0, 1863, 148, - 1, 0, 0, 0, 1864, 1865, 7, 17, 0, 0, 1865, 1866, 7, 7, 0, 0, 1866, 1867, - 7, 17, 0, 0, 1867, 1868, 7, 16, 0, 0, 1868, 1869, 7, 17, 0, 0, 1869, 1870, - 7, 5, 0, 0, 1870, 1871, 7, 6, 0, 0, 1871, 1872, 7, 6, 0, 0, 1872, 1873, - 7, 8, 0, 0, 1873, 150, 1, 0, 0, 0, 1874, 1875, 7, 17, 0, 0, 1875, 1876, - 7, 7, 0, 0, 1876, 1877, 7, 16, 0, 0, 1877, 1878, 7, 10, 0, 0, 1878, 1879, - 7, 13, 0, 0, 1879, 1880, 7, 9, 0, 0, 1880, 1881, 7, 10, 0, 0, 1881, 1882, - 7, 14, 0, 0, 1882, 1883, 7, 16, 0, 0, 1883, 152, 1, 0, 0, 0, 1884, 1885, - 7, 17, 0, 0, 1885, 1886, 7, 7, 0, 0, 1886, 1887, 7, 16, 0, 0, 1887, 1888, - 7, 19, 0, 0, 1888, 154, 1, 0, 0, 0, 1889, 1890, 7, 6, 0, 0, 1890, 1891, - 7, 5, 0, 0, 1891, 1892, 7, 16, 0, 0, 1892, 1893, 7, 10, 0, 0, 1893, 1894, - 7, 13, 0, 0, 1894, 1895, 7, 5, 0, 0, 1895, 1896, 7, 6, 0, 0, 1896, 156, - 1, 0, 0, 0, 1897, 1898, 7, 6, 0, 0, 1898, 1899, 7, 10, 0, 0, 1899, 1900, - 7, 5, 0, 0, 1900, 1901, 7, 12, 0, 0, 1901, 1902, 7, 17, 0, 0, 1902, 1903, - 7, 7, 0, 0, 1903, 1904, 7, 23, 0, 0, 1904, 158, 1, 0, 0, 0, 1905, 1906, - 7, 6, 0, 0, 1906, 1907, 7, 17, 0, 0, 1907, 1908, 7, 15, 0, 0, 1908, 1909, - 7, 17, 0, 0, 1909, 1910, 7, 16, 0, 0, 1910, 160, 1, 0, 0, 0, 1911, 1912, - 7, 6, 0, 0, 1912, 1913, 7, 19, 0, 0, 1913, 1914, 7, 14, 0, 0, 1914, 1915, - 7, 5, 0, 0, 1915, 1916, 7, 6, 0, 0, 1916, 1917, 7, 16, 0, 0, 1917, 1918, - 7, 17, 0, 0, 1918, 1919, 7, 15, 0, 0, 1919, 1920, 7, 10, 0, 0, 1920, 162, - 1, 0, 0, 0, 1921, 1922, 7, 6, 0, 0, 1922, 1923, 7, 19, 0, 0, 1923, 1924, - 7, 14, 0, 0, 1924, 1925, 7, 5, 0, 0, 1925, 1926, 7, 6, 0, 0, 1926, 1927, - 7, 16, 0, 0, 1927, 1928, 7, 17, 0, 0, 1928, 1929, 7, 15, 0, 0, 1929, 1930, - 7, 10, 0, 0, 1930, 1931, 7, 9, 0, 0, 1931, 1932, 7, 16, 0, 0, 1932, 1933, - 7, 5, 0, 0, 1933, 1934, 7, 15, 0, 0, 1934, 1935, 7, 24, 0, 0, 1935, 164, - 1, 0, 0, 0, 1936, 1937, 7, 7, 0, 0, 1937, 1938, 7, 19, 0, 0, 1938, 1939, - 7, 16, 0, 0, 1939, 166, 1, 0, 0, 0, 1940, 1941, 7, 7, 0, 0, 1941, 1942, - 7, 22, 0, 0, 1942, 1943, 7, 6, 0, 0, 1943, 1944, 7, 6, 0, 0, 1944, 168, - 1, 0, 0, 0, 1945, 1946, 7, 19, 0, 0, 1946, 1947, 7, 25, 0, 0, 1947, 1948, - 7, 25, 0, 0, 1948, 1949, 7, 9, 0, 0, 1949, 1950, 7, 10, 0, 0, 1950, 1951, - 7, 16, 0, 0, 1951, 170, 1, 0, 0, 0, 1952, 1953, 7, 19, 0, 0, 1953, 1954, - 7, 7, 0, 0, 1954, 172, 1, 0, 0, 0, 1955, 1956, 7, 19, 0, 0, 1956, 1957, - 7, 7, 0, 0, 1957, 1958, 7, 6, 0, 0, 1958, 1959, 7, 8, 0, 0, 1959, 174, - 1, 0, 0, 0, 1960, 1961, 7, 19, 0, 0, 1961, 1962, 7, 13, 0, 0, 1962, 176, - 1, 0, 0, 0, 1963, 1964, 7, 19, 0, 0, 1964, 1965, 7, 13, 0, 0, 1965, 1966, - 7, 12, 0, 0, 1966, 1967, 7, 10, 0, 0, 1967, 1968, 7, 13, 0, 0, 1968, 178, - 1, 0, 0, 0, 1969, 1970, 7, 24, 0, 0, 1970, 1971, 7, 6, 0, 0, 1971, 1972, - 7, 5, 0, 0, 1972, 1973, 7, 14, 0, 0, 1973, 1974, 7, 17, 0, 0, 1974, 1975, - 7, 7, 0, 0, 1975, 1976, 7, 23, 0, 0, 1976, 180, 1, 0, 0, 0, 1977, 1978, - 7, 24, 0, 0, 1978, 1979, 7, 13, 0, 0, 1979, 1980, 7, 17, 0, 0, 1980, 1981, - 7, 15, 0, 0, 1981, 1982, 7, 5, 0, 0, 1982, 1983, 7, 13, 0, 0, 1983, 1984, - 7, 8, 0, 0, 1984, 182, 1, 0, 0, 0, 1985, 1986, 7, 13, 0, 0, 1986, 1987, - 7, 10, 0, 0, 1987, 1988, 7, 25, 0, 0, 1988, 1989, 7, 10, 0, 0, 1989, 1990, - 7, 13, 0, 0, 1990, 1991, 7, 10, 0, 0, 1991, 1992, 7, 7, 0, 0, 1992, 1993, - 7, 14, 0, 0, 1993, 1994, 7, 10, 0, 0, 1994, 1995, 7, 9, 0, 0, 1995, 184, - 1, 0, 0, 0, 1996, 1997, 7, 13, 0, 0, 1997, 1998, 7, 10, 0, 0, 1998, 1999, - 7, 16, 0, 0, 1999, 2000, 7, 22, 0, 0, 2000, 2001, 7, 13, 0, 0, 2001, 2002, - 7, 7, 0, 0, 2002, 2003, 7, 17, 0, 0, 2003, 2004, 7, 7, 0, 0, 2004, 2005, - 7, 23, 0, 0, 2005, 186, 1, 0, 0, 0, 2006, 2007, 7, 9, 0, 0, 2007, 2008, - 7, 10, 0, 0, 2008, 2009, 7, 6, 0, 0, 2009, 2010, 7, 10, 0, 0, 2010, 2011, - 7, 14, 0, 0, 2011, 2012, 7, 16, 0, 0, 2012, 188, 1, 0, 0, 0, 2013, 2014, - 7, 9, 0, 0, 2014, 2015, 7, 10, 0, 0, 2015, 2016, 7, 9, 0, 0, 2016, 2017, - 7, 9, 0, 0, 2017, 2018, 7, 17, 0, 0, 2018, 2019, 7, 19, 0, 0, 2019, 2020, - 7, 7, 0, 0, 2020, 2021, 5, 95, 0, 0, 2021, 2022, 7, 22, 0, 0, 2022, 2023, - 7, 9, 0, 0, 2023, 2024, 7, 10, 0, 0, 2024, 2025, 7, 13, 0, 0, 2025, 190, - 1, 0, 0, 0, 2026, 2027, 7, 9, 0, 0, 2027, 2028, 7, 19, 0, 0, 2028, 2029, - 7, 15, 0, 0, 2029, 2030, 7, 10, 0, 0, 2030, 192, 1, 0, 0, 0, 2031, 2032, - 7, 9, 0, 0, 2032, 2033, 7, 8, 0, 0, 2033, 2034, 7, 15, 0, 0, 2034, 2035, - 7, 15, 0, 0, 2035, 2036, 7, 10, 0, 0, 2036, 2037, 7, 16, 0, 0, 2037, 2038, - 7, 13, 0, 0, 2038, 2039, 7, 17, 0, 0, 2039, 2040, 7, 14, 0, 0, 2040, 194, - 1, 0, 0, 0, 2041, 2042, 7, 16, 0, 0, 2042, 2043, 7, 5, 0, 0, 2043, 2044, - 7, 18, 0, 0, 2044, 2045, 7, 6, 0, 0, 2045, 2046, 7, 10, 0, 0, 2046, 196, - 1, 0, 0, 0, 2047, 2048, 7, 16, 0, 0, 2048, 2049, 7, 20, 0, 0, 2049, 2050, - 7, 10, 0, 0, 2050, 2051, 7, 7, 0, 0, 2051, 198, 1, 0, 0, 0, 2052, 2053, - 7, 16, 0, 0, 2053, 2054, 7, 19, 0, 0, 2054, 200, 1, 0, 0, 0, 2055, 2056, - 7, 16, 0, 0, 2056, 2057, 7, 13, 0, 0, 2057, 2058, 7, 5, 0, 0, 2058, 2059, - 7, 17, 0, 0, 2059, 2060, 7, 6, 0, 0, 2060, 2061, 7, 17, 0, 0, 2061, 2062, - 7, 7, 0, 0, 2062, 2063, 7, 23, 0, 0, 2063, 202, 1, 0, 0, 0, 2064, 2065, - 7, 16, 0, 0, 2065, 2066, 7, 13, 0, 0, 2066, 2067, 7, 22, 0, 0, 2067, 2068, - 7, 10, 0, 0, 2068, 204, 1, 0, 0, 0, 2069, 2070, 7, 22, 0, 0, 2070, 2071, - 7, 7, 0, 0, 2071, 2072, 7, 17, 0, 0, 2072, 2073, 7, 19, 0, 0, 2073, 2074, - 7, 7, 0, 0, 2074, 206, 1, 0, 0, 0, 2075, 2076, 7, 22, 0, 0, 2076, 2077, - 7, 7, 0, 0, 2077, 2078, 7, 17, 0, 0, 2078, 2079, 7, 28, 0, 0, 2079, 2080, - 7, 22, 0, 0, 2080, 2081, 7, 10, 0, 0, 2081, 208, 1, 0, 0, 0, 2082, 2083, - 7, 22, 0, 0, 2083, 2084, 7, 9, 0, 0, 2084, 2085, 7, 10, 0, 0, 2085, 2086, - 7, 13, 0, 0, 2086, 210, 1, 0, 0, 0, 2087, 2088, 7, 22, 0, 0, 2088, 2089, - 7, 9, 0, 0, 2089, 2090, 7, 17, 0, 0, 2090, 2091, 7, 7, 0, 0, 2091, 2092, - 7, 23, 0, 0, 2092, 212, 1, 0, 0, 0, 2093, 2094, 7, 27, 0, 0, 2094, 2095, - 7, 5, 0, 0, 2095, 2096, 7, 13, 0, 0, 2096, 2097, 7, 17, 0, 0, 2097, 2098, - 7, 5, 0, 0, 2098, 2099, 7, 12, 0, 0, 2099, 2100, 7, 17, 0, 0, 2100, 2101, - 7, 14, 0, 0, 2101, 214, 1, 0, 0, 0, 2102, 2103, 7, 29, 0, 0, 2103, 2104, - 7, 20, 0, 0, 2104, 2105, 7, 10, 0, 0, 2105, 2106, 7, 7, 0, 0, 2106, 216, - 1, 0, 0, 0, 2107, 2108, 7, 29, 0, 0, 2108, 2109, 7, 20, 0, 0, 2109, 2110, - 7, 10, 0, 0, 2110, 2111, 7, 13, 0, 0, 2111, 2112, 7, 10, 0, 0, 2112, 218, - 1, 0, 0, 0, 2113, 2114, 7, 29, 0, 0, 2114, 2115, 7, 17, 0, 0, 2115, 2116, - 7, 7, 0, 0, 2116, 2117, 7, 12, 0, 0, 2117, 2118, 7, 19, 0, 0, 2118, 2119, - 7, 29, 0, 0, 2119, 220, 1, 0, 0, 0, 2120, 2121, 7, 29, 0, 0, 2121, 2122, - 7, 17, 0, 0, 2122, 2123, 7, 16, 0, 0, 2123, 2124, 7, 20, 0, 0, 2124, 222, - 1, 0, 0, 0, 2125, 2126, 7, 30, 0, 0, 2126, 2127, 7, 9, 0, 0, 2127, 2128, - 7, 19, 0, 0, 2128, 2129, 7, 7, 0, 0, 2129, 2130, 5, 95, 0, 0, 2130, 2131, - 7, 19, 0, 0, 2131, 2132, 7, 18, 0, 0, 2132, 2133, 7, 30, 0, 0, 2133, 2134, - 7, 10, 0, 0, 2134, 2135, 7, 14, 0, 0, 2135, 2136, 7, 16, 0, 0, 2136, 224, - 1, 0, 0, 0, 2137, 2138, 7, 30, 0, 0, 2138, 2139, 7, 9, 0, 0, 2139, 2140, - 7, 19, 0, 0, 2140, 2141, 7, 7, 0, 0, 2141, 2142, 5, 95, 0, 0, 2142, 2143, - 7, 5, 0, 0, 2143, 2144, 7, 13, 0, 0, 2144, 2145, 7, 13, 0, 0, 2145, 2146, - 7, 5, 0, 0, 2146, 2147, 7, 8, 0, 0, 2147, 226, 1, 0, 0, 0, 2148, 2149, - 7, 30, 0, 0, 2149, 2150, 7, 9, 0, 0, 2150, 2151, 7, 19, 0, 0, 2151, 2152, - 7, 7, 0, 0, 2152, 228, 1, 0, 0, 0, 2153, 2154, 7, 30, 0, 0, 2154, 2155, - 7, 9, 0, 0, 2155, 2156, 7, 19, 0, 0, 2156, 2157, 7, 7, 0, 0, 2157, 2158, - 5, 95, 0, 0, 2158, 2159, 7, 9, 0, 0, 2159, 2160, 7, 14, 0, 0, 2160, 2161, - 7, 5, 0, 0, 2161, 2162, 7, 6, 0, 0, 2162, 2163, 7, 5, 0, 0, 2163, 2164, - 7, 13, 0, 0, 2164, 230, 1, 0, 0, 0, 2165, 2166, 7, 30, 0, 0, 2166, 2167, - 7, 9, 0, 0, 2167, 2168, 7, 19, 0, 0, 2168, 2169, 7, 7, 0, 0, 2169, 2170, - 5, 95, 0, 0, 2170, 2171, 7, 9, 0, 0, 2171, 2172, 7, 10, 0, 0, 2172, 2173, - 7, 13, 0, 0, 2173, 2174, 7, 17, 0, 0, 2174, 2175, 7, 5, 0, 0, 2175, 2176, - 7, 6, 0, 0, 2176, 2177, 7, 17, 0, 0, 2177, 2178, 7, 11, 0, 0, 2178, 2179, - 7, 10, 0, 0, 2179, 232, 1, 0, 0, 0, 2180, 2181, 7, 15, 0, 0, 2181, 2182, - 7, 10, 0, 0, 2182, 2183, 7, 13, 0, 0, 2183, 2184, 7, 23, 0, 0, 2184, 2185, - 7, 10, 0, 0, 2185, 2186, 5, 95, 0, 0, 2186, 2187, 7, 5, 0, 0, 2187, 2188, - 7, 14, 0, 0, 2188, 2189, 7, 16, 0, 0, 2189, 2190, 7, 17, 0, 0, 2190, 2191, - 7, 19, 0, 0, 2191, 2192, 7, 7, 0, 0, 2192, 234, 1, 0, 0, 0, 2193, 2194, - 7, 30, 0, 0, 2194, 2195, 7, 9, 0, 0, 2195, 2196, 7, 19, 0, 0, 2196, 2197, - 7, 7, 0, 0, 2197, 2198, 5, 95, 0, 0, 2198, 2199, 7, 28, 0, 0, 2199, 2200, - 7, 22, 0, 0, 2200, 2201, 7, 10, 0, 0, 2201, 2202, 7, 13, 0, 0, 2202, 2203, - 7, 8, 0, 0, 2203, 236, 1, 0, 0, 0, 2204, 2205, 7, 30, 0, 0, 2205, 2206, - 7, 9, 0, 0, 2206, 2207, 7, 19, 0, 0, 2207, 2208, 7, 7, 0, 0, 2208, 2209, - 5, 95, 0, 0, 2209, 2210, 7, 10, 0, 0, 2210, 2211, 7, 26, 0, 0, 2211, 2212, - 7, 17, 0, 0, 2212, 2213, 7, 9, 0, 0, 2213, 2214, 7, 16, 0, 0, 2214, 2215, - 7, 9, 0, 0, 2215, 238, 1, 0, 0, 0, 2216, 2217, 7, 30, 0, 0, 2217, 2218, - 7, 9, 0, 0, 2218, 2219, 7, 19, 0, 0, 2219, 2220, 7, 7, 0, 0, 2220, 2221, - 5, 95, 0, 0, 2221, 2222, 7, 27, 0, 0, 2222, 2223, 7, 5, 0, 0, 2223, 2224, - 7, 6, 0, 0, 2224, 2225, 7, 22, 0, 0, 2225, 2226, 7, 10, 0, 0, 2226, 240, - 1, 0, 0, 0, 2227, 2228, 7, 10, 0, 0, 2228, 2229, 7, 15, 0, 0, 2229, 2230, - 7, 24, 0, 0, 2230, 2231, 7, 16, 0, 0, 2231, 2232, 7, 8, 0, 0, 2232, 242, - 1, 0, 0, 0, 2233, 2234, 7, 21, 0, 0, 2234, 2235, 7, 10, 0, 0, 2235, 2236, - 7, 10, 0, 0, 2236, 2237, 7, 24, 0, 0, 2237, 244, 1, 0, 0, 0, 2238, 2239, - 7, 19, 0, 0, 2239, 2240, 7, 15, 0, 0, 2240, 2241, 7, 17, 0, 0, 2241, 2242, - 7, 16, 0, 0, 2242, 246, 1, 0, 0, 0, 2243, 2244, 7, 9, 0, 0, 2244, 2245, - 7, 14, 0, 0, 2245, 2246, 7, 5, 0, 0, 2246, 2247, 7, 6, 0, 0, 2247, 2248, - 7, 5, 0, 0, 2248, 2249, 7, 13, 0, 0, 2249, 248, 1, 0, 0, 0, 2250, 2251, - 7, 9, 0, 0, 2251, 2252, 7, 16, 0, 0, 2252, 2253, 7, 13, 0, 0, 2253, 2254, - 7, 17, 0, 0, 2254, 2255, 7, 7, 0, 0, 2255, 2256, 7, 23, 0, 0, 2256, 250, - 1, 0, 0, 0, 2257, 2258, 7, 14, 0, 0, 2258, 2259, 7, 19, 0, 0, 2259, 2260, - 7, 7, 0, 0, 2260, 2261, 7, 12, 0, 0, 2261, 2262, 7, 17, 0, 0, 2262, 2263, - 7, 16, 0, 0, 2263, 2264, 7, 17, 0, 0, 2264, 2265, 7, 19, 0, 0, 2265, 2266, - 7, 7, 0, 0, 2266, 2267, 7, 5, 0, 0, 2267, 2268, 7, 6, 0, 0, 2268, 252, - 1, 0, 0, 0, 2269, 2270, 7, 22, 0, 0, 2270, 2271, 7, 7, 0, 0, 2271, 2272, - 7, 14, 0, 0, 2272, 2273, 7, 19, 0, 0, 2273, 2274, 7, 7, 0, 0, 2274, 2275, - 7, 12, 0, 0, 2275, 2276, 7, 17, 0, 0, 2276, 2277, 7, 16, 0, 0, 2277, 2278, - 7, 17, 0, 0, 2278, 2279, 7, 19, 0, 0, 2279, 2280, 7, 7, 0, 0, 2280, 2281, - 7, 5, 0, 0, 2281, 2282, 7, 6, 0, 0, 2282, 254, 1, 0, 0, 0, 2283, 2284, - 7, 21, 0, 0, 2284, 2285, 7, 10, 0, 0, 2285, 2286, 7, 8, 0, 0, 2286, 2287, - 7, 9, 0, 0, 2287, 256, 1, 0, 0, 0, 2288, 2289, 7, 5, 0, 0, 2289, 2290, - 7, 18, 0, 0, 2290, 2291, 7, 9, 0, 0, 2291, 2292, 7, 10, 0, 0, 2292, 2293, - 7, 7, 0, 0, 2293, 2294, 7, 16, 0, 0, 2294, 258, 1, 0, 0, 0, 2295, 2296, - 7, 28, 0, 0, 2296, 2297, 7, 22, 0, 0, 2297, 2298, 7, 19, 0, 0, 2298, 2299, - 7, 16, 0, 0, 2299, 2300, 7, 10, 0, 0, 2300, 2301, 7, 9, 0, 0, 2301, 260, - 1, 0, 0, 0, 2302, 2303, 7, 5, 0, 0, 2303, 2304, 7, 22, 0, 0, 2304, 2305, - 7, 16, 0, 0, 2305, 2306, 7, 20, 0, 0, 2306, 2307, 7, 19, 0, 0, 2307, 2308, - 7, 13, 0, 0, 2308, 2309, 7, 17, 0, 0, 2309, 2310, 7, 11, 0, 0, 2310, 2311, - 7, 5, 0, 0, 2311, 2312, 7, 16, 0, 0, 2312, 2313, 7, 17, 0, 0, 2313, 2314, - 7, 19, 0, 0, 2314, 2315, 7, 7, 0, 0, 2315, 262, 1, 0, 0, 0, 2316, 2317, - 7, 18, 0, 0, 2317, 2318, 7, 17, 0, 0, 2318, 2319, 7, 7, 0, 0, 2319, 2320, - 7, 5, 0, 0, 2320, 2321, 7, 13, 0, 0, 2321, 2322, 7, 8, 0, 0, 2322, 264, - 1, 0, 0, 0, 2323, 2324, 7, 14, 0, 0, 2324, 2325, 7, 19, 0, 0, 2325, 2326, - 7, 6, 0, 0, 2326, 2327, 7, 6, 0, 0, 2327, 2328, 7, 5, 0, 0, 2328, 2329, - 7, 16, 0, 0, 2329, 2330, 7, 17, 0, 0, 2330, 2331, 7, 19, 0, 0, 2331, 2332, - 7, 7, 0, 0, 2332, 266, 1, 0, 0, 0, 2333, 2334, 7, 14, 0, 0, 2334, 2335, - 7, 19, 0, 0, 2335, 2336, 7, 7, 0, 0, 2336, 2337, 7, 14, 0, 0, 2337, 2338, - 7, 22, 0, 0, 2338, 2339, 7, 13, 0, 0, 2339, 2340, 7, 13, 0, 0, 2340, 2341, - 7, 10, 0, 0, 2341, 2342, 7, 7, 0, 0, 2342, 2343, 7, 16, 0, 0, 2343, 2344, - 7, 6, 0, 0, 2344, 2345, 7, 8, 0, 0, 2345, 268, 1, 0, 0, 0, 2346, 2347, - 7, 14, 0, 0, 2347, 2348, 7, 13, 0, 0, 2348, 2349, 7, 19, 0, 0, 2349, 2350, - 7, 9, 0, 0, 2350, 2351, 7, 9, 0, 0, 2351, 270, 1, 0, 0, 0, 2352, 2353, - 7, 14, 0, 0, 2353, 2354, 7, 22, 0, 0, 2354, 2355, 7, 13, 0, 0, 2355, 2356, - 7, 13, 0, 0, 2356, 2357, 7, 10, 0, 0, 2357, 2358, 7, 7, 0, 0, 2358, 2359, - 7, 16, 0, 0, 2359, 2360, 5, 95, 0, 0, 2360, 2361, 7, 9, 0, 0, 2361, 2362, - 7, 14, 0, 0, 2362, 2363, 7, 20, 0, 0, 2363, 2364, 7, 10, 0, 0, 2364, 2365, - 7, 15, 0, 0, 2365, 2366, 7, 5, 0, 0, 2366, 272, 1, 0, 0, 0, 2367, 2368, - 7, 25, 0, 0, 2368, 2369, 7, 13, 0, 0, 2369, 2370, 7, 10, 0, 0, 2370, 2371, - 7, 10, 0, 0, 2371, 2372, 7, 11, 0, 0, 2372, 2373, 7, 10, 0, 0, 2373, 274, - 1, 0, 0, 0, 2374, 2375, 7, 25, 0, 0, 2375, 2376, 7, 22, 0, 0, 2376, 2377, - 7, 6, 0, 0, 2377, 2378, 7, 6, 0, 0, 2378, 276, 1, 0, 0, 0, 2379, 2380, - 7, 17, 0, 0, 2380, 2381, 7, 6, 0, 0, 2381, 2382, 7, 17, 0, 0, 2382, 2383, - 7, 21, 0, 0, 2383, 2384, 7, 10, 0, 0, 2384, 278, 1, 0, 0, 0, 2385, 2386, - 7, 17, 0, 0, 2386, 2387, 7, 7, 0, 0, 2387, 2388, 7, 7, 0, 0, 2388, 2389, - 7, 10, 0, 0, 2389, 2390, 7, 13, 0, 0, 2390, 280, 1, 0, 0, 0, 2391, 2392, - 7, 17, 0, 0, 2392, 2393, 7, 9, 0, 0, 2393, 282, 1, 0, 0, 0, 2394, 2395, - 7, 17, 0, 0, 2395, 2396, 7, 9, 0, 0, 2396, 2397, 7, 7, 0, 0, 2397, 2398, - 7, 22, 0, 0, 2398, 2399, 7, 6, 0, 0, 2399, 2400, 7, 6, 0, 0, 2400, 284, - 1, 0, 0, 0, 2401, 2402, 7, 30, 0, 0, 2402, 2403, 7, 19, 0, 0, 2403, 2404, - 7, 17, 0, 0, 2404, 2405, 7, 7, 0, 0, 2405, 286, 1, 0, 0, 0, 2406, 2407, - 7, 6, 0, 0, 2407, 2408, 7, 10, 0, 0, 2408, 2409, 7, 25, 0, 0, 2409, 2410, - 7, 16, 0, 0, 2410, 288, 1, 0, 0, 0, 2411, 2412, 7, 6, 0, 0, 2412, 2413, - 7, 17, 0, 0, 2413, 2414, 7, 21, 0, 0, 2414, 2415, 7, 10, 0, 0, 2415, 290, - 1, 0, 0, 0, 2416, 2417, 7, 7, 0, 0, 2417, 2418, 7, 5, 0, 0, 2418, 2419, - 7, 16, 0, 0, 2419, 2420, 7, 22, 0, 0, 2420, 2421, 7, 13, 0, 0, 2421, 2422, - 7, 5, 0, 0, 2422, 2423, 7, 6, 0, 0, 2423, 292, 1, 0, 0, 0, 2424, 2425, - 7, 7, 0, 0, 2425, 2426, 7, 19, 0, 0, 2426, 2427, 7, 16, 0, 0, 2427, 2428, - 7, 7, 0, 0, 2428, 2429, 7, 22, 0, 0, 2429, 2430, 7, 6, 0, 0, 2430, 2431, - 7, 6, 0, 0, 2431, 294, 1, 0, 0, 0, 2432, 2433, 7, 19, 0, 0, 2433, 2434, - 7, 22, 0, 0, 2434, 2435, 7, 16, 0, 0, 2435, 2436, 7, 10, 0, 0, 2436, 2437, - 7, 13, 0, 0, 2437, 296, 1, 0, 0, 0, 2438, 2439, 7, 19, 0, 0, 2439, 2440, - 7, 27, 0, 0, 2440, 2441, 7, 10, 0, 0, 2441, 2442, 7, 13, 0, 0, 2442, 298, - 1, 0, 0, 0, 2443, 2444, 7, 19, 0, 0, 2444, 2445, 7, 27, 0, 0, 2445, 2446, - 7, 10, 0, 0, 2446, 2447, 7, 13, 0, 0, 2447, 2448, 7, 6, 0, 0, 2448, 2449, - 7, 5, 0, 0, 2449, 2450, 7, 24, 0, 0, 2450, 2451, 7, 9, 0, 0, 2451, 300, - 1, 0, 0, 0, 2452, 2453, 7, 13, 0, 0, 2453, 2454, 7, 17, 0, 0, 2454, 2455, - 7, 23, 0, 0, 2455, 2456, 7, 20, 0, 0, 2456, 2457, 7, 16, 0, 0, 2457, 302, - 1, 0, 0, 0, 2458, 2459, 7, 9, 0, 0, 2459, 2460, 7, 17, 0, 0, 2460, 2461, - 7, 15, 0, 0, 2461, 2462, 7, 17, 0, 0, 2462, 2463, 7, 6, 0, 0, 2463, 2464, - 7, 5, 0, 0, 2464, 2465, 7, 13, 0, 0, 2465, 304, 1, 0, 0, 0, 2466, 2467, - 7, 27, 0, 0, 2467, 2468, 7, 10, 0, 0, 2468, 2469, 7, 13, 0, 0, 2469, 2470, - 7, 18, 0, 0, 2470, 2471, 7, 19, 0, 0, 2471, 2472, 7, 9, 0, 0, 2472, 2473, - 7, 10, 0, 0, 2473, 306, 1, 0, 0, 0, 2474, 2475, 7, 5, 0, 0, 2475, 2476, - 7, 18, 0, 0, 2476, 2477, 7, 19, 0, 0, 2477, 2478, 7, 13, 0, 0, 2478, 2479, - 7, 16, 0, 0, 2479, 308, 1, 0, 0, 0, 2480, 2481, 7, 5, 0, 0, 2481, 2482, - 7, 18, 0, 0, 2482, 2483, 7, 9, 0, 0, 2483, 2484, 7, 19, 0, 0, 2484, 2485, - 7, 6, 0, 0, 2485, 2486, 7, 22, 0, 0, 2486, 2487, 7, 16, 0, 0, 2487, 2488, - 7, 10, 0, 0, 2488, 310, 1, 0, 0, 0, 2489, 2490, 7, 5, 0, 0, 2490, 2491, - 7, 14, 0, 0, 2491, 2492, 7, 14, 0, 0, 2492, 2493, 7, 10, 0, 0, 2493, 2494, - 7, 9, 0, 0, 2494, 2495, 7, 9, 0, 0, 2495, 312, 1, 0, 0, 0, 2496, 2497, - 7, 5, 0, 0, 2497, 2498, 7, 14, 0, 0, 2498, 2499, 7, 16, 0, 0, 2499, 2500, - 7, 17, 0, 0, 2500, 2501, 7, 19, 0, 0, 2501, 2502, 7, 7, 0, 0, 2502, 314, - 1, 0, 0, 0, 2503, 2504, 7, 5, 0, 0, 2504, 2505, 7, 12, 0, 0, 2505, 2506, - 7, 12, 0, 0, 2506, 316, 1, 0, 0, 0, 2507, 2508, 7, 5, 0, 0, 2508, 2509, - 7, 12, 0, 0, 2509, 2510, 7, 15, 0, 0, 2510, 2511, 7, 17, 0, 0, 2511, 2512, - 7, 7, 0, 0, 2512, 318, 1, 0, 0, 0, 2513, 2514, 7, 5, 0, 0, 2514, 2515, - 7, 25, 0, 0, 2515, 2516, 7, 16, 0, 0, 2516, 2517, 7, 10, 0, 0, 2517, 2518, - 7, 13, 0, 0, 2518, 320, 1, 0, 0, 0, 2519, 2520, 7, 5, 0, 0, 2520, 2521, - 7, 23, 0, 0, 2521, 2522, 7, 23, 0, 0, 2522, 2523, 7, 13, 0, 0, 2523, 2524, - 7, 10, 0, 0, 2524, 2525, 7, 23, 0, 0, 2525, 2526, 7, 5, 0, 0, 2526, 2527, - 7, 16, 0, 0, 2527, 2528, 7, 10, 0, 0, 2528, 322, 1, 0, 0, 0, 2529, 2530, - 7, 5, 0, 0, 2530, 2531, 7, 6, 0, 0, 2531, 2532, 7, 9, 0, 0, 2532, 2533, - 7, 19, 0, 0, 2533, 324, 1, 0, 0, 0, 2534, 2535, 7, 5, 0, 0, 2535, 2536, - 7, 6, 0, 0, 2536, 2537, 7, 16, 0, 0, 2537, 2538, 7, 10, 0, 0, 2538, 2539, - 7, 13, 0, 0, 2539, 326, 1, 0, 0, 0, 2540, 2541, 7, 5, 0, 0, 2541, 2542, - 7, 6, 0, 0, 2542, 2543, 7, 29, 0, 0, 2543, 2544, 7, 5, 0, 0, 2544, 2545, - 7, 8, 0, 0, 2545, 2546, 7, 9, 0, 0, 2546, 328, 1, 0, 0, 0, 2547, 2548, - 7, 5, 0, 0, 2548, 2549, 7, 9, 0, 0, 2549, 2550, 7, 9, 0, 0, 2550, 2551, - 7, 10, 0, 0, 2551, 2552, 7, 13, 0, 0, 2552, 2553, 7, 16, 0, 0, 2553, 2554, - 7, 17, 0, 0, 2554, 2555, 7, 19, 0, 0, 2555, 2556, 7, 7, 0, 0, 2556, 330, - 1, 0, 0, 0, 2557, 2558, 7, 5, 0, 0, 2558, 2559, 7, 9, 0, 0, 2559, 2560, - 7, 9, 0, 0, 2560, 2561, 7, 17, 0, 0, 2561, 2562, 7, 23, 0, 0, 2562, 2563, - 7, 7, 0, 0, 2563, 2564, 7, 15, 0, 0, 2564, 2565, 7, 10, 0, 0, 2565, 2566, - 7, 7, 0, 0, 2566, 2567, 7, 16, 0, 0, 2567, 332, 1, 0, 0, 0, 2568, 2569, - 7, 5, 0, 0, 2569, 2570, 7, 16, 0, 0, 2570, 334, 1, 0, 0, 0, 2571, 2572, - 7, 5, 0, 0, 2572, 2573, 7, 16, 0, 0, 2573, 2574, 7, 16, 0, 0, 2574, 2575, - 7, 13, 0, 0, 2575, 2576, 7, 17, 0, 0, 2576, 2577, 7, 18, 0, 0, 2577, 2578, - 7, 22, 0, 0, 2578, 2579, 7, 16, 0, 0, 2579, 2580, 7, 10, 0, 0, 2580, 336, - 1, 0, 0, 0, 2581, 2582, 7, 18, 0, 0, 2582, 2583, 7, 5, 0, 0, 2583, 2584, - 7, 14, 0, 0, 2584, 2585, 7, 21, 0, 0, 2585, 2586, 7, 29, 0, 0, 2586, 2587, - 7, 5, 0, 0, 2587, 2588, 7, 13, 0, 0, 2588, 2589, 7, 12, 0, 0, 2589, 338, - 1, 0, 0, 0, 2590, 2591, 7, 18, 0, 0, 2591, 2592, 7, 10, 0, 0, 2592, 2593, - 7, 25, 0, 0, 2593, 2594, 7, 19, 0, 0, 2594, 2595, 7, 13, 0, 0, 2595, 2596, - 7, 10, 0, 0, 2596, 340, 1, 0, 0, 0, 2597, 2598, 7, 18, 0, 0, 2598, 2599, - 7, 10, 0, 0, 2599, 2600, 7, 23, 0, 0, 2600, 2601, 7, 17, 0, 0, 2601, 2602, - 7, 7, 0, 0, 2602, 342, 1, 0, 0, 0, 2603, 2604, 7, 18, 0, 0, 2604, 2605, - 7, 8, 0, 0, 2605, 344, 1, 0, 0, 0, 2606, 2607, 7, 14, 0, 0, 2607, 2608, - 7, 5, 0, 0, 2608, 2609, 7, 14, 0, 0, 2609, 2610, 7, 20, 0, 0, 2610, 2611, - 7, 10, 0, 0, 2611, 346, 1, 0, 0, 0, 2612, 2613, 7, 14, 0, 0, 2613, 2614, - 7, 5, 0, 0, 2614, 2615, 7, 6, 0, 0, 2615, 2616, 7, 6, 0, 0, 2616, 2617, - 7, 10, 0, 0, 2617, 2618, 7, 12, 0, 0, 2618, 348, 1, 0, 0, 0, 2619, 2620, - 7, 14, 0, 0, 2620, 2621, 7, 5, 0, 0, 2621, 2622, 7, 9, 0, 0, 2622, 2623, - 7, 14, 0, 0, 2623, 2624, 7, 5, 0, 0, 2624, 2625, 7, 12, 0, 0, 2625, 2626, - 7, 10, 0, 0, 2626, 350, 1, 0, 0, 0, 2627, 2628, 7, 14, 0, 0, 2628, 2629, - 7, 5, 0, 0, 2629, 2630, 7, 9, 0, 0, 2630, 2631, 7, 14, 0, 0, 2631, 2632, - 7, 5, 0, 0, 2632, 2633, 7, 12, 0, 0, 2633, 2634, 7, 10, 0, 0, 2634, 2635, - 7, 12, 0, 0, 2635, 352, 1, 0, 0, 0, 2636, 2637, 7, 14, 0, 0, 2637, 2638, - 7, 5, 0, 0, 2638, 2639, 7, 16, 0, 0, 2639, 2640, 7, 5, 0, 0, 2640, 2641, - 7, 6, 0, 0, 2641, 2642, 7, 19, 0, 0, 2642, 2643, 7, 23, 0, 0, 2643, 354, - 1, 0, 0, 0, 2644, 2645, 7, 14, 0, 0, 2645, 2646, 7, 20, 0, 0, 2646, 2647, - 7, 5, 0, 0, 2647, 2648, 7, 17, 0, 0, 2648, 2649, 7, 7, 0, 0, 2649, 356, - 1, 0, 0, 0, 2650, 2651, 7, 14, 0, 0, 2651, 2652, 7, 20, 0, 0, 2652, 2653, - 7, 5, 0, 0, 2653, 2654, 7, 13, 0, 0, 2654, 2655, 7, 5, 0, 0, 2655, 2656, - 7, 14, 0, 0, 2656, 2657, 7, 16, 0, 0, 2657, 2658, 7, 10, 0, 0, 2658, 2659, - 7, 13, 0, 0, 2659, 2660, 7, 17, 0, 0, 2660, 2661, 7, 9, 0, 0, 2661, 2662, - 7, 16, 0, 0, 2662, 2663, 7, 17, 0, 0, 2663, 2664, 7, 14, 0, 0, 2664, 2665, - 7, 9, 0, 0, 2665, 358, 1, 0, 0, 0, 2666, 2667, 7, 14, 0, 0, 2667, 2668, - 7, 20, 0, 0, 2668, 2669, 7, 10, 0, 0, 2669, 2670, 7, 14, 0, 0, 2670, 2671, - 7, 21, 0, 0, 2671, 2672, 7, 24, 0, 0, 2672, 2673, 7, 19, 0, 0, 2673, 2674, - 7, 17, 0, 0, 2674, 2675, 7, 7, 0, 0, 2675, 2676, 7, 16, 0, 0, 2676, 360, - 1, 0, 0, 0, 2677, 2678, 7, 14, 0, 0, 2678, 2679, 7, 6, 0, 0, 2679, 2680, - 7, 5, 0, 0, 2680, 2681, 7, 9, 0, 0, 2681, 2682, 7, 9, 0, 0, 2682, 362, - 1, 0, 0, 0, 2683, 2684, 7, 14, 0, 0, 2684, 2685, 7, 6, 0, 0, 2685, 2686, - 7, 19, 0, 0, 2686, 2687, 7, 9, 0, 0, 2687, 2688, 7, 10, 0, 0, 2688, 364, - 1, 0, 0, 0, 2689, 2690, 7, 14, 0, 0, 2690, 2691, 7, 6, 0, 0, 2691, 2692, - 7, 22, 0, 0, 2692, 2693, 7, 9, 0, 0, 2693, 2694, 7, 16, 0, 0, 2694, 2695, - 7, 10, 0, 0, 2695, 2696, 7, 13, 0, 0, 2696, 366, 1, 0, 0, 0, 2697, 2698, - 7, 14, 0, 0, 2698, 2699, 7, 19, 0, 0, 2699, 2700, 7, 15, 0, 0, 2700, 2701, - 7, 15, 0, 0, 2701, 2702, 7, 10, 0, 0, 2702, 2703, 7, 7, 0, 0, 2703, 2704, - 7, 16, 0, 0, 2704, 368, 1, 0, 0, 0, 2705, 2706, 7, 14, 0, 0, 2706, 2707, - 7, 19, 0, 0, 2707, 2708, 7, 15, 0, 0, 2708, 2709, 7, 15, 0, 0, 2709, 2710, - 7, 10, 0, 0, 2710, 2711, 7, 7, 0, 0, 2711, 2712, 7, 16, 0, 0, 2712, 2713, - 7, 9, 0, 0, 2713, 370, 1, 0, 0, 0, 2714, 2715, 7, 14, 0, 0, 2715, 2716, - 7, 19, 0, 0, 2716, 2717, 7, 15, 0, 0, 2717, 2718, 7, 15, 0, 0, 2718, 2719, - 7, 17, 0, 0, 2719, 2720, 7, 16, 0, 0, 2720, 372, 1, 0, 0, 0, 2721, 2722, - 7, 14, 0, 0, 2722, 2723, 7, 19, 0, 0, 2723, 2724, 7, 15, 0, 0, 2724, 2725, - 7, 15, 0, 0, 2725, 2726, 7, 17, 0, 0, 2726, 2727, 7, 16, 0, 0, 2727, 2728, - 7, 16, 0, 0, 2728, 2729, 7, 10, 0, 0, 2729, 2730, 7, 12, 0, 0, 2730, 374, - 1, 0, 0, 0, 2731, 2732, 7, 14, 0, 0, 2732, 2733, 7, 19, 0, 0, 2733, 2734, - 7, 7, 0, 0, 2734, 2735, 7, 25, 0, 0, 2735, 2736, 7, 17, 0, 0, 2736, 2737, - 7, 23, 0, 0, 2737, 2738, 7, 22, 0, 0, 2738, 2739, 7, 13, 0, 0, 2739, 2740, - 7, 5, 0, 0, 2740, 2741, 7, 16, 0, 0, 2741, 2742, 7, 17, 0, 0, 2742, 2743, - 7, 19, 0, 0, 2743, 2744, 7, 7, 0, 0, 2744, 376, 1, 0, 0, 0, 2745, 2746, - 7, 14, 0, 0, 2746, 2747, 7, 19, 0, 0, 2747, 2748, 7, 7, 0, 0, 2748, 2749, - 7, 7, 0, 0, 2749, 2750, 7, 10, 0, 0, 2750, 2751, 7, 14, 0, 0, 2751, 2752, - 7, 16, 0, 0, 2752, 2753, 7, 17, 0, 0, 2753, 2754, 7, 19, 0, 0, 2754, 2755, - 7, 7, 0, 0, 2755, 378, 1, 0, 0, 0, 2756, 2757, 7, 14, 0, 0, 2757, 2758, - 7, 19, 0, 0, 2758, 2759, 7, 7, 0, 0, 2759, 2760, 7, 9, 0, 0, 2760, 2761, - 7, 16, 0, 0, 2761, 2762, 7, 13, 0, 0, 2762, 2763, 7, 5, 0, 0, 2763, 2764, - 7, 17, 0, 0, 2764, 2765, 7, 7, 0, 0, 2765, 2766, 7, 16, 0, 0, 2766, 2767, - 7, 9, 0, 0, 2767, 380, 1, 0, 0, 0, 2768, 2769, 7, 14, 0, 0, 2769, 2770, - 7, 19, 0, 0, 2770, 2771, 7, 7, 0, 0, 2771, 2772, 7, 16, 0, 0, 2772, 2773, - 7, 10, 0, 0, 2773, 2774, 7, 7, 0, 0, 2774, 2775, 7, 16, 0, 0, 2775, 382, - 1, 0, 0, 0, 2776, 2777, 7, 14, 0, 0, 2777, 2778, 7, 19, 0, 0, 2778, 2779, - 7, 7, 0, 0, 2779, 2780, 7, 16, 0, 0, 2780, 2781, 7, 17, 0, 0, 2781, 2782, - 7, 7, 0, 0, 2782, 2783, 7, 22, 0, 0, 2783, 2784, 7, 10, 0, 0, 2784, 384, - 1, 0, 0, 0, 2785, 2786, 7, 14, 0, 0, 2786, 2787, 7, 19, 0, 0, 2787, 2788, - 7, 7, 0, 0, 2788, 2789, 7, 27, 0, 0, 2789, 2790, 7, 10, 0, 0, 2790, 2791, - 7, 13, 0, 0, 2791, 2792, 7, 9, 0, 0, 2792, 2793, 7, 17, 0, 0, 2793, 2794, - 7, 19, 0, 0, 2794, 2795, 7, 7, 0, 0, 2795, 386, 1, 0, 0, 0, 2796, 2797, - 7, 14, 0, 0, 2797, 2798, 7, 19, 0, 0, 2798, 2799, 7, 24, 0, 0, 2799, 2800, - 7, 8, 0, 0, 2800, 388, 1, 0, 0, 0, 2801, 2802, 7, 14, 0, 0, 2802, 2803, - 7, 19, 0, 0, 2803, 2804, 7, 9, 0, 0, 2804, 2805, 7, 16, 0, 0, 2805, 390, - 1, 0, 0, 0, 2806, 2807, 7, 14, 0, 0, 2807, 2808, 7, 9, 0, 0, 2808, 2809, - 7, 27, 0, 0, 2809, 392, 1, 0, 0, 0, 2810, 2811, 7, 14, 0, 0, 2811, 2812, - 7, 22, 0, 0, 2812, 2813, 7, 13, 0, 0, 2813, 2814, 7, 9, 0, 0, 2814, 2815, - 7, 19, 0, 0, 2815, 2816, 7, 13, 0, 0, 2816, 394, 1, 0, 0, 0, 2817, 2818, - 7, 14, 0, 0, 2818, 2819, 7, 8, 0, 0, 2819, 2820, 7, 14, 0, 0, 2820, 2821, - 7, 6, 0, 0, 2821, 2822, 7, 10, 0, 0, 2822, 396, 1, 0, 0, 0, 2823, 2824, - 7, 12, 0, 0, 2824, 2825, 7, 5, 0, 0, 2825, 2826, 7, 16, 0, 0, 2826, 2827, - 7, 5, 0, 0, 2827, 398, 1, 0, 0, 0, 2828, 2829, 7, 12, 0, 0, 2829, 2830, - 7, 5, 0, 0, 2830, 2831, 7, 16, 0, 0, 2831, 2832, 7, 5, 0, 0, 2832, 2833, - 7, 18, 0, 0, 2833, 2834, 7, 5, 0, 0, 2834, 2835, 7, 9, 0, 0, 2835, 2836, - 7, 10, 0, 0, 2836, 400, 1, 0, 0, 0, 2837, 2838, 7, 12, 0, 0, 2838, 2839, - 7, 5, 0, 0, 2839, 2840, 7, 8, 0, 0, 2840, 402, 1, 0, 0, 0, 2841, 2842, - 7, 12, 0, 0, 2842, 2843, 7, 10, 0, 0, 2843, 2844, 7, 5, 0, 0, 2844, 2845, - 7, 6, 0, 0, 2845, 2846, 7, 6, 0, 0, 2846, 2847, 7, 19, 0, 0, 2847, 2848, - 7, 14, 0, 0, 2848, 2849, 7, 5, 0, 0, 2849, 2850, 7, 16, 0, 0, 2850, 2851, - 7, 10, 0, 0, 2851, 404, 1, 0, 0, 0, 2852, 2853, 7, 12, 0, 0, 2853, 2854, - 7, 10, 0, 0, 2854, 2855, 7, 14, 0, 0, 2855, 2856, 7, 6, 0, 0, 2856, 2857, - 7, 5, 0, 0, 2857, 2858, 7, 13, 0, 0, 2858, 2859, 7, 10, 0, 0, 2859, 406, - 1, 0, 0, 0, 2860, 2861, 7, 12, 0, 0, 2861, 2862, 7, 10, 0, 0, 2862, 2863, - 7, 25, 0, 0, 2863, 2864, 7, 5, 0, 0, 2864, 2865, 7, 22, 0, 0, 2865, 2866, - 7, 6, 0, 0, 2866, 2867, 7, 16, 0, 0, 2867, 2868, 7, 9, 0, 0, 2868, 408, - 1, 0, 0, 0, 2869, 2870, 7, 12, 0, 0, 2870, 2871, 7, 10, 0, 0, 2871, 2872, - 7, 25, 0, 0, 2872, 2873, 7, 10, 0, 0, 2873, 2874, 7, 13, 0, 0, 2874, 2875, - 7, 13, 0, 0, 2875, 2876, 7, 10, 0, 0, 2876, 2877, 7, 12, 0, 0, 2877, 410, - 1, 0, 0, 0, 2878, 2879, 7, 12, 0, 0, 2879, 2880, 7, 10, 0, 0, 2880, 2881, - 7, 25, 0, 0, 2881, 2882, 7, 17, 0, 0, 2882, 2883, 7, 7, 0, 0, 2883, 2884, - 7, 10, 0, 0, 2884, 2885, 7, 13, 0, 0, 2885, 412, 1, 0, 0, 0, 2886, 2887, - 7, 12, 0, 0, 2887, 2888, 7, 10, 0, 0, 2888, 2889, 7, 6, 0, 0, 2889, 2890, - 7, 10, 0, 0, 2890, 2891, 7, 16, 0, 0, 2891, 2892, 7, 10, 0, 0, 2892, 414, - 1, 0, 0, 0, 2893, 2894, 7, 12, 0, 0, 2894, 2895, 7, 10, 0, 0, 2895, 2896, - 7, 6, 0, 0, 2896, 2897, 7, 17, 0, 0, 2897, 2898, 7, 15, 0, 0, 2898, 2899, - 7, 17, 0, 0, 2899, 2900, 7, 16, 0, 0, 2900, 2901, 7, 10, 0, 0, 2901, 2902, - 7, 13, 0, 0, 2902, 416, 1, 0, 0, 0, 2903, 2904, 7, 12, 0, 0, 2904, 2905, - 7, 10, 0, 0, 2905, 2906, 7, 6, 0, 0, 2906, 2907, 7, 17, 0, 0, 2907, 2908, - 7, 15, 0, 0, 2908, 2909, 7, 17, 0, 0, 2909, 2910, 7, 16, 0, 0, 2910, 2911, - 7, 10, 0, 0, 2911, 2912, 7, 13, 0, 0, 2912, 2913, 7, 9, 0, 0, 2913, 418, - 1, 0, 0, 0, 2914, 2915, 7, 12, 0, 0, 2915, 2916, 7, 17, 0, 0, 2916, 2917, - 7, 14, 0, 0, 2917, 2918, 7, 16, 0, 0, 2918, 2919, 7, 17, 0, 0, 2919, 2920, - 7, 19, 0, 0, 2920, 2921, 7, 7, 0, 0, 2921, 2922, 7, 5, 0, 0, 2922, 2923, - 7, 13, 0, 0, 2923, 2924, 7, 8, 0, 0, 2924, 420, 1, 0, 0, 0, 2925, 2926, - 7, 12, 0, 0, 2926, 2927, 7, 17, 0, 0, 2927, 2928, 7, 9, 0, 0, 2928, 2929, - 7, 5, 0, 0, 2929, 2930, 7, 18, 0, 0, 2930, 2931, 7, 6, 0, 0, 2931, 2932, - 7, 10, 0, 0, 2932, 422, 1, 0, 0, 0, 2933, 2934, 7, 12, 0, 0, 2934, 2935, - 7, 17, 0, 0, 2935, 2936, 7, 9, 0, 0, 2936, 2937, 7, 14, 0, 0, 2937, 2938, - 7, 5, 0, 0, 2938, 2939, 7, 13, 0, 0, 2939, 2940, 7, 12, 0, 0, 2940, 424, - 1, 0, 0, 0, 2941, 2942, 7, 12, 0, 0, 2942, 2943, 7, 19, 0, 0, 2943, 2944, - 7, 14, 0, 0, 2944, 2945, 7, 22, 0, 0, 2945, 2946, 7, 15, 0, 0, 2946, 2947, - 7, 10, 0, 0, 2947, 2948, 7, 7, 0, 0, 2948, 2949, 7, 16, 0, 0, 2949, 426, - 1, 0, 0, 0, 2950, 2951, 7, 12, 0, 0, 2951, 2952, 7, 19, 0, 0, 2952, 2953, - 7, 15, 0, 0, 2953, 2954, 7, 5, 0, 0, 2954, 2955, 7, 17, 0, 0, 2955, 2956, - 7, 7, 0, 0, 2956, 428, 1, 0, 0, 0, 2957, 2958, 7, 12, 0, 0, 2958, 2959, - 7, 19, 0, 0, 2959, 2960, 7, 22, 0, 0, 2960, 2961, 7, 18, 0, 0, 2961, 2962, - 7, 6, 0, 0, 2962, 2963, 7, 10, 0, 0, 2963, 430, 1, 0, 0, 0, 2964, 2965, - 7, 12, 0, 0, 2965, 2966, 7, 13, 0, 0, 2966, 2967, 7, 19, 0, 0, 2967, 2968, - 7, 24, 0, 0, 2968, 432, 1, 0, 0, 0, 2969, 2970, 7, 10, 0, 0, 2970, 2971, - 7, 5, 0, 0, 2971, 2972, 7, 14, 0, 0, 2972, 2973, 7, 20, 0, 0, 2973, 434, - 1, 0, 0, 0, 2974, 2975, 7, 10, 0, 0, 2975, 2976, 7, 7, 0, 0, 2976, 2977, - 7, 5, 0, 0, 2977, 2978, 7, 18, 0, 0, 2978, 2979, 7, 6, 0, 0, 2979, 2980, - 7, 10, 0, 0, 2980, 436, 1, 0, 0, 0, 2981, 2982, 7, 10, 0, 0, 2982, 2983, - 7, 7, 0, 0, 2983, 2984, 7, 14, 0, 0, 2984, 2985, 7, 19, 0, 0, 2985, 2986, - 7, 12, 0, 0, 2986, 2987, 7, 17, 0, 0, 2987, 2988, 7, 7, 0, 0, 2988, 2989, - 7, 23, 0, 0, 2989, 438, 1, 0, 0, 0, 2990, 2991, 7, 10, 0, 0, 2991, 2992, - 7, 7, 0, 0, 2992, 2993, 7, 14, 0, 0, 2993, 2994, 7, 13, 0, 0, 2994, 2995, - 7, 8, 0, 0, 2995, 2996, 7, 24, 0, 0, 2996, 2997, 7, 16, 0, 0, 2997, 2998, - 7, 10, 0, 0, 2998, 2999, 7, 12, 0, 0, 2999, 440, 1, 0, 0, 0, 3000, 3001, - 7, 10, 0, 0, 3001, 3002, 7, 7, 0, 0, 3002, 3003, 7, 22, 0, 0, 3003, 3004, - 7, 15, 0, 0, 3004, 442, 1, 0, 0, 0, 3005, 3006, 7, 10, 0, 0, 3006, 3007, - 7, 9, 0, 0, 3007, 3008, 7, 14, 0, 0, 3008, 3009, 7, 5, 0, 0, 3009, 3010, - 7, 24, 0, 0, 3010, 3011, 7, 10, 0, 0, 3011, 444, 1, 0, 0, 0, 3012, 3013, - 7, 10, 0, 0, 3013, 3014, 7, 27, 0, 0, 3014, 3015, 7, 10, 0, 0, 3015, 3016, - 7, 7, 0, 0, 3016, 3017, 7, 16, 0, 0, 3017, 446, 1, 0, 0, 0, 3018, 3019, - 7, 10, 0, 0, 3019, 3020, 7, 26, 0, 0, 3020, 3021, 7, 14, 0, 0, 3021, 3022, - 7, 6, 0, 0, 3022, 3023, 7, 22, 0, 0, 3023, 3024, 7, 12, 0, 0, 3024, 3025, - 7, 10, 0, 0, 3025, 448, 1, 0, 0, 0, 3026, 3027, 7, 10, 0, 0, 3027, 3028, - 7, 26, 0, 0, 3028, 3029, 7, 14, 0, 0, 3029, 3030, 7, 6, 0, 0, 3030, 3031, - 7, 22, 0, 0, 3031, 3032, 7, 12, 0, 0, 3032, 3033, 7, 17, 0, 0, 3033, 3034, - 7, 7, 0, 0, 3034, 3035, 7, 23, 0, 0, 3035, 450, 1, 0, 0, 0, 3036, 3037, - 7, 10, 0, 0, 3037, 3038, 7, 26, 0, 0, 3038, 3039, 7, 14, 0, 0, 3039, 3040, - 7, 6, 0, 0, 3040, 3041, 7, 22, 0, 0, 3041, 3042, 7, 9, 0, 0, 3042, 3043, - 7, 17, 0, 0, 3043, 3044, 7, 27, 0, 0, 3044, 3045, 7, 10, 0, 0, 3045, 452, - 1, 0, 0, 0, 3046, 3047, 7, 10, 0, 0, 3047, 3048, 7, 26, 0, 0, 3048, 3049, - 7, 10, 0, 0, 3049, 3050, 7, 14, 0, 0, 3050, 3051, 7, 22, 0, 0, 3051, 3052, - 7, 16, 0, 0, 3052, 3053, 7, 10, 0, 0, 3053, 454, 1, 0, 0, 0, 3054, 3055, - 7, 10, 0, 0, 3055, 3056, 7, 26, 0, 0, 3056, 3057, 7, 24, 0, 0, 3057, 3058, - 7, 6, 0, 0, 3058, 3059, 7, 5, 0, 0, 3059, 3060, 7, 17, 0, 0, 3060, 3061, - 7, 7, 0, 0, 3061, 456, 1, 0, 0, 0, 3062, 3063, 7, 10, 0, 0, 3063, 3064, - 7, 26, 0, 0, 3064, 3065, 7, 16, 0, 0, 3065, 3066, 7, 10, 0, 0, 3066, 3067, - 7, 7, 0, 0, 3067, 3068, 7, 9, 0, 0, 3068, 3069, 7, 17, 0, 0, 3069, 3070, - 7, 19, 0, 0, 3070, 3071, 7, 7, 0, 0, 3071, 458, 1, 0, 0, 0, 3072, 3073, - 7, 10, 0, 0, 3073, 3074, 7, 26, 0, 0, 3074, 3075, 7, 16, 0, 0, 3075, 3076, - 7, 10, 0, 0, 3076, 3077, 7, 13, 0, 0, 3077, 3078, 7, 7, 0, 0, 3078, 3079, - 7, 5, 0, 0, 3079, 3080, 7, 6, 0, 0, 3080, 460, 1, 0, 0, 0, 3081, 3082, - 7, 25, 0, 0, 3082, 3083, 7, 5, 0, 0, 3083, 3084, 7, 15, 0, 0, 3084, 3085, - 7, 17, 0, 0, 3085, 3086, 7, 6, 0, 0, 3086, 3087, 7, 8, 0, 0, 3087, 462, - 1, 0, 0, 0, 3088, 3089, 7, 25, 0, 0, 3089, 3090, 7, 17, 0, 0, 3090, 3091, - 7, 13, 0, 0, 3091, 3092, 7, 9, 0, 0, 3092, 3093, 7, 16, 0, 0, 3093, 464, - 1, 0, 0, 0, 3094, 3095, 7, 25, 0, 0, 3095, 3096, 7, 19, 0, 0, 3096, 3097, - 7, 6, 0, 0, 3097, 3098, 7, 6, 0, 0, 3098, 3099, 7, 19, 0, 0, 3099, 3100, - 7, 29, 0, 0, 3100, 3101, 7, 17, 0, 0, 3101, 3102, 7, 7, 0, 0, 3102, 3103, - 7, 23, 0, 0, 3103, 466, 1, 0, 0, 0, 3104, 3105, 7, 25, 0, 0, 3105, 3106, - 7, 19, 0, 0, 3106, 3107, 7, 13, 0, 0, 3107, 3108, 7, 14, 0, 0, 3108, 3109, - 7, 10, 0, 0, 3109, 468, 1, 0, 0, 0, 3110, 3111, 7, 25, 0, 0, 3111, 3112, - 7, 19, 0, 0, 3112, 3113, 7, 13, 0, 0, 3113, 3114, 7, 29, 0, 0, 3114, 3115, - 7, 5, 0, 0, 3115, 3116, 7, 13, 0, 0, 3116, 3117, 7, 12, 0, 0, 3117, 470, - 1, 0, 0, 0, 3118, 3119, 7, 25, 0, 0, 3119, 3120, 7, 22, 0, 0, 3120, 3121, - 7, 7, 0, 0, 3121, 3122, 7, 14, 0, 0, 3122, 3123, 7, 16, 0, 0, 3123, 3124, - 7, 17, 0, 0, 3124, 3125, 7, 19, 0, 0, 3125, 3126, 7, 7, 0, 0, 3126, 472, - 1, 0, 0, 0, 3127, 3128, 7, 25, 0, 0, 3128, 3129, 7, 22, 0, 0, 3129, 3130, - 7, 7, 0, 0, 3130, 3131, 7, 14, 0, 0, 3131, 3132, 7, 16, 0, 0, 3132, 3133, - 7, 17, 0, 0, 3133, 3134, 7, 19, 0, 0, 3134, 3135, 7, 7, 0, 0, 3135, 3136, - 7, 9, 0, 0, 3136, 474, 1, 0, 0, 0, 3137, 3138, 7, 23, 0, 0, 3138, 3139, - 7, 6, 0, 0, 3139, 3140, 7, 19, 0, 0, 3140, 3141, 7, 18, 0, 0, 3141, 3142, - 7, 5, 0, 0, 3142, 3143, 7, 6, 0, 0, 3143, 476, 1, 0, 0, 0, 3144, 3145, - 7, 23, 0, 0, 3145, 3146, 7, 13, 0, 0, 3146, 3147, 7, 5, 0, 0, 3147, 3148, - 7, 7, 0, 0, 3148, 3149, 7, 16, 0, 0, 3149, 3150, 7, 10, 0, 0, 3150, 3151, - 7, 12, 0, 0, 3151, 478, 1, 0, 0, 0, 3152, 3153, 7, 20, 0, 0, 3153, 3154, - 7, 5, 0, 0, 3154, 3155, 7, 7, 0, 0, 3155, 3156, 7, 12, 0, 0, 3156, 3157, - 7, 6, 0, 0, 3157, 3158, 7, 10, 0, 0, 3158, 3159, 7, 13, 0, 0, 3159, 480, - 1, 0, 0, 0, 3160, 3161, 7, 20, 0, 0, 3161, 3162, 7, 10, 0, 0, 3162, 3163, - 7, 5, 0, 0, 3163, 3164, 7, 12, 0, 0, 3164, 3165, 7, 10, 0, 0, 3165, 3166, - 7, 13, 0, 0, 3166, 482, 1, 0, 0, 0, 3167, 3168, 7, 20, 0, 0, 3168, 3169, - 7, 19, 0, 0, 3169, 3170, 7, 6, 0, 0, 3170, 3171, 7, 12, 0, 0, 3171, 484, - 1, 0, 0, 0, 3172, 3173, 7, 20, 0, 0, 3173, 3174, 7, 19, 0, 0, 3174, 3175, - 7, 22, 0, 0, 3175, 3176, 7, 13, 0, 0, 3176, 486, 1, 0, 0, 0, 3177, 3178, - 7, 17, 0, 0, 3178, 3179, 7, 12, 0, 0, 3179, 3180, 7, 10, 0, 0, 3180, 3181, - 7, 7, 0, 0, 3181, 3182, 7, 16, 0, 0, 3182, 3183, 7, 17, 0, 0, 3183, 3184, - 7, 16, 0, 0, 3184, 3185, 7, 8, 0, 0, 3185, 488, 1, 0, 0, 0, 3186, 3187, - 7, 17, 0, 0, 3187, 3188, 7, 25, 0, 0, 3188, 490, 1, 0, 0, 0, 3189, 3190, - 7, 17, 0, 0, 3190, 3191, 7, 15, 0, 0, 3191, 3192, 7, 15, 0, 0, 3192, 3193, - 7, 10, 0, 0, 3193, 3194, 7, 12, 0, 0, 3194, 3195, 7, 17, 0, 0, 3195, 3196, - 7, 5, 0, 0, 3196, 3197, 7, 16, 0, 0, 3197, 3198, 7, 10, 0, 0, 3198, 492, - 1, 0, 0, 0, 3199, 3200, 7, 17, 0, 0, 3200, 3201, 7, 15, 0, 0, 3201, 3202, - 7, 15, 0, 0, 3202, 3203, 7, 22, 0, 0, 3203, 3204, 7, 16, 0, 0, 3204, 3205, - 7, 5, 0, 0, 3205, 3206, 7, 18, 0, 0, 3206, 3207, 7, 6, 0, 0, 3207, 3208, - 7, 10, 0, 0, 3208, 494, 1, 0, 0, 0, 3209, 3210, 7, 17, 0, 0, 3210, 3211, - 7, 15, 0, 0, 3211, 3212, 7, 24, 0, 0, 3212, 3213, 7, 6, 0, 0, 3213, 3214, - 7, 17, 0, 0, 3214, 3215, 7, 14, 0, 0, 3215, 3216, 7, 17, 0, 0, 3216, 3217, - 7, 16, 0, 0, 3217, 496, 1, 0, 0, 0, 3218, 3219, 7, 17, 0, 0, 3219, 3220, - 7, 7, 0, 0, 3220, 3221, 7, 14, 0, 0, 3221, 3222, 7, 6, 0, 0, 3222, 3223, - 7, 22, 0, 0, 3223, 3224, 7, 12, 0, 0, 3224, 3225, 7, 17, 0, 0, 3225, 3226, - 7, 7, 0, 0, 3226, 3227, 7, 23, 0, 0, 3227, 498, 1, 0, 0, 0, 3228, 3229, - 7, 17, 0, 0, 3229, 3230, 7, 7, 0, 0, 3230, 3231, 7, 14, 0, 0, 3231, 3232, - 7, 13, 0, 0, 3232, 3233, 7, 10, 0, 0, 3233, 3234, 7, 15, 0, 0, 3234, 3235, - 7, 10, 0, 0, 3235, 3236, 7, 7, 0, 0, 3236, 3237, 7, 16, 0, 0, 3237, 500, - 1, 0, 0, 0, 3238, 3239, 7, 17, 0, 0, 3239, 3240, 7, 7, 0, 0, 3240, 3241, - 7, 12, 0, 0, 3241, 3242, 7, 10, 0, 0, 3242, 3243, 7, 26, 0, 0, 3243, 502, - 1, 0, 0, 0, 3244, 3245, 7, 17, 0, 0, 3245, 3246, 7, 7, 0, 0, 3246, 3247, - 7, 12, 0, 0, 3247, 3248, 7, 10, 0, 0, 3248, 3249, 7, 26, 0, 0, 3249, 3250, - 7, 10, 0, 0, 3250, 3251, 7, 9, 0, 0, 3251, 504, 1, 0, 0, 0, 3252, 3253, - 7, 17, 0, 0, 3253, 3254, 7, 7, 0, 0, 3254, 3255, 7, 20, 0, 0, 3255, 3256, - 7, 10, 0, 0, 3256, 3257, 7, 13, 0, 0, 3257, 3258, 7, 17, 0, 0, 3258, 3259, - 7, 16, 0, 0, 3259, 506, 1, 0, 0, 0, 3260, 3261, 7, 17, 0, 0, 3261, 3262, - 7, 7, 0, 0, 3262, 3263, 7, 20, 0, 0, 3263, 3264, 7, 10, 0, 0, 3264, 3265, - 7, 13, 0, 0, 3265, 3266, 7, 17, 0, 0, 3266, 3267, 7, 16, 0, 0, 3267, 3268, - 7, 9, 0, 0, 3268, 508, 1, 0, 0, 0, 3269, 3270, 7, 17, 0, 0, 3270, 3271, - 7, 7, 0, 0, 3271, 3272, 7, 6, 0, 0, 3272, 3273, 7, 17, 0, 0, 3273, 3274, - 7, 7, 0, 0, 3274, 3275, 7, 10, 0, 0, 3275, 510, 1, 0, 0, 0, 3276, 3277, - 7, 17, 0, 0, 3277, 3278, 7, 7, 0, 0, 3278, 3279, 7, 9, 0, 0, 3279, 3280, - 7, 10, 0, 0, 3280, 3281, 7, 7, 0, 0, 3281, 3282, 7, 9, 0, 0, 3282, 3283, - 7, 17, 0, 0, 3283, 3284, 7, 16, 0, 0, 3284, 3285, 7, 17, 0, 0, 3285, 3286, - 7, 27, 0, 0, 3286, 3287, 7, 10, 0, 0, 3287, 512, 1, 0, 0, 0, 3288, 3289, - 7, 17, 0, 0, 3289, 3290, 7, 7, 0, 0, 3290, 3291, 7, 9, 0, 0, 3291, 3292, - 7, 10, 0, 0, 3292, 3293, 7, 13, 0, 0, 3293, 3294, 7, 16, 0, 0, 3294, 514, - 1, 0, 0, 0, 3295, 3296, 7, 17, 0, 0, 3296, 3297, 7, 7, 0, 0, 3297, 3298, - 7, 9, 0, 0, 3298, 3299, 7, 16, 0, 0, 3299, 3300, 7, 10, 0, 0, 3300, 3301, - 7, 5, 0, 0, 3301, 3302, 7, 12, 0, 0, 3302, 516, 1, 0, 0, 0, 3303, 3304, - 7, 17, 0, 0, 3304, 3305, 7, 7, 0, 0, 3305, 3306, 7, 27, 0, 0, 3306, 3307, - 7, 19, 0, 0, 3307, 3308, 7, 21, 0, 0, 3308, 3309, 7, 10, 0, 0, 3309, 3310, - 7, 13, 0, 0, 3310, 518, 1, 0, 0, 0, 3311, 3312, 7, 17, 0, 0, 3312, 3313, - 7, 9, 0, 0, 3313, 3314, 7, 19, 0, 0, 3314, 3315, 7, 6, 0, 0, 3315, 3316, - 7, 5, 0, 0, 3316, 3317, 7, 16, 0, 0, 3317, 3318, 7, 17, 0, 0, 3318, 3319, - 7, 19, 0, 0, 3319, 3320, 7, 7, 0, 0, 3320, 520, 1, 0, 0, 0, 3321, 3322, - 7, 21, 0, 0, 3322, 3323, 7, 10, 0, 0, 3323, 3324, 7, 8, 0, 0, 3324, 522, - 1, 0, 0, 0, 3325, 3326, 7, 6, 0, 0, 3326, 3327, 7, 5, 0, 0, 3327, 3328, - 7, 18, 0, 0, 3328, 3329, 7, 10, 0, 0, 3329, 3330, 7, 6, 0, 0, 3330, 524, - 1, 0, 0, 0, 3331, 3332, 7, 6, 0, 0, 3332, 3333, 7, 5, 0, 0, 3333, 3334, - 7, 7, 0, 0, 3334, 3335, 7, 23, 0, 0, 3335, 3336, 7, 22, 0, 0, 3336, 3337, - 7, 5, 0, 0, 3337, 3338, 7, 23, 0, 0, 3338, 3339, 7, 10, 0, 0, 3339, 526, - 1, 0, 0, 0, 3340, 3341, 7, 6, 0, 0, 3341, 3342, 7, 5, 0, 0, 3342, 3343, - 7, 13, 0, 0, 3343, 3344, 7, 23, 0, 0, 3344, 3345, 7, 10, 0, 0, 3345, 528, - 1, 0, 0, 0, 3346, 3347, 7, 6, 0, 0, 3347, 3348, 7, 5, 0, 0, 3348, 3349, - 7, 9, 0, 0, 3349, 3350, 7, 16, 0, 0, 3350, 530, 1, 0, 0, 0, 3351, 3352, - 7, 6, 0, 0, 3352, 3353, 7, 10, 0, 0, 3353, 3354, 7, 5, 0, 0, 3354, 3355, - 7, 21, 0, 0, 3355, 3356, 7, 24, 0, 0, 3356, 3357, 7, 13, 0, 0, 3357, 3358, - 7, 19, 0, 0, 3358, 3359, 7, 19, 0, 0, 3359, 3360, 7, 25, 0, 0, 3360, 532, - 1, 0, 0, 0, 3361, 3362, 7, 6, 0, 0, 3362, 3363, 7, 10, 0, 0, 3363, 3364, - 7, 27, 0, 0, 3364, 3365, 7, 10, 0, 0, 3365, 3366, 7, 6, 0, 0, 3366, 534, - 1, 0, 0, 0, 3367, 3368, 7, 6, 0, 0, 3368, 3369, 7, 17, 0, 0, 3369, 3370, - 7, 9, 0, 0, 3370, 3371, 7, 16, 0, 0, 3371, 3372, 7, 10, 0, 0, 3372, 3373, - 7, 7, 0, 0, 3373, 536, 1, 0, 0, 0, 3374, 3375, 7, 6, 0, 0, 3375, 3376, - 7, 19, 0, 0, 3376, 3377, 7, 5, 0, 0, 3377, 3378, 7, 12, 0, 0, 3378, 538, - 1, 0, 0, 0, 3379, 3380, 7, 6, 0, 0, 3380, 3381, 7, 19, 0, 0, 3381, 3382, - 7, 14, 0, 0, 3382, 3383, 7, 5, 0, 0, 3383, 3384, 7, 6, 0, 0, 3384, 540, - 1, 0, 0, 0, 3385, 3386, 7, 6, 0, 0, 3386, 3387, 7, 19, 0, 0, 3387, 3388, - 7, 14, 0, 0, 3388, 3389, 7, 5, 0, 0, 3389, 3390, 7, 16, 0, 0, 3390, 3391, - 7, 17, 0, 0, 3391, 3392, 7, 19, 0, 0, 3392, 3393, 7, 7, 0, 0, 3393, 542, - 1, 0, 0, 0, 3394, 3395, 7, 6, 0, 0, 3395, 3396, 7, 19, 0, 0, 3396, 3397, - 7, 14, 0, 0, 3397, 3398, 7, 21, 0, 0, 3398, 544, 1, 0, 0, 0, 3399, 3400, - 7, 15, 0, 0, 3400, 3401, 7, 5, 0, 0, 3401, 3402, 7, 24, 0, 0, 3402, 3403, - 7, 24, 0, 0, 3403, 3404, 7, 17, 0, 0, 3404, 3405, 7, 7, 0, 0, 3405, 3406, - 7, 23, 0, 0, 3406, 546, 1, 0, 0, 0, 3407, 3408, 7, 15, 0, 0, 3408, 3409, - 7, 5, 0, 0, 3409, 3410, 7, 16, 0, 0, 3410, 3411, 7, 14, 0, 0, 3411, 3412, - 7, 20, 0, 0, 3412, 548, 1, 0, 0, 0, 3413, 3414, 7, 15, 0, 0, 3414, 3415, - 7, 5, 0, 0, 3415, 3416, 7, 16, 0, 0, 3416, 3417, 7, 14, 0, 0, 3417, 3418, - 7, 20, 0, 0, 3418, 3419, 7, 10, 0, 0, 3419, 3420, 7, 12, 0, 0, 3420, 550, - 1, 0, 0, 0, 3421, 3422, 7, 15, 0, 0, 3422, 3423, 7, 5, 0, 0, 3423, 3424, - 7, 16, 0, 0, 3424, 3425, 7, 10, 0, 0, 3425, 3426, 7, 13, 0, 0, 3426, 3427, - 7, 17, 0, 0, 3427, 3428, 7, 5, 0, 0, 3428, 3429, 7, 6, 0, 0, 3429, 3430, - 7, 17, 0, 0, 3430, 3431, 7, 11, 0, 0, 3431, 3432, 7, 10, 0, 0, 3432, 3433, - 7, 12, 0, 0, 3433, 552, 1, 0, 0, 0, 3434, 3435, 7, 15, 0, 0, 3435, 3436, - 7, 5, 0, 0, 3436, 3437, 7, 26, 0, 0, 3437, 3438, 7, 27, 0, 0, 3438, 3439, - 7, 5, 0, 0, 3439, 3440, 7, 6, 0, 0, 3440, 3441, 7, 22, 0, 0, 3441, 3442, - 7, 10, 0, 0, 3442, 554, 1, 0, 0, 0, 3443, 3444, 7, 15, 0, 0, 3444, 3445, - 7, 10, 0, 0, 3445, 3446, 7, 13, 0, 0, 3446, 3447, 7, 23, 0, 0, 3447, 3448, - 7, 10, 0, 0, 3448, 556, 1, 0, 0, 0, 3449, 3450, 7, 15, 0, 0, 3450, 3451, - 7, 17, 0, 0, 3451, 3452, 7, 7, 0, 0, 3452, 3453, 7, 22, 0, 0, 3453, 3454, - 7, 16, 0, 0, 3454, 3455, 7, 10, 0, 0, 3455, 558, 1, 0, 0, 0, 3456, 3457, - 7, 15, 0, 0, 3457, 3458, 7, 17, 0, 0, 3458, 3459, 7, 7, 0, 0, 3459, 3460, - 7, 27, 0, 0, 3460, 3461, 7, 5, 0, 0, 3461, 3462, 7, 6, 0, 0, 3462, 3463, - 7, 22, 0, 0, 3463, 3464, 7, 10, 0, 0, 3464, 560, 1, 0, 0, 0, 3465, 3466, - 7, 15, 0, 0, 3466, 3467, 7, 19, 0, 0, 3467, 3468, 7, 12, 0, 0, 3468, 3469, - 7, 10, 0, 0, 3469, 562, 1, 0, 0, 0, 3470, 3471, 7, 15, 0, 0, 3471, 3472, - 7, 19, 0, 0, 3472, 3473, 7, 7, 0, 0, 3473, 3474, 7, 16, 0, 0, 3474, 3475, - 7, 20, 0, 0, 3475, 564, 1, 0, 0, 0, 3476, 3477, 7, 15, 0, 0, 3477, 3478, - 7, 19, 0, 0, 3478, 3479, 7, 27, 0, 0, 3479, 3480, 7, 10, 0, 0, 3480, 566, - 1, 0, 0, 0, 3481, 3482, 7, 7, 0, 0, 3482, 3483, 7, 5, 0, 0, 3483, 3484, - 7, 15, 0, 0, 3484, 3485, 7, 10, 0, 0, 3485, 568, 1, 0, 0, 0, 3486, 3487, - 7, 7, 0, 0, 3487, 3488, 7, 5, 0, 0, 3488, 3489, 7, 15, 0, 0, 3489, 3490, - 7, 10, 0, 0, 3490, 3491, 7, 9, 0, 0, 3491, 570, 1, 0, 0, 0, 3492, 3493, - 7, 7, 0, 0, 3493, 3494, 7, 10, 0, 0, 3494, 3495, 7, 26, 0, 0, 3495, 3496, - 7, 16, 0, 0, 3496, 572, 1, 0, 0, 0, 3497, 3498, 7, 7, 0, 0, 3498, 3499, - 7, 19, 0, 0, 3499, 574, 1, 0, 0, 0, 3500, 3501, 7, 7, 0, 0, 3501, 3502, - 7, 19, 0, 0, 3502, 3503, 7, 16, 0, 0, 3503, 3504, 7, 20, 0, 0, 3504, 3505, - 7, 17, 0, 0, 3505, 3506, 7, 7, 0, 0, 3506, 3507, 7, 23, 0, 0, 3507, 576, - 1, 0, 0, 0, 3508, 3509, 7, 7, 0, 0, 3509, 3510, 7, 19, 0, 0, 3510, 3511, - 7, 16, 0, 0, 3511, 3512, 7, 17, 0, 0, 3512, 3513, 7, 25, 0, 0, 3513, 3514, - 7, 8, 0, 0, 3514, 578, 1, 0, 0, 0, 3515, 3516, 7, 7, 0, 0, 3516, 3517, - 7, 19, 0, 0, 3517, 3518, 7, 29, 0, 0, 3518, 3519, 7, 5, 0, 0, 3519, 3520, - 7, 17, 0, 0, 3520, 3521, 7, 16, 0, 0, 3521, 580, 1, 0, 0, 0, 3522, 3523, - 7, 7, 0, 0, 3523, 3524, 7, 22, 0, 0, 3524, 3525, 7, 6, 0, 0, 3525, 3526, - 7, 6, 0, 0, 3526, 3527, 7, 9, 0, 0, 3527, 582, 1, 0, 0, 0, 3528, 3529, - 7, 19, 0, 0, 3529, 3530, 7, 18, 0, 0, 3530, 3531, 7, 30, 0, 0, 3531, 3532, - 7, 10, 0, 0, 3532, 3533, 7, 14, 0, 0, 3533, 3534, 7, 16, 0, 0, 3534, 584, - 1, 0, 0, 0, 3535, 3536, 7, 19, 0, 0, 3536, 3537, 7, 25, 0, 0, 3537, 586, - 1, 0, 0, 0, 3538, 3539, 7, 19, 0, 0, 3539, 3540, 7, 25, 0, 0, 3540, 3541, - 7, 25, 0, 0, 3541, 588, 1, 0, 0, 0, 3542, 3543, 7, 19, 0, 0, 3543, 3544, - 7, 17, 0, 0, 3544, 3545, 7, 12, 0, 0, 3545, 3546, 7, 9, 0, 0, 3546, 590, - 1, 0, 0, 0, 3547, 3548, 7, 19, 0, 0, 3548, 3549, 7, 24, 0, 0, 3549, 3550, - 7, 10, 0, 0, 3550, 3551, 7, 13, 0, 0, 3551, 3552, 7, 5, 0, 0, 3552, 3553, - 7, 16, 0, 0, 3553, 3554, 7, 19, 0, 0, 3554, 3555, 7, 13, 0, 0, 3555, 592, - 1, 0, 0, 0, 3556, 3557, 7, 19, 0, 0, 3557, 3558, 7, 24, 0, 0, 3558, 3559, - 7, 16, 0, 0, 3559, 3560, 7, 17, 0, 0, 3560, 3561, 7, 19, 0, 0, 3561, 3562, - 7, 7, 0, 0, 3562, 594, 1, 0, 0, 0, 3563, 3564, 7, 19, 0, 0, 3564, 3565, - 7, 24, 0, 0, 3565, 3566, 7, 16, 0, 0, 3566, 3567, 7, 17, 0, 0, 3567, 3568, - 7, 19, 0, 0, 3568, 3569, 7, 7, 0, 0, 3569, 3570, 7, 9, 0, 0, 3570, 596, - 1, 0, 0, 0, 3571, 3572, 7, 19, 0, 0, 3572, 3573, 7, 29, 0, 0, 3573, 3574, - 7, 7, 0, 0, 3574, 3575, 7, 10, 0, 0, 3575, 3576, 7, 12, 0, 0, 3576, 598, - 1, 0, 0, 0, 3577, 3578, 7, 19, 0, 0, 3578, 3579, 7, 29, 0, 0, 3579, 3580, - 7, 7, 0, 0, 3580, 3581, 7, 10, 0, 0, 3581, 3582, 7, 13, 0, 0, 3582, 600, - 1, 0, 0, 0, 3583, 3584, 7, 24, 0, 0, 3584, 3585, 7, 5, 0, 0, 3585, 3586, - 7, 13, 0, 0, 3586, 3587, 7, 9, 0, 0, 3587, 3588, 7, 10, 0, 0, 3588, 3589, - 7, 13, 0, 0, 3589, 602, 1, 0, 0, 0, 3590, 3591, 7, 24, 0, 0, 3591, 3592, - 7, 5, 0, 0, 3592, 3593, 7, 13, 0, 0, 3593, 3594, 7, 16, 0, 0, 3594, 3595, - 7, 17, 0, 0, 3595, 3596, 7, 5, 0, 0, 3596, 3597, 7, 6, 0, 0, 3597, 604, - 1, 0, 0, 0, 3598, 3599, 7, 24, 0, 0, 3599, 3600, 7, 5, 0, 0, 3600, 3601, - 7, 13, 0, 0, 3601, 3602, 7, 16, 0, 0, 3602, 3603, 7, 17, 0, 0, 3603, 3604, - 7, 16, 0, 0, 3604, 3605, 7, 17, 0, 0, 3605, 3606, 7, 19, 0, 0, 3606, 3607, - 7, 7, 0, 0, 3607, 606, 1, 0, 0, 0, 3608, 3609, 7, 24, 0, 0, 3609, 3610, - 7, 5, 0, 0, 3610, 3611, 7, 9, 0, 0, 3611, 3612, 7, 9, 0, 0, 3612, 3613, - 7, 17, 0, 0, 3613, 3614, 7, 7, 0, 0, 3614, 3615, 7, 23, 0, 0, 3615, 608, - 1, 0, 0, 0, 3616, 3617, 7, 24, 0, 0, 3617, 3618, 7, 5, 0, 0, 3618, 3619, - 7, 9, 0, 0, 3619, 3620, 7, 9, 0, 0, 3620, 3621, 7, 29, 0, 0, 3621, 3622, - 7, 19, 0, 0, 3622, 3623, 7, 13, 0, 0, 3623, 3624, 7, 12, 0, 0, 3624, 610, - 1, 0, 0, 0, 3625, 3626, 7, 24, 0, 0, 3626, 3627, 7, 6, 0, 0, 3627, 3628, - 7, 5, 0, 0, 3628, 3629, 7, 7, 0, 0, 3629, 3630, 7, 9, 0, 0, 3630, 612, - 1, 0, 0, 0, 3631, 3632, 7, 24, 0, 0, 3632, 3633, 7, 13, 0, 0, 3633, 3634, - 7, 10, 0, 0, 3634, 3635, 7, 14, 0, 0, 3635, 3636, 7, 10, 0, 0, 3636, 3637, - 7, 12, 0, 0, 3637, 3638, 7, 17, 0, 0, 3638, 3639, 7, 7, 0, 0, 3639, 3640, - 7, 23, 0, 0, 3640, 614, 1, 0, 0, 0, 3641, 3642, 7, 24, 0, 0, 3642, 3643, - 7, 13, 0, 0, 3643, 3644, 7, 10, 0, 0, 3644, 3645, 7, 24, 0, 0, 3645, 3646, - 7, 5, 0, 0, 3646, 3647, 7, 13, 0, 0, 3647, 3648, 7, 10, 0, 0, 3648, 616, - 1, 0, 0, 0, 3649, 3650, 7, 24, 0, 0, 3650, 3651, 7, 13, 0, 0, 3651, 3652, - 7, 10, 0, 0, 3652, 3653, 7, 24, 0, 0, 3653, 3654, 7, 5, 0, 0, 3654, 3655, - 7, 13, 0, 0, 3655, 3656, 7, 10, 0, 0, 3656, 3657, 7, 12, 0, 0, 3657, 618, - 1, 0, 0, 0, 3658, 3659, 7, 24, 0, 0, 3659, 3660, 7, 13, 0, 0, 3660, 3661, - 7, 10, 0, 0, 3661, 3662, 7, 9, 0, 0, 3662, 3663, 7, 10, 0, 0, 3663, 3664, - 7, 13, 0, 0, 3664, 3665, 7, 27, 0, 0, 3665, 3666, 7, 10, 0, 0, 3666, 620, - 1, 0, 0, 0, 3667, 3668, 7, 24, 0, 0, 3668, 3669, 7, 13, 0, 0, 3669, 3670, - 7, 17, 0, 0, 3670, 3671, 7, 19, 0, 0, 3671, 3672, 7, 13, 0, 0, 3672, 622, - 1, 0, 0, 0, 3673, 3674, 7, 24, 0, 0, 3674, 3675, 7, 13, 0, 0, 3675, 3676, - 7, 17, 0, 0, 3676, 3677, 7, 27, 0, 0, 3677, 3678, 7, 17, 0, 0, 3678, 3679, - 7, 6, 0, 0, 3679, 3680, 7, 10, 0, 0, 3680, 3681, 7, 23, 0, 0, 3681, 3682, - 7, 10, 0, 0, 3682, 3683, 7, 9, 0, 0, 3683, 624, 1, 0, 0, 0, 3684, 3685, - 7, 24, 0, 0, 3685, 3686, 7, 13, 0, 0, 3686, 3687, 7, 19, 0, 0, 3687, 3688, - 7, 14, 0, 0, 3688, 3689, 7, 10, 0, 0, 3689, 3690, 7, 12, 0, 0, 3690, 3691, - 7, 22, 0, 0, 3691, 3692, 7, 13, 0, 0, 3692, 3693, 7, 5, 0, 0, 3693, 3694, - 7, 6, 0, 0, 3694, 626, 1, 0, 0, 0, 3695, 3696, 7, 24, 0, 0, 3696, 3697, - 7, 13, 0, 0, 3697, 3698, 7, 19, 0, 0, 3698, 3699, 7, 14, 0, 0, 3699, 3700, - 7, 10, 0, 0, 3700, 3701, 7, 12, 0, 0, 3701, 3702, 7, 22, 0, 0, 3702, 3703, - 7, 13, 0, 0, 3703, 3704, 7, 10, 0, 0, 3704, 628, 1, 0, 0, 0, 3705, 3706, - 7, 24, 0, 0, 3706, 3707, 7, 13, 0, 0, 3707, 3708, 7, 19, 0, 0, 3708, 3709, - 7, 23, 0, 0, 3709, 3710, 7, 13, 0, 0, 3710, 3711, 7, 5, 0, 0, 3711, 3712, - 7, 15, 0, 0, 3712, 630, 1, 0, 0, 0, 3713, 3714, 7, 28, 0, 0, 3714, 3715, - 7, 22, 0, 0, 3715, 3716, 7, 19, 0, 0, 3716, 3717, 7, 16, 0, 0, 3717, 3718, - 7, 10, 0, 0, 3718, 632, 1, 0, 0, 0, 3719, 3720, 7, 13, 0, 0, 3720, 3721, - 7, 5, 0, 0, 3721, 3722, 7, 7, 0, 0, 3722, 3723, 7, 23, 0, 0, 3723, 3724, - 7, 10, 0, 0, 3724, 634, 1, 0, 0, 0, 3725, 3726, 7, 13, 0, 0, 3726, 3727, - 7, 10, 0, 0, 3727, 3728, 7, 5, 0, 0, 3728, 3729, 7, 12, 0, 0, 3729, 636, - 1, 0, 0, 0, 3730, 3731, 7, 13, 0, 0, 3731, 3732, 7, 10, 0, 0, 3732, 3733, - 7, 5, 0, 0, 3733, 3734, 7, 9, 0, 0, 3734, 3735, 7, 9, 0, 0, 3735, 3736, - 7, 17, 0, 0, 3736, 3737, 7, 23, 0, 0, 3737, 3738, 7, 7, 0, 0, 3738, 638, - 1, 0, 0, 0, 3739, 3740, 7, 13, 0, 0, 3740, 3741, 7, 10, 0, 0, 3741, 3742, - 7, 14, 0, 0, 3742, 3743, 7, 20, 0, 0, 3743, 3744, 7, 10, 0, 0, 3744, 3745, - 7, 14, 0, 0, 3745, 3746, 7, 21, 0, 0, 3746, 640, 1, 0, 0, 0, 3747, 3748, - 7, 13, 0, 0, 3748, 3749, 7, 10, 0, 0, 3749, 3750, 7, 14, 0, 0, 3750, 3751, - 7, 22, 0, 0, 3751, 3752, 7, 13, 0, 0, 3752, 3753, 7, 9, 0, 0, 3753, 3754, - 7, 17, 0, 0, 3754, 3755, 7, 27, 0, 0, 3755, 3756, 7, 10, 0, 0, 3756, 642, - 1, 0, 0, 0, 3757, 3758, 7, 13, 0, 0, 3758, 3759, 7, 10, 0, 0, 3759, 3760, - 7, 25, 0, 0, 3760, 644, 1, 0, 0, 0, 3761, 3762, 7, 13, 0, 0, 3762, 3763, - 7, 10, 0, 0, 3763, 3764, 7, 25, 0, 0, 3764, 3765, 7, 13, 0, 0, 3765, 3766, - 7, 10, 0, 0, 3766, 3767, 7, 9, 0, 0, 3767, 3768, 7, 20, 0, 0, 3768, 646, - 1, 0, 0, 0, 3769, 3770, 7, 13, 0, 0, 3770, 3771, 7, 10, 0, 0, 3771, 3772, - 7, 17, 0, 0, 3772, 3773, 7, 7, 0, 0, 3773, 3774, 7, 12, 0, 0, 3774, 3775, - 7, 10, 0, 0, 3775, 3776, 7, 26, 0, 0, 3776, 648, 1, 0, 0, 0, 3777, 3778, - 7, 13, 0, 0, 3778, 3779, 7, 10, 0, 0, 3779, 3780, 7, 6, 0, 0, 3780, 3781, - 7, 5, 0, 0, 3781, 3782, 7, 16, 0, 0, 3782, 3783, 7, 17, 0, 0, 3783, 3784, - 7, 27, 0, 0, 3784, 3785, 7, 10, 0, 0, 3785, 650, 1, 0, 0, 0, 3786, 3787, - 7, 13, 0, 0, 3787, 3788, 7, 10, 0, 0, 3788, 3789, 7, 6, 0, 0, 3789, 3790, - 7, 10, 0, 0, 3790, 3791, 7, 5, 0, 0, 3791, 3792, 7, 9, 0, 0, 3792, 3793, - 7, 10, 0, 0, 3793, 652, 1, 0, 0, 0, 3794, 3795, 7, 13, 0, 0, 3795, 3796, - 7, 10, 0, 0, 3796, 3797, 7, 7, 0, 0, 3797, 3798, 7, 5, 0, 0, 3798, 3799, - 7, 15, 0, 0, 3799, 3800, 7, 10, 0, 0, 3800, 654, 1, 0, 0, 0, 3801, 3802, - 7, 13, 0, 0, 3802, 3803, 7, 10, 0, 0, 3803, 3804, 7, 24, 0, 0, 3804, 3805, - 7, 10, 0, 0, 3805, 3806, 7, 5, 0, 0, 3806, 3807, 7, 16, 0, 0, 3807, 3808, - 7, 5, 0, 0, 3808, 3809, 7, 18, 0, 0, 3809, 3810, 7, 6, 0, 0, 3810, 3811, - 7, 10, 0, 0, 3811, 656, 1, 0, 0, 0, 3812, 3813, 7, 13, 0, 0, 3813, 3814, - 7, 10, 0, 0, 3814, 3815, 7, 24, 0, 0, 3815, 3816, 7, 6, 0, 0, 3816, 3817, - 7, 5, 0, 0, 3817, 3818, 7, 14, 0, 0, 3818, 3819, 7, 10, 0, 0, 3819, 658, - 1, 0, 0, 0, 3820, 3821, 7, 13, 0, 0, 3821, 3822, 7, 10, 0, 0, 3822, 3823, - 7, 24, 0, 0, 3823, 3824, 7, 6, 0, 0, 3824, 3825, 7, 17, 0, 0, 3825, 3826, - 7, 14, 0, 0, 3826, 3827, 7, 5, 0, 0, 3827, 660, 1, 0, 0, 0, 3828, 3829, - 7, 13, 0, 0, 3829, 3830, 7, 10, 0, 0, 3830, 3831, 7, 9, 0, 0, 3831, 3832, - 7, 10, 0, 0, 3832, 3833, 7, 16, 0, 0, 3833, 662, 1, 0, 0, 0, 3834, 3835, - 7, 13, 0, 0, 3835, 3836, 7, 10, 0, 0, 3836, 3837, 7, 9, 0, 0, 3837, 3838, - 7, 16, 0, 0, 3838, 3839, 7, 5, 0, 0, 3839, 3840, 7, 13, 0, 0, 3840, 3841, - 7, 16, 0, 0, 3841, 664, 1, 0, 0, 0, 3842, 3843, 7, 13, 0, 0, 3843, 3844, - 7, 10, 0, 0, 3844, 3845, 7, 9, 0, 0, 3845, 3846, 7, 16, 0, 0, 3846, 3847, - 7, 13, 0, 0, 3847, 3848, 7, 17, 0, 0, 3848, 3849, 7, 14, 0, 0, 3849, 3850, - 7, 16, 0, 0, 3850, 666, 1, 0, 0, 0, 3851, 3852, 7, 13, 0, 0, 3852, 3853, - 7, 10, 0, 0, 3853, 3854, 7, 16, 0, 0, 3854, 3855, 7, 22, 0, 0, 3855, 3856, - 7, 13, 0, 0, 3856, 3857, 7, 7, 0, 0, 3857, 3858, 7, 9, 0, 0, 3858, 668, - 1, 0, 0, 0, 3859, 3860, 7, 13, 0, 0, 3860, 3861, 7, 10, 0, 0, 3861, 3862, - 7, 27, 0, 0, 3862, 3863, 7, 19, 0, 0, 3863, 3864, 7, 21, 0, 0, 3864, 3865, - 7, 10, 0, 0, 3865, 670, 1, 0, 0, 0, 3866, 3867, 7, 13, 0, 0, 3867, 3868, - 7, 19, 0, 0, 3868, 3869, 7, 6, 0, 0, 3869, 3870, 7, 10, 0, 0, 3870, 672, - 1, 0, 0, 0, 3871, 3872, 7, 13, 0, 0, 3872, 3873, 7, 19, 0, 0, 3873, 3874, - 7, 6, 0, 0, 3874, 3875, 7, 6, 0, 0, 3875, 3876, 7, 18, 0, 0, 3876, 3877, - 7, 5, 0, 0, 3877, 3878, 7, 14, 0, 0, 3878, 3879, 7, 21, 0, 0, 3879, 674, - 1, 0, 0, 0, 3880, 3881, 7, 13, 0, 0, 3881, 3882, 7, 19, 0, 0, 3882, 3883, - 7, 29, 0, 0, 3883, 3884, 7, 9, 0, 0, 3884, 676, 1, 0, 0, 0, 3885, 3886, - 7, 13, 0, 0, 3886, 3887, 7, 22, 0, 0, 3887, 3888, 7, 6, 0, 0, 3888, 3889, - 7, 10, 0, 0, 3889, 678, 1, 0, 0, 0, 3890, 3891, 7, 9, 0, 0, 3891, 3892, - 7, 5, 0, 0, 3892, 3893, 7, 27, 0, 0, 3893, 3894, 7, 10, 0, 0, 3894, 3895, - 7, 24, 0, 0, 3895, 3896, 7, 19, 0, 0, 3896, 3897, 7, 17, 0, 0, 3897, 3898, - 7, 7, 0, 0, 3898, 3899, 7, 16, 0, 0, 3899, 680, 1, 0, 0, 0, 3900, 3901, - 7, 9, 0, 0, 3901, 3902, 7, 14, 0, 0, 3902, 3903, 7, 20, 0, 0, 3903, 3904, - 7, 10, 0, 0, 3904, 3905, 7, 15, 0, 0, 3905, 3906, 7, 5, 0, 0, 3906, 682, - 1, 0, 0, 0, 3907, 3908, 7, 9, 0, 0, 3908, 3909, 7, 14, 0, 0, 3909, 3910, - 7, 13, 0, 0, 3910, 3911, 7, 19, 0, 0, 3911, 3912, 7, 6, 0, 0, 3912, 3913, - 7, 6, 0, 0, 3913, 684, 1, 0, 0, 0, 3914, 3915, 7, 9, 0, 0, 3915, 3916, - 7, 10, 0, 0, 3916, 3917, 7, 5, 0, 0, 3917, 3918, 7, 13, 0, 0, 3918, 3919, - 7, 14, 0, 0, 3919, 3920, 7, 20, 0, 0, 3920, 686, 1, 0, 0, 0, 3921, 3922, - 7, 9, 0, 0, 3922, 3923, 7, 10, 0, 0, 3923, 3924, 7, 14, 0, 0, 3924, 3925, - 7, 19, 0, 0, 3925, 3926, 7, 7, 0, 0, 3926, 3927, 7, 12, 0, 0, 3927, 688, - 1, 0, 0, 0, 3928, 3929, 7, 9, 0, 0, 3929, 3930, 7, 10, 0, 0, 3930, 3931, - 7, 14, 0, 0, 3931, 3932, 7, 22, 0, 0, 3932, 3933, 7, 13, 0, 0, 3933, 3934, - 7, 17, 0, 0, 3934, 3935, 7, 16, 0, 0, 3935, 3936, 7, 8, 0, 0, 3936, 690, - 1, 0, 0, 0, 3937, 3938, 7, 9, 0, 0, 3938, 3939, 7, 10, 0, 0, 3939, 3940, - 7, 28, 0, 0, 3940, 3941, 7, 22, 0, 0, 3941, 3942, 7, 10, 0, 0, 3942, 3943, - 7, 7, 0, 0, 3943, 3944, 7, 14, 0, 0, 3944, 3945, 7, 10, 0, 0, 3945, 692, - 1, 0, 0, 0, 3946, 3947, 7, 9, 0, 0, 3947, 3948, 7, 10, 0, 0, 3948, 3949, - 7, 28, 0, 0, 3949, 3950, 7, 22, 0, 0, 3950, 3951, 7, 10, 0, 0, 3951, 3952, - 7, 7, 0, 0, 3952, 3953, 7, 14, 0, 0, 3953, 3954, 7, 10, 0, 0, 3954, 3955, - 7, 9, 0, 0, 3955, 694, 1, 0, 0, 0, 3956, 3957, 7, 9, 0, 0, 3957, 3958, - 7, 10, 0, 0, 3958, 3959, 7, 13, 0, 0, 3959, 3960, 7, 17, 0, 0, 3960, 3961, - 7, 5, 0, 0, 3961, 3962, 7, 6, 0, 0, 3962, 3963, 7, 17, 0, 0, 3963, 3964, - 7, 11, 0, 0, 3964, 3965, 7, 5, 0, 0, 3965, 3966, 7, 18, 0, 0, 3966, 3967, - 7, 6, 0, 0, 3967, 3968, 7, 10, 0, 0, 3968, 696, 1, 0, 0, 0, 3969, 3970, - 7, 9, 0, 0, 3970, 3971, 7, 10, 0, 0, 3971, 3972, 7, 13, 0, 0, 3972, 3973, - 7, 27, 0, 0, 3973, 3974, 7, 10, 0, 0, 3974, 3975, 7, 13, 0, 0, 3975, 698, - 1, 0, 0, 0, 3976, 3977, 7, 9, 0, 0, 3977, 3978, 7, 10, 0, 0, 3978, 3979, - 7, 9, 0, 0, 3979, 3980, 7, 9, 0, 0, 3980, 3981, 7, 17, 0, 0, 3981, 3982, - 7, 19, 0, 0, 3982, 3983, 7, 7, 0, 0, 3983, 700, 1, 0, 0, 0, 3984, 3985, - 7, 9, 0, 0, 3985, 3986, 7, 10, 0, 0, 3986, 3987, 7, 16, 0, 0, 3987, 702, - 1, 0, 0, 0, 3988, 3989, 7, 9, 0, 0, 3989, 3990, 7, 20, 0, 0, 3990, 3991, - 7, 5, 0, 0, 3991, 3992, 7, 13, 0, 0, 3992, 3993, 7, 10, 0, 0, 3993, 704, - 1, 0, 0, 0, 3994, 3995, 7, 9, 0, 0, 3995, 3996, 7, 20, 0, 0, 3996, 3997, - 7, 19, 0, 0, 3997, 3998, 7, 29, 0, 0, 3998, 706, 1, 0, 0, 0, 3999, 4000, - 7, 9, 0, 0, 4000, 4001, 7, 17, 0, 0, 4001, 4002, 7, 15, 0, 0, 4002, 4003, - 7, 24, 0, 0, 4003, 4004, 7, 6, 0, 0, 4004, 4005, 7, 10, 0, 0, 4005, 708, - 1, 0, 0, 0, 4006, 4007, 7, 9, 0, 0, 4007, 4008, 7, 7, 0, 0, 4008, 4009, - 7, 5, 0, 0, 4009, 4010, 7, 24, 0, 0, 4010, 4011, 7, 9, 0, 0, 4011, 4012, - 7, 20, 0, 0, 4012, 4013, 7, 19, 0, 0, 4013, 4014, 7, 16, 0, 0, 4014, 710, - 1, 0, 0, 0, 4015, 4016, 7, 9, 0, 0, 4016, 4017, 7, 16, 0, 0, 4017, 4018, - 7, 5, 0, 0, 4018, 4019, 7, 18, 0, 0, 4019, 4020, 7, 6, 0, 0, 4020, 4021, - 7, 10, 0, 0, 4021, 712, 1, 0, 0, 0, 4022, 4023, 7, 9, 0, 0, 4023, 4024, - 7, 16, 0, 0, 4024, 4025, 7, 5, 0, 0, 4025, 4026, 7, 7, 0, 0, 4026, 4027, - 7, 12, 0, 0, 4027, 4028, 7, 5, 0, 0, 4028, 4029, 7, 6, 0, 0, 4029, 4030, - 7, 19, 0, 0, 4030, 4031, 7, 7, 0, 0, 4031, 4032, 7, 10, 0, 0, 4032, 714, - 1, 0, 0, 0, 4033, 4034, 7, 9, 0, 0, 4034, 4035, 7, 16, 0, 0, 4035, 4036, - 7, 5, 0, 0, 4036, 4037, 7, 13, 0, 0, 4037, 4038, 7, 16, 0, 0, 4038, 716, - 1, 0, 0, 0, 4039, 4040, 7, 9, 0, 0, 4040, 4041, 7, 16, 0, 0, 4041, 4042, - 7, 5, 0, 0, 4042, 4043, 7, 16, 0, 0, 4043, 4044, 7, 10, 0, 0, 4044, 4045, - 7, 15, 0, 0, 4045, 4046, 7, 10, 0, 0, 4046, 4047, 7, 7, 0, 0, 4047, 4048, - 7, 16, 0, 0, 4048, 718, 1, 0, 0, 0, 4049, 4050, 7, 9, 0, 0, 4050, 4051, - 7, 16, 0, 0, 4051, 4052, 7, 5, 0, 0, 4052, 4053, 7, 16, 0, 0, 4053, 4054, - 7, 17, 0, 0, 4054, 4055, 7, 9, 0, 0, 4055, 4056, 7, 16, 0, 0, 4056, 4057, - 7, 17, 0, 0, 4057, 4058, 7, 14, 0, 0, 4058, 4059, 7, 9, 0, 0, 4059, 720, - 1, 0, 0, 0, 4060, 4061, 7, 9, 0, 0, 4061, 4062, 7, 16, 0, 0, 4062, 4063, - 7, 12, 0, 0, 4063, 4064, 7, 17, 0, 0, 4064, 4065, 7, 7, 0, 0, 4065, 722, - 1, 0, 0, 0, 4066, 4067, 7, 9, 0, 0, 4067, 4068, 7, 16, 0, 0, 4068, 4069, - 7, 12, 0, 0, 4069, 4070, 7, 19, 0, 0, 4070, 4071, 7, 22, 0, 0, 4071, 4072, - 7, 16, 0, 0, 4072, 724, 1, 0, 0, 0, 4073, 4074, 7, 9, 0, 0, 4074, 4075, - 7, 16, 0, 0, 4075, 4076, 7, 19, 0, 0, 4076, 4077, 7, 13, 0, 0, 4077, 4078, - 7, 5, 0, 0, 4078, 4079, 7, 23, 0, 0, 4079, 4080, 7, 10, 0, 0, 4080, 726, - 1, 0, 0, 0, 4081, 4082, 7, 9, 0, 0, 4082, 4083, 7, 16, 0, 0, 4083, 4084, - 7, 13, 0, 0, 4084, 4085, 7, 17, 0, 0, 4085, 4086, 7, 14, 0, 0, 4086, 4087, - 7, 16, 0, 0, 4087, 728, 1, 0, 0, 0, 4088, 4089, 7, 9, 0, 0, 4089, 4090, - 7, 16, 0, 0, 4090, 4091, 7, 13, 0, 0, 4091, 4092, 7, 17, 0, 0, 4092, 4093, - 7, 24, 0, 0, 4093, 730, 1, 0, 0, 0, 4094, 4095, 7, 9, 0, 0, 4095, 4096, - 7, 8, 0, 0, 4096, 4097, 7, 9, 0, 0, 4097, 4098, 7, 17, 0, 0, 4098, 4099, - 7, 12, 0, 0, 4099, 732, 1, 0, 0, 0, 4100, 4101, 7, 9, 0, 0, 4101, 4102, - 7, 8, 0, 0, 4102, 4103, 7, 9, 0, 0, 4103, 4104, 7, 16, 0, 0, 4104, 4105, - 7, 10, 0, 0, 4105, 4106, 7, 15, 0, 0, 4106, 734, 1, 0, 0, 0, 4107, 4108, - 7, 16, 0, 0, 4108, 4109, 7, 5, 0, 0, 4109, 4110, 7, 18, 0, 0, 4110, 4111, - 7, 6, 0, 0, 4111, 4112, 7, 10, 0, 0, 4112, 4113, 7, 9, 0, 0, 4113, 736, - 1, 0, 0, 0, 4114, 4115, 7, 16, 0, 0, 4115, 4116, 7, 5, 0, 0, 4116, 4117, - 7, 18, 0, 0, 4117, 4118, 7, 6, 0, 0, 4118, 4119, 7, 10, 0, 0, 4119, 4120, - 7, 9, 0, 0, 4120, 4121, 7, 24, 0, 0, 4121, 4122, 7, 5, 0, 0, 4122, 4123, - 7, 14, 0, 0, 4123, 4124, 7, 10, 0, 0, 4124, 738, 1, 0, 0, 0, 4125, 4126, - 7, 16, 0, 0, 4126, 4127, 7, 10, 0, 0, 4127, 4128, 7, 15, 0, 0, 4128, 4129, - 7, 24, 0, 0, 4129, 740, 1, 0, 0, 0, 4130, 4131, 7, 16, 0, 0, 4131, 4132, - 7, 10, 0, 0, 4132, 4133, 7, 15, 0, 0, 4133, 4134, 7, 24, 0, 0, 4134, 4135, - 7, 6, 0, 0, 4135, 4136, 7, 5, 0, 0, 4136, 4137, 7, 16, 0, 0, 4137, 4138, - 7, 10, 0, 0, 4138, 742, 1, 0, 0, 0, 4139, 4140, 7, 16, 0, 0, 4140, 4141, - 7, 10, 0, 0, 4141, 4142, 7, 15, 0, 0, 4142, 4143, 7, 24, 0, 0, 4143, 4144, - 7, 19, 0, 0, 4144, 4145, 7, 13, 0, 0, 4145, 4146, 7, 5, 0, 0, 4146, 4147, - 7, 13, 0, 0, 4147, 4148, 7, 8, 0, 0, 4148, 744, 1, 0, 0, 0, 4149, 4150, - 7, 16, 0, 0, 4150, 4151, 7, 10, 0, 0, 4151, 4152, 7, 26, 0, 0, 4152, 4153, - 7, 16, 0, 0, 4153, 746, 1, 0, 0, 0, 4154, 4155, 7, 16, 0, 0, 4155, 4156, - 7, 13, 0, 0, 4156, 4157, 7, 5, 0, 0, 4157, 4158, 7, 7, 0, 0, 4158, 4159, - 7, 9, 0, 0, 4159, 4160, 7, 5, 0, 0, 4160, 4161, 7, 14, 0, 0, 4161, 4162, - 7, 16, 0, 0, 4162, 4163, 7, 17, 0, 0, 4163, 4164, 7, 19, 0, 0, 4164, 4165, - 7, 7, 0, 0, 4165, 748, 1, 0, 0, 0, 4166, 4167, 7, 16, 0, 0, 4167, 4168, - 7, 13, 0, 0, 4168, 4169, 7, 17, 0, 0, 4169, 4170, 7, 23, 0, 0, 4170, 4171, - 7, 23, 0, 0, 4171, 4172, 7, 10, 0, 0, 4172, 4173, 7, 13, 0, 0, 4173, 750, - 1, 0, 0, 0, 4174, 4175, 7, 16, 0, 0, 4175, 4176, 7, 13, 0, 0, 4176, 4177, - 7, 22, 0, 0, 4177, 4178, 7, 7, 0, 0, 4178, 4179, 7, 14, 0, 0, 4179, 4180, - 7, 5, 0, 0, 4180, 4181, 7, 16, 0, 0, 4181, 4182, 7, 10, 0, 0, 4182, 752, - 1, 0, 0, 0, 4183, 4184, 7, 16, 0, 0, 4184, 4185, 7, 13, 0, 0, 4185, 4186, - 7, 22, 0, 0, 4186, 4187, 7, 9, 0, 0, 4187, 4188, 7, 16, 0, 0, 4188, 4189, - 7, 10, 0, 0, 4189, 4190, 7, 12, 0, 0, 4190, 754, 1, 0, 0, 0, 4191, 4192, - 7, 16, 0, 0, 4192, 4193, 7, 8, 0, 0, 4193, 4194, 7, 24, 0, 0, 4194, 4195, - 7, 10, 0, 0, 4195, 756, 1, 0, 0, 0, 4196, 4197, 7, 16, 0, 0, 4197, 4198, - 7, 8, 0, 0, 4198, 4199, 7, 24, 0, 0, 4199, 4200, 7, 10, 0, 0, 4200, 4201, - 7, 9, 0, 0, 4201, 758, 1, 0, 0, 0, 4202, 4203, 7, 22, 0, 0, 4203, 4204, - 7, 7, 0, 0, 4204, 4205, 7, 18, 0, 0, 4205, 4206, 7, 19, 0, 0, 4206, 4207, - 7, 22, 0, 0, 4207, 4208, 7, 7, 0, 0, 4208, 4209, 7, 12, 0, 0, 4209, 4210, - 7, 10, 0, 0, 4210, 4211, 7, 12, 0, 0, 4211, 760, 1, 0, 0, 0, 4212, 4213, - 7, 22, 0, 0, 4213, 4214, 7, 7, 0, 0, 4214, 4215, 7, 14, 0, 0, 4215, 4216, - 7, 19, 0, 0, 4216, 4217, 7, 15, 0, 0, 4217, 4218, 7, 15, 0, 0, 4218, 4219, - 7, 17, 0, 0, 4219, 4220, 7, 16, 0, 0, 4220, 4221, 7, 16, 0, 0, 4221, 4222, - 7, 10, 0, 0, 4222, 4223, 7, 12, 0, 0, 4223, 762, 1, 0, 0, 0, 4224, 4225, - 7, 22, 0, 0, 4225, 4226, 7, 7, 0, 0, 4226, 4227, 7, 10, 0, 0, 4227, 4228, - 7, 7, 0, 0, 4228, 4229, 7, 14, 0, 0, 4229, 4230, 7, 13, 0, 0, 4230, 4231, - 7, 8, 0, 0, 4231, 4232, 7, 24, 0, 0, 4232, 4233, 7, 16, 0, 0, 4233, 4234, - 7, 10, 0, 0, 4234, 4235, 7, 12, 0, 0, 4235, 764, 1, 0, 0, 0, 4236, 4237, - 7, 22, 0, 0, 4237, 4238, 7, 7, 0, 0, 4238, 4239, 7, 21, 0, 0, 4239, 4240, - 7, 7, 0, 0, 4240, 4241, 7, 19, 0, 0, 4241, 4242, 7, 29, 0, 0, 4242, 4243, - 7, 7, 0, 0, 4243, 766, 1, 0, 0, 0, 4244, 4245, 7, 22, 0, 0, 4245, 4246, - 7, 7, 0, 0, 4246, 4247, 7, 6, 0, 0, 4247, 4248, 7, 17, 0, 0, 4248, 4249, - 7, 9, 0, 0, 4249, 4250, 7, 16, 0, 0, 4250, 4251, 7, 10, 0, 0, 4251, 4252, - 7, 7, 0, 0, 4252, 768, 1, 0, 0, 0, 4253, 4254, 7, 22, 0, 0, 4254, 4255, - 7, 7, 0, 0, 4255, 4256, 7, 6, 0, 0, 4256, 4257, 7, 19, 0, 0, 4257, 4258, - 7, 23, 0, 0, 4258, 4259, 7, 23, 0, 0, 4259, 4260, 7, 10, 0, 0, 4260, 4261, - 7, 12, 0, 0, 4261, 770, 1, 0, 0, 0, 4262, 4263, 7, 22, 0, 0, 4263, 4264, - 7, 7, 0, 0, 4264, 4265, 7, 16, 0, 0, 4265, 4266, 7, 17, 0, 0, 4266, 4267, - 7, 6, 0, 0, 4267, 772, 1, 0, 0, 0, 4268, 4269, 7, 22, 0, 0, 4269, 4270, - 7, 24, 0, 0, 4270, 4271, 7, 12, 0, 0, 4271, 4272, 7, 5, 0, 0, 4272, 4273, - 7, 16, 0, 0, 4273, 4274, 7, 10, 0, 0, 4274, 774, 1, 0, 0, 0, 4275, 4276, - 7, 27, 0, 0, 4276, 4277, 7, 5, 0, 0, 4277, 4278, 7, 14, 0, 0, 4278, 4279, - 7, 22, 0, 0, 4279, 4280, 7, 22, 0, 0, 4280, 4281, 7, 15, 0, 0, 4281, 776, - 1, 0, 0, 0, 4282, 4283, 7, 27, 0, 0, 4283, 4284, 7, 5, 0, 0, 4284, 4285, - 7, 6, 0, 0, 4285, 4286, 7, 17, 0, 0, 4286, 4287, 7, 12, 0, 0, 4287, 778, - 1, 0, 0, 0, 4288, 4289, 7, 27, 0, 0, 4289, 4290, 7, 5, 0, 0, 4290, 4291, - 7, 6, 0, 0, 4291, 4292, 7, 17, 0, 0, 4292, 4293, 7, 12, 0, 0, 4293, 4294, - 7, 5, 0, 0, 4294, 4295, 7, 16, 0, 0, 4295, 4296, 7, 10, 0, 0, 4296, 780, - 1, 0, 0, 0, 4297, 4298, 7, 27, 0, 0, 4298, 4299, 7, 5, 0, 0, 4299, 4300, - 7, 6, 0, 0, 4300, 4301, 7, 17, 0, 0, 4301, 4302, 7, 12, 0, 0, 4302, 4303, - 7, 5, 0, 0, 4303, 4304, 7, 16, 0, 0, 4304, 4305, 7, 19, 0, 0, 4305, 4306, - 7, 13, 0, 0, 4306, 782, 1, 0, 0, 0, 4307, 4308, 7, 27, 0, 0, 4308, 4309, - 7, 5, 0, 0, 4309, 4310, 7, 13, 0, 0, 4310, 4311, 7, 8, 0, 0, 4311, 4312, - 7, 17, 0, 0, 4312, 4313, 7, 7, 0, 0, 4313, 4314, 7, 23, 0, 0, 4314, 784, - 1, 0, 0, 0, 4315, 4316, 7, 27, 0, 0, 4316, 4317, 7, 10, 0, 0, 4317, 4318, - 7, 13, 0, 0, 4318, 4319, 7, 9, 0, 0, 4319, 4320, 7, 17, 0, 0, 4320, 4321, - 7, 19, 0, 0, 4321, 4322, 7, 7, 0, 0, 4322, 786, 1, 0, 0, 0, 4323, 4324, - 7, 27, 0, 0, 4324, 4325, 7, 17, 0, 0, 4325, 4326, 7, 10, 0, 0, 4326, 4327, - 7, 29, 0, 0, 4327, 788, 1, 0, 0, 0, 4328, 4329, 7, 27, 0, 0, 4329, 4330, - 7, 19, 0, 0, 4330, 4331, 7, 6, 0, 0, 4331, 4332, 7, 5, 0, 0, 4332, 4333, - 7, 16, 0, 0, 4333, 4334, 7, 17, 0, 0, 4334, 4335, 7, 6, 0, 0, 4335, 4336, - 7, 10, 0, 0, 4336, 790, 1, 0, 0, 0, 4337, 4338, 7, 29, 0, 0, 4338, 4339, - 7, 20, 0, 0, 4339, 4340, 7, 17, 0, 0, 4340, 4341, 7, 16, 0, 0, 4341, 4342, - 7, 10, 0, 0, 4342, 4343, 7, 9, 0, 0, 4343, 4344, 7, 24, 0, 0, 4344, 4345, - 7, 5, 0, 0, 4345, 4346, 7, 14, 0, 0, 4346, 4347, 7, 10, 0, 0, 4347, 792, - 1, 0, 0, 0, 4348, 4349, 7, 29, 0, 0, 4349, 4350, 7, 17, 0, 0, 4350, 4351, - 7, 16, 0, 0, 4351, 4352, 7, 20, 0, 0, 4352, 4353, 7, 19, 0, 0, 4353, 4354, - 7, 22, 0, 0, 4354, 4355, 7, 16, 0, 0, 4355, 794, 1, 0, 0, 0, 4356, 4357, - 7, 29, 0, 0, 4357, 4358, 7, 19, 0, 0, 4358, 4359, 7, 13, 0, 0, 4359, 4360, - 7, 21, 0, 0, 4360, 796, 1, 0, 0, 0, 4361, 4362, 7, 29, 0, 0, 4362, 4363, - 7, 13, 0, 0, 4363, 4364, 7, 5, 0, 0, 4364, 4365, 7, 24, 0, 0, 4365, 4366, - 7, 24, 0, 0, 4366, 4367, 7, 10, 0, 0, 4367, 4368, 7, 13, 0, 0, 4368, 798, - 1, 0, 0, 0, 4369, 4370, 7, 29, 0, 0, 4370, 4371, 7, 13, 0, 0, 4371, 4372, - 7, 17, 0, 0, 4372, 4373, 7, 16, 0, 0, 4373, 4374, 7, 10, 0, 0, 4374, 800, - 1, 0, 0, 0, 4375, 4376, 7, 26, 0, 0, 4376, 4377, 7, 15, 0, 0, 4377, 4378, - 7, 6, 0, 0, 4378, 802, 1, 0, 0, 0, 4379, 4380, 7, 8, 0, 0, 4380, 4381, - 7, 10, 0, 0, 4381, 4382, 7, 5, 0, 0, 4382, 4383, 7, 13, 0, 0, 4383, 804, - 1, 0, 0, 0, 4384, 4385, 7, 8, 0, 0, 4385, 4386, 7, 10, 0, 0, 4386, 4387, - 7, 9, 0, 0, 4387, 806, 1, 0, 0, 0, 4388, 4389, 7, 11, 0, 0, 4389, 4390, - 7, 19, 0, 0, 4390, 4391, 7, 7, 0, 0, 4391, 4392, 7, 10, 0, 0, 4392, 808, - 1, 0, 0, 0, 4393, 4394, 7, 5, 0, 0, 4394, 4395, 7, 16, 0, 0, 4395, 4396, - 7, 19, 0, 0, 4396, 4397, 7, 15, 0, 0, 4397, 4398, 7, 17, 0, 0, 4398, 4399, - 7, 14, 0, 0, 4399, 810, 1, 0, 0, 0, 4400, 4401, 7, 18, 0, 0, 4401, 4402, - 7, 10, 0, 0, 4402, 4403, 7, 16, 0, 0, 4403, 4404, 7, 29, 0, 0, 4404, 4405, - 7, 10, 0, 0, 4405, 4406, 7, 10, 0, 0, 4406, 4407, 7, 7, 0, 0, 4407, 812, - 1, 0, 0, 0, 4408, 4409, 7, 18, 0, 0, 4409, 4410, 7, 17, 0, 0, 4410, 4411, - 7, 23, 0, 0, 4411, 4412, 7, 17, 0, 0, 4412, 4413, 7, 7, 0, 0, 4413, 4414, - 7, 16, 0, 0, 4414, 814, 1, 0, 0, 0, 4415, 4416, 7, 18, 0, 0, 4416, 4417, - 7, 17, 0, 0, 4417, 4418, 7, 16, 0, 0, 4418, 816, 1, 0, 0, 0, 4419, 4420, - 7, 18, 0, 0, 4420, 4421, 7, 19, 0, 0, 4421, 4422, 7, 19, 0, 0, 4422, 4423, - 7, 6, 0, 0, 4423, 4424, 7, 10, 0, 0, 4424, 4425, 7, 5, 0, 0, 4425, 4426, - 7, 7, 0, 0, 4426, 818, 1, 0, 0, 0, 4427, 4428, 7, 14, 0, 0, 4428, 4429, - 7, 20, 0, 0, 4429, 4430, 7, 5, 0, 0, 4430, 4431, 7, 13, 0, 0, 4431, 820, - 1, 0, 0, 0, 4432, 4433, 7, 14, 0, 0, 4433, 4434, 7, 20, 0, 0, 4434, 4435, - 7, 5, 0, 0, 4435, 4436, 7, 13, 0, 0, 4436, 4437, 7, 5, 0, 0, 4437, 4438, - 7, 14, 0, 0, 4438, 4439, 7, 16, 0, 0, 4439, 4440, 7, 10, 0, 0, 4440, 4441, - 7, 13, 0, 0, 4441, 822, 1, 0, 0, 0, 4442, 4443, 7, 14, 0, 0, 4443, 4444, - 7, 19, 0, 0, 4444, 4445, 7, 5, 0, 0, 4445, 4446, 7, 6, 0, 0, 4446, 4447, - 7, 10, 0, 0, 4447, 4448, 7, 9, 0, 0, 4448, 4449, 7, 14, 0, 0, 4449, 4450, - 7, 10, 0, 0, 4450, 824, 1, 0, 0, 0, 4451, 4452, 7, 12, 0, 0, 4452, 4453, - 7, 10, 0, 0, 4453, 4454, 7, 14, 0, 0, 4454, 826, 1, 0, 0, 0, 4455, 4456, - 7, 12, 0, 0, 4456, 4457, 7, 10, 0, 0, 4457, 4458, 7, 14, 0, 0, 4458, 4459, - 7, 17, 0, 0, 4459, 4460, 7, 15, 0, 0, 4460, 4461, 7, 5, 0, 0, 4461, 4462, - 7, 6, 0, 0, 4462, 828, 1, 0, 0, 0, 4463, 4464, 7, 10, 0, 0, 4464, 4465, - 7, 26, 0, 0, 4465, 4466, 7, 17, 0, 0, 4466, 4467, 7, 9, 0, 0, 4467, 4468, - 7, 16, 0, 0, 4468, 4469, 7, 9, 0, 0, 4469, 830, 1, 0, 0, 0, 4470, 4471, - 7, 10, 0, 0, 4471, 4472, 7, 26, 0, 0, 4472, 4473, 7, 16, 0, 0, 4473, 4474, - 7, 13, 0, 0, 4474, 4475, 7, 5, 0, 0, 4475, 4476, 7, 14, 0, 0, 4476, 4477, - 7, 16, 0, 0, 4477, 832, 1, 0, 0, 0, 4478, 4479, 7, 25, 0, 0, 4479, 4480, - 7, 6, 0, 0, 4480, 4481, 7, 19, 0, 0, 4481, 4482, 7, 5, 0, 0, 4482, 4483, - 7, 16, 0, 0, 4483, 834, 1, 0, 0, 0, 4484, 4485, 7, 23, 0, 0, 4485, 4486, - 7, 13, 0, 0, 4486, 4487, 7, 10, 0, 0, 4487, 4488, 7, 5, 0, 0, 4488, 4489, - 7, 16, 0, 0, 4489, 4490, 7, 10, 0, 0, 4490, 4491, 7, 9, 0, 0, 4491, 4492, - 7, 16, 0, 0, 4492, 836, 1, 0, 0, 0, 4493, 4494, 7, 17, 0, 0, 4494, 4495, - 7, 7, 0, 0, 4495, 4496, 7, 19, 0, 0, 4496, 4497, 7, 22, 0, 0, 4497, 4498, - 7, 16, 0, 0, 4498, 838, 1, 0, 0, 0, 4499, 4500, 7, 17, 0, 0, 4500, 4501, - 7, 7, 0, 0, 4501, 4502, 7, 16, 0, 0, 4502, 840, 1, 0, 0, 0, 4503, 4504, - 7, 17, 0, 0, 4504, 4505, 7, 7, 0, 0, 4505, 4506, 7, 16, 0, 0, 4506, 4507, - 7, 10, 0, 0, 4507, 4508, 7, 23, 0, 0, 4508, 4509, 7, 10, 0, 0, 4509, 4510, - 7, 13, 0, 0, 4510, 842, 1, 0, 0, 0, 4511, 4512, 7, 17, 0, 0, 4512, 4513, - 7, 7, 0, 0, 4513, 4514, 7, 16, 0, 0, 4514, 4515, 7, 10, 0, 0, 4515, 4516, - 7, 13, 0, 0, 4516, 4517, 7, 27, 0, 0, 4517, 4518, 7, 5, 0, 0, 4518, 4519, - 7, 6, 0, 0, 4519, 844, 1, 0, 0, 0, 4520, 4521, 7, 6, 0, 0, 4521, 4522, - 7, 10, 0, 0, 4522, 4523, 7, 5, 0, 0, 4523, 4524, 7, 9, 0, 0, 4524, 4525, - 7, 16, 0, 0, 4525, 846, 1, 0, 0, 0, 4526, 4527, 7, 7, 0, 0, 4527, 4528, - 7, 5, 0, 0, 4528, 4529, 7, 16, 0, 0, 4529, 4530, 7, 17, 0, 0, 4530, 4531, - 7, 19, 0, 0, 4531, 4532, 7, 7, 0, 0, 4532, 4533, 7, 5, 0, 0, 4533, 4534, - 7, 6, 0, 0, 4534, 848, 1, 0, 0, 0, 4535, 4536, 7, 7, 0, 0, 4536, 4537, - 7, 14, 0, 0, 4537, 4538, 7, 20, 0, 0, 4538, 4539, 7, 5, 0, 0, 4539, 4540, - 7, 13, 0, 0, 4540, 850, 1, 0, 0, 0, 4541, 4542, 7, 7, 0, 0, 4542, 4543, - 7, 19, 0, 0, 4543, 4544, 7, 7, 0, 0, 4544, 4545, 7, 10, 0, 0, 4545, 852, - 1, 0, 0, 0, 4546, 4547, 7, 7, 0, 0, 4547, 4548, 7, 22, 0, 0, 4548, 4549, - 7, 6, 0, 0, 4549, 4550, 7, 6, 0, 0, 4550, 4551, 7, 17, 0, 0, 4551, 4552, - 7, 25, 0, 0, 4552, 854, 1, 0, 0, 0, 4553, 4554, 7, 7, 0, 0, 4554, 4555, - 7, 22, 0, 0, 4555, 4556, 7, 15, 0, 0, 4556, 4557, 7, 10, 0, 0, 4557, 4558, - 7, 13, 0, 0, 4558, 4559, 7, 17, 0, 0, 4559, 4560, 7, 14, 0, 0, 4560, 856, - 1, 0, 0, 0, 4561, 4562, 7, 19, 0, 0, 4562, 4563, 7, 27, 0, 0, 4563, 4564, - 7, 10, 0, 0, 4564, 4565, 7, 13, 0, 0, 4565, 4566, 7, 6, 0, 0, 4566, 4567, - 7, 5, 0, 0, 4567, 4568, 7, 8, 0, 0, 4568, 858, 1, 0, 0, 0, 4569, 4570, - 7, 24, 0, 0, 4570, 4571, 7, 5, 0, 0, 4571, 4572, 7, 13, 0, 0, 4572, 4573, - 7, 5, 0, 0, 4573, 4574, 7, 15, 0, 0, 4574, 4575, 7, 10, 0, 0, 4575, 4576, - 7, 16, 0, 0, 4576, 4577, 7, 10, 0, 0, 4577, 4578, 7, 13, 0, 0, 4578, 860, - 1, 0, 0, 0, 4579, 4580, 7, 24, 0, 0, 4580, 4581, 7, 19, 0, 0, 4581, 4582, - 7, 9, 0, 0, 4582, 4583, 7, 17, 0, 0, 4583, 4584, 7, 16, 0, 0, 4584, 4585, - 7, 17, 0, 0, 4585, 4586, 7, 19, 0, 0, 4586, 4587, 7, 7, 0, 0, 4587, 862, - 1, 0, 0, 0, 4588, 4589, 7, 24, 0, 0, 4589, 4590, 7, 13, 0, 0, 4590, 4591, - 7, 10, 0, 0, 4591, 4592, 7, 14, 0, 0, 4592, 4593, 7, 17, 0, 0, 4593, 4594, - 7, 9, 0, 0, 4594, 4595, 7, 17, 0, 0, 4595, 4596, 7, 19, 0, 0, 4596, 4597, - 7, 7, 0, 0, 4597, 864, 1, 0, 0, 0, 4598, 4599, 7, 13, 0, 0, 4599, 4600, - 7, 10, 0, 0, 4600, 4601, 7, 5, 0, 0, 4601, 4602, 7, 6, 0, 0, 4602, 866, - 1, 0, 0, 0, 4603, 4604, 7, 13, 0, 0, 4604, 4605, 7, 19, 0, 0, 4605, 4606, - 7, 29, 0, 0, 4606, 868, 1, 0, 0, 0, 4607, 4608, 7, 9, 0, 0, 4608, 4609, - 7, 10, 0, 0, 4609, 4610, 7, 16, 0, 0, 4610, 4611, 7, 19, 0, 0, 4611, 4612, - 7, 25, 0, 0, 4612, 870, 1, 0, 0, 0, 4613, 4614, 7, 9, 0, 0, 4614, 4615, - 7, 15, 0, 0, 4615, 4616, 7, 5, 0, 0, 4616, 4617, 7, 6, 0, 0, 4617, 4618, - 7, 6, 0, 0, 4618, 4619, 7, 17, 0, 0, 4619, 4620, 7, 7, 0, 0, 4620, 4621, - 7, 16, 0, 0, 4621, 872, 1, 0, 0, 0, 4622, 4623, 7, 9, 0, 0, 4623, 4624, - 7, 22, 0, 0, 4624, 4625, 7, 18, 0, 0, 4625, 4626, 7, 9, 0, 0, 4626, 4627, - 7, 16, 0, 0, 4627, 4628, 7, 13, 0, 0, 4628, 4629, 7, 17, 0, 0, 4629, 4630, - 7, 7, 0, 0, 4630, 4631, 7, 23, 0, 0, 4631, 874, 1, 0, 0, 0, 4632, 4633, - 7, 16, 0, 0, 4633, 4634, 7, 17, 0, 0, 4634, 4635, 7, 15, 0, 0, 4635, 4636, - 7, 10, 0, 0, 4636, 876, 1, 0, 0, 0, 4637, 4638, 7, 16, 0, 0, 4638, 4639, - 7, 17, 0, 0, 4639, 4640, 7, 15, 0, 0, 4640, 4641, 7, 10, 0, 0, 4641, 4642, - 7, 9, 0, 0, 4642, 4643, 7, 16, 0, 0, 4643, 4644, 7, 5, 0, 0, 4644, 4645, - 7, 15, 0, 0, 4645, 4646, 7, 24, 0, 0, 4646, 878, 1, 0, 0, 0, 4647, 4648, - 7, 16, 0, 0, 4648, 4649, 7, 13, 0, 0, 4649, 4650, 7, 10, 0, 0, 4650, 4651, - 7, 5, 0, 0, 4651, 4652, 7, 16, 0, 0, 4652, 880, 1, 0, 0, 0, 4653, 4654, - 7, 16, 0, 0, 4654, 4655, 7, 13, 0, 0, 4655, 4656, 7, 17, 0, 0, 4656, 4657, - 7, 15, 0, 0, 4657, 882, 1, 0, 0, 0, 4658, 4659, 7, 27, 0, 0, 4659, 4660, - 7, 5, 0, 0, 4660, 4661, 7, 6, 0, 0, 4661, 4662, 7, 22, 0, 0, 4662, 4663, - 7, 10, 0, 0, 4663, 4664, 7, 9, 0, 0, 4664, 884, 1, 0, 0, 0, 4665, 4666, - 7, 27, 0, 0, 4666, 4667, 7, 5, 0, 0, 4667, 4668, 7, 13, 0, 0, 4668, 4669, - 7, 14, 0, 0, 4669, 4670, 7, 20, 0, 0, 4670, 4671, 7, 5, 0, 0, 4671, 4672, - 7, 13, 0, 0, 4672, 886, 1, 0, 0, 0, 4673, 4674, 7, 26, 0, 0, 4674, 4675, - 7, 15, 0, 0, 4675, 4676, 7, 6, 0, 0, 4676, 4677, 7, 5, 0, 0, 4677, 4678, - 7, 16, 0, 0, 4678, 4679, 7, 16, 0, 0, 4679, 4680, 7, 13, 0, 0, 4680, 4681, - 7, 17, 0, 0, 4681, 4682, 7, 18, 0, 0, 4682, 4683, 7, 22, 0, 0, 4683, 4684, - 7, 16, 0, 0, 4684, 4685, 7, 10, 0, 0, 4685, 4686, 7, 9, 0, 0, 4686, 888, - 1, 0, 0, 0, 4687, 4688, 7, 26, 0, 0, 4688, 4689, 7, 15, 0, 0, 4689, 4690, - 7, 6, 0, 0, 4690, 4691, 7, 14, 0, 0, 4691, 4692, 7, 19, 0, 0, 4692, 4693, - 7, 15, 0, 0, 4693, 4694, 7, 15, 0, 0, 4694, 4695, 7, 10, 0, 0, 4695, 4696, - 7, 7, 0, 0, 4696, 4697, 7, 16, 0, 0, 4697, 890, 1, 0, 0, 0, 4698, 4699, - 7, 26, 0, 0, 4699, 4700, 7, 15, 0, 0, 4700, 4701, 7, 6, 0, 0, 4701, 4702, - 7, 5, 0, 0, 4702, 4703, 7, 23, 0, 0, 4703, 4704, 7, 23, 0, 0, 4704, 892, - 1, 0, 0, 0, 4705, 4706, 7, 26, 0, 0, 4706, 4707, 7, 15, 0, 0, 4707, 4708, - 7, 6, 0, 0, 4708, 4709, 5, 95, 0, 0, 4709, 4710, 7, 17, 0, 0, 4710, 4711, - 7, 9, 0, 0, 4711, 4712, 5, 95, 0, 0, 4712, 4713, 7, 29, 0, 0, 4713, 4714, - 7, 10, 0, 0, 4714, 4715, 7, 6, 0, 0, 4715, 4716, 7, 6, 0, 0, 4716, 4717, - 5, 95, 0, 0, 4717, 4718, 7, 25, 0, 0, 4718, 4719, 7, 19, 0, 0, 4719, 4720, - 7, 13, 0, 0, 4720, 4721, 7, 15, 0, 0, 4721, 4722, 7, 10, 0, 0, 4722, 4723, - 7, 12, 0, 0, 4723, 894, 1, 0, 0, 0, 4724, 4725, 7, 26, 0, 0, 4725, 4726, - 7, 15, 0, 0, 4726, 4727, 7, 6, 0, 0, 4727, 4728, 5, 95, 0, 0, 4728, 4729, - 7, 17, 0, 0, 4729, 4730, 7, 9, 0, 0, 4730, 4731, 5, 95, 0, 0, 4731, 4732, - 7, 29, 0, 0, 4732, 4733, 7, 10, 0, 0, 4733, 4734, 7, 6, 0, 0, 4734, 4735, - 7, 6, 0, 0, 4735, 4736, 5, 95, 0, 0, 4736, 4737, 7, 25, 0, 0, 4737, 4738, - 7, 19, 0, 0, 4738, 4739, 7, 13, 0, 0, 4739, 4740, 7, 15, 0, 0, 4740, 4741, - 7, 10, 0, 0, 4741, 4742, 7, 12, 0, 0, 4742, 4743, 5, 95, 0, 0, 4743, 4744, - 7, 12, 0, 0, 4744, 4745, 7, 19, 0, 0, 4745, 4746, 7, 14, 0, 0, 4746, 4747, - 7, 22, 0, 0, 4747, 4748, 7, 15, 0, 0, 4748, 4749, 7, 10, 0, 0, 4749, 4750, - 7, 7, 0, 0, 4750, 4751, 7, 16, 0, 0, 4751, 896, 1, 0, 0, 0, 4752, 4753, - 7, 26, 0, 0, 4753, 4754, 7, 15, 0, 0, 4754, 4755, 7, 6, 0, 0, 4755, 4756, - 5, 95, 0, 0, 4756, 4757, 7, 17, 0, 0, 4757, 4758, 7, 9, 0, 0, 4758, 4759, - 5, 95, 0, 0, 4759, 4760, 7, 29, 0, 0, 4760, 4761, 7, 10, 0, 0, 4761, 4762, - 7, 6, 0, 0, 4762, 4763, 7, 6, 0, 0, 4763, 4764, 5, 95, 0, 0, 4764, 4765, - 7, 25, 0, 0, 4765, 4766, 7, 19, 0, 0, 4766, 4767, 7, 13, 0, 0, 4767, 4768, - 7, 15, 0, 0, 4768, 4769, 7, 10, 0, 0, 4769, 4770, 7, 12, 0, 0, 4770, 4771, - 5, 95, 0, 0, 4771, 4772, 7, 14, 0, 0, 4772, 4773, 7, 19, 0, 0, 4773, 4774, - 7, 7, 0, 0, 4774, 4775, 7, 16, 0, 0, 4775, 4776, 7, 10, 0, 0, 4776, 4777, - 7, 7, 0, 0, 4777, 4778, 7, 16, 0, 0, 4778, 898, 1, 0, 0, 0, 4779, 4780, - 7, 26, 0, 0, 4780, 4781, 7, 24, 0, 0, 4781, 4782, 7, 5, 0, 0, 4782, 4783, - 7, 16, 0, 0, 4783, 4784, 7, 20, 0, 0, 4784, 900, 1, 0, 0, 0, 4785, 4786, - 7, 26, 0, 0, 4786, 4787, 7, 24, 0, 0, 4787, 4788, 7, 5, 0, 0, 4788, 4789, - 7, 16, 0, 0, 4789, 4790, 7, 20, 0, 0, 4790, 4791, 5, 95, 0, 0, 4791, 4792, - 7, 10, 0, 0, 4792, 4793, 7, 26, 0, 0, 4793, 4794, 7, 17, 0, 0, 4794, 4795, - 7, 9, 0, 0, 4795, 4796, 7, 16, 0, 0, 4796, 4797, 7, 9, 0, 0, 4797, 902, - 1, 0, 0, 0, 4798, 4799, 7, 26, 0, 0, 4799, 4800, 7, 15, 0, 0, 4800, 4801, - 7, 6, 0, 0, 4801, 4802, 7, 14, 0, 0, 4802, 4803, 7, 19, 0, 0, 4803, 4804, - 7, 7, 0, 0, 4804, 4805, 7, 14, 0, 0, 4805, 4806, 7, 5, 0, 0, 4806, 4807, - 7, 16, 0, 0, 4807, 904, 1, 0, 0, 0, 4808, 4809, 7, 26, 0, 0, 4809, 4810, - 7, 15, 0, 0, 4810, 4811, 7, 6, 0, 0, 4811, 4812, 7, 10, 0, 0, 4812, 4813, - 7, 6, 0, 0, 4813, 4814, 7, 10, 0, 0, 4814, 4815, 7, 15, 0, 0, 4815, 4816, - 7, 10, 0, 0, 4816, 4817, 7, 7, 0, 0, 4817, 4818, 7, 16, 0, 0, 4818, 906, - 1, 0, 0, 0, 4819, 4820, 7, 26, 0, 0, 4820, 4821, 7, 15, 0, 0, 4821, 4822, - 7, 6, 0, 0, 4822, 4823, 7, 10, 0, 0, 4823, 4824, 7, 26, 0, 0, 4824, 4825, - 7, 17, 0, 0, 4825, 4826, 7, 9, 0, 0, 4826, 4827, 7, 16, 0, 0, 4827, 4828, - 7, 9, 0, 0, 4828, 908, 1, 0, 0, 0, 4829, 4830, 7, 26, 0, 0, 4830, 4831, - 7, 15, 0, 0, 4831, 4832, 7, 6, 0, 0, 4832, 4833, 7, 25, 0, 0, 4833, 4834, - 7, 19, 0, 0, 4834, 4835, 7, 13, 0, 0, 4835, 4836, 7, 10, 0, 0, 4836, 4837, - 7, 9, 0, 0, 4837, 4838, 7, 16, 0, 0, 4838, 910, 1, 0, 0, 0, 4839, 4840, - 7, 26, 0, 0, 4840, 4841, 7, 15, 0, 0, 4841, 4842, 7, 6, 0, 0, 4842, 4843, - 7, 24, 0, 0, 4843, 4844, 7, 5, 0, 0, 4844, 4845, 7, 13, 0, 0, 4845, 4846, - 7, 9, 0, 0, 4846, 4847, 7, 10, 0, 0, 4847, 912, 1, 0, 0, 0, 4848, 4849, - 7, 26, 0, 0, 4849, 4850, 7, 15, 0, 0, 4850, 4851, 7, 6, 0, 0, 4851, 4852, - 7, 24, 0, 0, 4852, 4853, 7, 17, 0, 0, 4853, 914, 1, 0, 0, 0, 4854, 4855, - 7, 26, 0, 0, 4855, 4856, 7, 15, 0, 0, 4856, 4857, 7, 6, 0, 0, 4857, 4858, - 7, 13, 0, 0, 4858, 4859, 7, 19, 0, 0, 4859, 4860, 7, 19, 0, 0, 4860, 4861, - 7, 16, 0, 0, 4861, 916, 1, 0, 0, 0, 4862, 4863, 7, 26, 0, 0, 4863, 4864, - 7, 15, 0, 0, 4864, 4865, 7, 6, 0, 0, 4865, 4866, 7, 9, 0, 0, 4866, 4867, - 7, 10, 0, 0, 4867, 4868, 7, 13, 0, 0, 4868, 4869, 7, 17, 0, 0, 4869, 4870, - 7, 5, 0, 0, 4870, 4871, 7, 6, 0, 0, 4871, 4872, 7, 17, 0, 0, 4872, 4873, - 7, 11, 0, 0, 4873, 4874, 7, 10, 0, 0, 4874, 918, 1, 0, 0, 0, 4875, 4876, - 7, 14, 0, 0, 4876, 4877, 7, 5, 0, 0, 4877, 4878, 7, 6, 0, 0, 4878, 4879, - 7, 6, 0, 0, 4879, 920, 1, 0, 0, 0, 4880, 4881, 7, 14, 0, 0, 4881, 4882, - 7, 22, 0, 0, 4882, 4883, 7, 13, 0, 0, 4883, 4884, 7, 13, 0, 0, 4884, 4885, - 7, 10, 0, 0, 4885, 4886, 7, 7, 0, 0, 4886, 4887, 7, 16, 0, 0, 4887, 922, - 1, 0, 0, 0, 4888, 4889, 7, 5, 0, 0, 4889, 4890, 7, 16, 0, 0, 4890, 4891, - 7, 16, 0, 0, 4891, 4892, 7, 5, 0, 0, 4892, 4893, 7, 14, 0, 0, 4893, 4894, - 7, 20, 0, 0, 4894, 924, 1, 0, 0, 0, 4895, 4896, 7, 12, 0, 0, 4896, 4897, - 7, 10, 0, 0, 4897, 4898, 7, 16, 0, 0, 4898, 4899, 7, 5, 0, 0, 4899, 4900, - 7, 14, 0, 0, 4900, 4901, 7, 20, 0, 0, 4901, 926, 1, 0, 0, 0, 4902, 4903, - 7, 10, 0, 0, 4903, 4904, 7, 26, 0, 0, 4904, 4905, 7, 24, 0, 0, 4905, 4906, - 7, 13, 0, 0, 4906, 4907, 7, 10, 0, 0, 4907, 4908, 7, 9, 0, 0, 4908, 4909, - 7, 9, 0, 0, 4909, 4910, 7, 17, 0, 0, 4910, 4911, 7, 19, 0, 0, 4911, 4912, - 7, 7, 0, 0, 4912, 928, 1, 0, 0, 0, 4913, 4914, 7, 23, 0, 0, 4914, 4915, - 7, 10, 0, 0, 4915, 4916, 7, 7, 0, 0, 4916, 4917, 7, 10, 0, 0, 4917, 4918, - 7, 13, 0, 0, 4918, 4919, 7, 5, 0, 0, 4919, 4920, 7, 16, 0, 0, 4920, 4921, - 7, 10, 0, 0, 4921, 4922, 7, 12, 0, 0, 4922, 930, 1, 0, 0, 0, 4923, 4924, - 7, 6, 0, 0, 4924, 4925, 7, 19, 0, 0, 4925, 4926, 7, 23, 0, 0, 4926, 4927, - 7, 23, 0, 0, 4927, 4928, 7, 10, 0, 0, 4928, 4929, 7, 12, 0, 0, 4929, 932, - 1, 0, 0, 0, 4930, 4931, 7, 9, 0, 0, 4931, 4932, 7, 16, 0, 0, 4932, 4933, - 7, 19, 0, 0, 4933, 4934, 7, 13, 0, 0, 4934, 4935, 7, 10, 0, 0, 4935, 4936, - 7, 12, 0, 0, 4936, 934, 1, 0, 0, 0, 4937, 4938, 7, 17, 0, 0, 4938, 4939, - 7, 7, 0, 0, 4939, 4940, 7, 14, 0, 0, 4940, 4941, 7, 6, 0, 0, 4941, 4942, - 7, 22, 0, 0, 4942, 4943, 7, 12, 0, 0, 4943, 4944, 7, 10, 0, 0, 4944, 936, - 1, 0, 0, 0, 4945, 4946, 7, 13, 0, 0, 4946, 4947, 7, 19, 0, 0, 4947, 4948, - 7, 22, 0, 0, 4948, 4949, 7, 16, 0, 0, 4949, 4950, 7, 17, 0, 0, 4950, 4951, - 7, 7, 0, 0, 4951, 4952, 7, 10, 0, 0, 4952, 938, 1, 0, 0, 0, 4953, 4954, - 7, 16, 0, 0, 4954, 4955, 7, 13, 0, 0, 4955, 4956, 7, 5, 0, 0, 4956, 4957, - 7, 7, 0, 0, 4957, 4958, 7, 9, 0, 0, 4958, 4959, 7, 25, 0, 0, 4959, 4960, - 7, 19, 0, 0, 4960, 4961, 7, 13, 0, 0, 4961, 4962, 7, 15, 0, 0, 4962, 940, - 1, 0, 0, 0, 4963, 4964, 7, 17, 0, 0, 4964, 4965, 7, 15, 0, 0, 4965, 4966, - 7, 24, 0, 0, 4966, 4967, 7, 19, 0, 0, 4967, 4968, 7, 13, 0, 0, 4968, 4969, - 7, 16, 0, 0, 4969, 942, 1, 0, 0, 0, 4970, 4971, 7, 24, 0, 0, 4971, 4972, - 7, 19, 0, 0, 4972, 4973, 7, 6, 0, 0, 4973, 4974, 7, 17, 0, 0, 4974, 4975, - 7, 14, 0, 0, 4975, 4976, 7, 8, 0, 0, 4976, 944, 1, 0, 0, 0, 4977, 4978, - 7, 15, 0, 0, 4978, 4979, 7, 10, 0, 0, 4979, 4980, 7, 16, 0, 0, 4980, 4981, - 7, 20, 0, 0, 4981, 4982, 7, 19, 0, 0, 4982, 4983, 7, 12, 0, 0, 4983, 946, - 1, 0, 0, 0, 4984, 4985, 7, 13, 0, 0, 4985, 4986, 7, 10, 0, 0, 4986, 4987, - 7, 25, 0, 0, 4987, 4988, 7, 10, 0, 0, 4988, 4989, 7, 13, 0, 0, 4989, 4990, - 7, 10, 0, 0, 4990, 4991, 7, 7, 0, 0, 4991, 4992, 7, 14, 0, 0, 4992, 4993, - 7, 17, 0, 0, 4993, 4994, 7, 7, 0, 0, 4994, 4995, 7, 23, 0, 0, 4995, 948, - 1, 0, 0, 0, 4996, 4997, 7, 7, 0, 0, 4997, 4998, 7, 10, 0, 0, 4998, 4999, - 7, 29, 0, 0, 4999, 950, 1, 0, 0, 0, 5000, 5001, 7, 19, 0, 0, 5001, 5002, - 7, 6, 0, 0, 5002, 5003, 7, 12, 0, 0, 5003, 952, 1, 0, 0, 0, 5004, 5005, - 7, 27, 0, 0, 5005, 5006, 7, 5, 0, 0, 5006, 5007, 7, 6, 0, 0, 5007, 5008, - 7, 22, 0, 0, 5008, 5009, 7, 10, 0, 0, 5009, 954, 1, 0, 0, 0, 5010, 5011, - 7, 9, 0, 0, 5011, 5012, 7, 22, 0, 0, 5012, 5013, 7, 18, 0, 0, 5013, 5014, - 7, 9, 0, 0, 5014, 5015, 7, 14, 0, 0, 5015, 5016, 7, 13, 0, 0, 5016, 5017, - 7, 17, 0, 0, 5017, 5018, 7, 24, 0, 0, 5018, 5019, 7, 16, 0, 0, 5019, 5020, - 7, 17, 0, 0, 5020, 5021, 7, 19, 0, 0, 5021, 5022, 7, 7, 0, 0, 5022, 956, - 1, 0, 0, 0, 5023, 5024, 7, 24, 0, 0, 5024, 5025, 7, 22, 0, 0, 5025, 5026, - 7, 18, 0, 0, 5026, 5027, 7, 6, 0, 0, 5027, 5028, 7, 17, 0, 0, 5028, 5029, - 7, 14, 0, 0, 5029, 5030, 7, 5, 0, 0, 5030, 5031, 7, 16, 0, 0, 5031, 5032, - 7, 17, 0, 0, 5032, 5033, 7, 19, 0, 0, 5033, 5034, 7, 7, 0, 0, 5034, 958, - 1, 0, 0, 0, 5035, 5036, 7, 19, 0, 0, 5036, 5037, 7, 22, 0, 0, 5037, 5038, - 7, 16, 0, 0, 5038, 960, 1, 0, 0, 0, 5039, 5040, 7, 10, 0, 0, 5040, 5041, - 7, 7, 0, 0, 5041, 5042, 7, 12, 0, 0, 5042, 962, 1, 0, 0, 0, 5043, 5044, - 7, 13, 0, 0, 5044, 5045, 7, 19, 0, 0, 5045, 5046, 7, 22, 0, 0, 5046, 5047, - 7, 16, 0, 0, 5047, 5048, 7, 17, 0, 0, 5048, 5049, 7, 7, 0, 0, 5049, 5050, - 7, 10, 0, 0, 5050, 5051, 7, 9, 0, 0, 5051, 964, 1, 0, 0, 0, 5052, 5053, - 7, 9, 0, 0, 5053, 5054, 7, 14, 0, 0, 5054, 5055, 7, 20, 0, 0, 5055, 5056, - 7, 10, 0, 0, 5056, 5057, 7, 15, 0, 0, 5057, 5058, 7, 5, 0, 0, 5058, 5059, - 7, 9, 0, 0, 5059, 966, 1, 0, 0, 0, 5060, 5061, 7, 24, 0, 0, 5061, 5062, - 7, 13, 0, 0, 5062, 5063, 7, 19, 0, 0, 5063, 5064, 7, 14, 0, 0, 5064, 5065, - 7, 10, 0, 0, 5065, 5066, 7, 12, 0, 0, 5066, 5067, 7, 22, 0, 0, 5067, 5068, - 7, 13, 0, 0, 5068, 5069, 7, 10, 0, 0, 5069, 5070, 7, 9, 0, 0, 5070, 968, - 1, 0, 0, 0, 5071, 5072, 7, 17, 0, 0, 5072, 5073, 7, 7, 0, 0, 5073, 5074, - 7, 24, 0, 0, 5074, 5075, 7, 22, 0, 0, 5075, 5076, 7, 16, 0, 0, 5076, 970, - 1, 0, 0, 0, 5077, 5078, 7, 9, 0, 0, 5078, 5079, 7, 22, 0, 0, 5079, 5080, - 7, 24, 0, 0, 5080, 5081, 7, 24, 0, 0, 5081, 5082, 7, 19, 0, 0, 5082, 5083, - 7, 13, 0, 0, 5083, 5084, 7, 16, 0, 0, 5084, 972, 1, 0, 0, 0, 5085, 5086, - 7, 24, 0, 0, 5086, 5087, 7, 5, 0, 0, 5087, 5088, 7, 13, 0, 0, 5088, 5089, - 7, 5, 0, 0, 5089, 5090, 7, 6, 0, 0, 5090, 5091, 7, 6, 0, 0, 5091, 5092, - 7, 10, 0, 0, 5092, 5093, 7, 6, 0, 0, 5093, 974, 1, 0, 0, 0, 5094, 5095, - 7, 9, 0, 0, 5095, 5096, 7, 28, 0, 0, 5096, 5097, 7, 6, 0, 0, 5097, 976, - 1, 0, 0, 0, 5098, 5099, 7, 12, 0, 0, 5099, 5100, 7, 10, 0, 0, 5100, 5101, - 7, 24, 0, 0, 5101, 5102, 7, 10, 0, 0, 5102, 5103, 7, 7, 0, 0, 5103, 5104, - 7, 12, 0, 0, 5104, 5105, 7, 9, 0, 0, 5105, 978, 1, 0, 0, 0, 5106, 5107, - 7, 19, 0, 0, 5107, 5108, 7, 27, 0, 0, 5108, 5109, 7, 10, 0, 0, 5109, 5110, - 7, 13, 0, 0, 5110, 5111, 7, 13, 0, 0, 5111, 5112, 7, 17, 0, 0, 5112, 5113, - 7, 12, 0, 0, 5113, 5114, 7, 17, 0, 0, 5114, 5115, 7, 7, 0, 0, 5115, 5116, - 7, 23, 0, 0, 5116, 980, 1, 0, 0, 0, 5117, 5118, 7, 14, 0, 0, 5118, 5119, - 7, 19, 0, 0, 5119, 5120, 7, 7, 0, 0, 5120, 5121, 7, 25, 0, 0, 5121, 5122, - 7, 6, 0, 0, 5122, 5123, 7, 17, 0, 0, 5123, 5124, 7, 14, 0, 0, 5124, 5125, - 7, 16, 0, 0, 5125, 982, 1, 0, 0, 0, 5126, 5127, 7, 9, 0, 0, 5127, 5128, - 7, 21, 0, 0, 5128, 5129, 7, 17, 0, 0, 5129, 5130, 7, 24, 0, 0, 5130, 984, - 1, 0, 0, 0, 5131, 5132, 7, 6, 0, 0, 5132, 5133, 7, 19, 0, 0, 5133, 5134, - 7, 14, 0, 0, 5134, 5135, 7, 21, 0, 0, 5135, 5136, 7, 10, 0, 0, 5136, 5137, - 7, 12, 0, 0, 5137, 986, 1, 0, 0, 0, 5138, 5139, 7, 16, 0, 0, 5139, 5140, - 7, 17, 0, 0, 5140, 5141, 7, 10, 0, 0, 5141, 5142, 7, 9, 0, 0, 5142, 988, - 1, 0, 0, 0, 5143, 5144, 7, 13, 0, 0, 5144, 5145, 7, 19, 0, 0, 5145, 5146, - 7, 6, 0, 0, 5146, 5147, 7, 6, 0, 0, 5147, 5148, 7, 22, 0, 0, 5148, 5149, - 7, 24, 0, 0, 5149, 990, 1, 0, 0, 0, 5150, 5151, 7, 14, 0, 0, 5151, 5152, - 7, 22, 0, 0, 5152, 5153, 7, 18, 0, 0, 5153, 5154, 7, 10, 0, 0, 5154, 992, - 1, 0, 0, 0, 5155, 5156, 7, 23, 0, 0, 5156, 5157, 7, 13, 0, 0, 5157, 5158, - 7, 19, 0, 0, 5158, 5159, 7, 22, 0, 0, 5159, 5160, 7, 24, 0, 0, 5160, 5161, - 7, 17, 0, 0, 5161, 5162, 7, 7, 0, 0, 5162, 5163, 7, 23, 0, 0, 5163, 994, - 1, 0, 0, 0, 5164, 5165, 7, 9, 0, 0, 5165, 5166, 7, 10, 0, 0, 5166, 5167, - 7, 16, 0, 0, 5167, 5168, 7, 9, 0, 0, 5168, 996, 1, 0, 0, 0, 5169, 5170, - 7, 16, 0, 0, 5170, 5171, 7, 5, 0, 0, 5171, 5172, 7, 18, 0, 0, 5172, 5173, - 7, 6, 0, 0, 5173, 5174, 7, 10, 0, 0, 5174, 5175, 7, 9, 0, 0, 5175, 5176, - 7, 5, 0, 0, 5176, 5177, 7, 15, 0, 0, 5177, 5178, 7, 24, 0, 0, 5178, 5179, - 7, 6, 0, 0, 5179, 5180, 7, 10, 0, 0, 5180, 998, 1, 0, 0, 0, 5181, 5182, - 7, 19, 0, 0, 5182, 5183, 7, 13, 0, 0, 5183, 5184, 7, 12, 0, 0, 5184, 5185, - 7, 17, 0, 0, 5185, 5186, 7, 7, 0, 0, 5186, 5187, 7, 5, 0, 0, 5187, 5188, - 7, 6, 0, 0, 5188, 5189, 7, 17, 0, 0, 5189, 5190, 7, 16, 0, 0, 5190, 5191, - 7, 8, 0, 0, 5191, 1000, 1, 0, 0, 0, 5192, 5193, 7, 26, 0, 0, 5193, 5194, - 7, 15, 0, 0, 5194, 5195, 7, 6, 0, 0, 5195, 5196, 7, 16, 0, 0, 5196, 5197, - 7, 5, 0, 0, 5197, 5198, 7, 18, 0, 0, 5198, 5199, 7, 6, 0, 0, 5199, 5200, - 7, 10, 0, 0, 5200, 1002, 1, 0, 0, 0, 5201, 5202, 7, 14, 0, 0, 5202, 5203, - 7, 19, 0, 0, 5203, 5204, 7, 6, 0, 0, 5204, 5205, 7, 22, 0, 0, 5205, 5206, - 7, 15, 0, 0, 5206, 5207, 7, 7, 0, 0, 5207, 5208, 7, 9, 0, 0, 5208, 1004, - 1, 0, 0, 0, 5209, 5210, 7, 26, 0, 0, 5210, 5211, 7, 15, 0, 0, 5211, 5212, - 7, 6, 0, 0, 5212, 5213, 7, 7, 0, 0, 5213, 5214, 7, 5, 0, 0, 5214, 5215, - 7, 15, 0, 0, 5215, 5216, 7, 10, 0, 0, 5216, 5217, 7, 9, 0, 0, 5217, 5218, - 7, 24, 0, 0, 5218, 5219, 7, 5, 0, 0, 5219, 5220, 7, 14, 0, 0, 5220, 5221, - 7, 10, 0, 0, 5221, 5222, 7, 9, 0, 0, 5222, 1006, 1, 0, 0, 0, 5223, 5224, - 7, 13, 0, 0, 5224, 5225, 7, 19, 0, 0, 5225, 5226, 7, 29, 0, 0, 5226, 5227, - 7, 16, 0, 0, 5227, 5228, 7, 8, 0, 0, 5228, 5229, 7, 24, 0, 0, 5229, 5230, - 7, 10, 0, 0, 5230, 1008, 1, 0, 0, 0, 5231, 5232, 7, 7, 0, 0, 5232, 5233, - 7, 19, 0, 0, 5233, 5234, 7, 13, 0, 0, 5234, 5235, 7, 15, 0, 0, 5235, 5236, - 7, 5, 0, 0, 5236, 5237, 7, 6, 0, 0, 5237, 5238, 7, 17, 0, 0, 5238, 5239, - 7, 11, 0, 0, 5239, 5240, 7, 10, 0, 0, 5240, 5241, 7, 12, 0, 0, 5241, 1010, - 1, 0, 0, 0, 5242, 5243, 7, 29, 0, 0, 5243, 5244, 7, 17, 0, 0, 5244, 5245, - 7, 16, 0, 0, 5245, 5246, 7, 20, 0, 0, 5246, 5247, 7, 17, 0, 0, 5247, 5248, - 7, 7, 0, 0, 5248, 1012, 1, 0, 0, 0, 5249, 5250, 7, 25, 0, 0, 5250, 5251, - 7, 17, 0, 0, 5251, 5252, 7, 6, 0, 0, 5252, 5253, 7, 16, 0, 0, 5253, 5254, - 7, 10, 0, 0, 5254, 5255, 7, 13, 0, 0, 5255, 1014, 1, 0, 0, 0, 5256, 5257, - 7, 23, 0, 0, 5257, 5258, 7, 13, 0, 0, 5258, 5259, 7, 19, 0, 0, 5259, 5260, - 7, 22, 0, 0, 5260, 5261, 7, 24, 0, 0, 5261, 5262, 7, 9, 0, 0, 5262, 1016, - 1, 0, 0, 0, 5263, 5264, 7, 19, 0, 0, 5264, 5265, 7, 16, 0, 0, 5265, 5266, - 7, 20, 0, 0, 5266, 5267, 7, 10, 0, 0, 5267, 5268, 7, 13, 0, 0, 5268, 5269, - 7, 9, 0, 0, 5269, 1018, 1, 0, 0, 0, 5270, 5271, 7, 7, 0, 0, 5271, 5272, - 7, 25, 0, 0, 5272, 5273, 7, 14, 0, 0, 5273, 1020, 1, 0, 0, 0, 5274, 5275, - 7, 7, 0, 0, 5275, 5276, 7, 25, 0, 0, 5276, 5277, 7, 12, 0, 0, 5277, 1022, - 1, 0, 0, 0, 5278, 5279, 7, 7, 0, 0, 5279, 5280, 7, 25, 0, 0, 5280, 5281, - 7, 21, 0, 0, 5281, 5282, 7, 14, 0, 0, 5282, 1024, 1, 0, 0, 0, 5283, 5284, - 7, 7, 0, 0, 5284, 5285, 7, 25, 0, 0, 5285, 5286, 7, 21, 0, 0, 5286, 5287, - 7, 12, 0, 0, 5287, 1026, 1, 0, 0, 0, 5288, 5289, 7, 22, 0, 0, 5289, 5290, - 7, 10, 0, 0, 5290, 5291, 7, 9, 0, 0, 5291, 5292, 7, 14, 0, 0, 5292, 5293, - 7, 5, 0, 0, 5293, 5294, 7, 24, 0, 0, 5294, 5295, 7, 10, 0, 0, 5295, 1028, - 1, 0, 0, 0, 5296, 5297, 7, 27, 0, 0, 5297, 5298, 7, 17, 0, 0, 5298, 5299, - 7, 10, 0, 0, 5299, 5300, 7, 29, 0, 0, 5300, 5301, 7, 9, 0, 0, 5301, 1030, - 1, 0, 0, 0, 5302, 5303, 7, 7, 0, 0, 5303, 5304, 7, 19, 0, 0, 5304, 5305, - 7, 13, 0, 0, 5305, 5306, 7, 15, 0, 0, 5306, 5307, 7, 5, 0, 0, 5307, 5308, - 7, 6, 0, 0, 5308, 5309, 7, 17, 0, 0, 5309, 5310, 7, 11, 0, 0, 5310, 5311, - 7, 10, 0, 0, 5311, 1032, 1, 0, 0, 0, 5312, 5313, 7, 12, 0, 0, 5313, 5314, - 7, 22, 0, 0, 5314, 5315, 7, 15, 0, 0, 5315, 5316, 7, 24, 0, 0, 5316, 1034, - 1, 0, 0, 0, 5317, 5318, 7, 24, 0, 0, 5318, 5319, 7, 13, 0, 0, 5319, 5320, - 7, 17, 0, 0, 5320, 5321, 7, 7, 0, 0, 5321, 5322, 7, 16, 0, 0, 5322, 5323, - 5, 95, 0, 0, 5323, 5324, 7, 9, 0, 0, 5324, 5325, 7, 16, 0, 0, 5325, 5326, - 7, 13, 0, 0, 5326, 5327, 7, 17, 0, 0, 5327, 5328, 7, 14, 0, 0, 5328, 5329, - 7, 16, 0, 0, 5329, 5330, 5, 95, 0, 0, 5330, 5331, 7, 24, 0, 0, 5331, 5332, - 7, 5, 0, 0, 5332, 5333, 7, 13, 0, 0, 5333, 5334, 7, 5, 0, 0, 5334, 5335, - 7, 15, 0, 0, 5335, 5336, 7, 9, 0, 0, 5336, 1036, 1, 0, 0, 0, 5337, 5338, - 7, 27, 0, 0, 5338, 5339, 7, 5, 0, 0, 5339, 5340, 7, 13, 0, 0, 5340, 5341, - 7, 17, 0, 0, 5341, 5342, 7, 5, 0, 0, 5342, 5343, 7, 18, 0, 0, 5343, 5344, - 7, 6, 0, 0, 5344, 5345, 7, 10, 0, 0, 5345, 5346, 5, 95, 0, 0, 5346, 5347, - 7, 14, 0, 0, 5347, 5348, 7, 19, 0, 0, 5348, 5349, 7, 7, 0, 0, 5349, 5350, - 7, 25, 0, 0, 5350, 5351, 7, 6, 0, 0, 5351, 5352, 7, 17, 0, 0, 5352, 5353, - 7, 14, 0, 0, 5353, 5354, 7, 16, 0, 0, 5354, 1038, 1, 0, 0, 0, 5355, 5356, - 7, 10, 0, 0, 5356, 5357, 7, 13, 0, 0, 5357, 5358, 7, 13, 0, 0, 5358, 5359, - 7, 19, 0, 0, 5359, 5360, 7, 13, 0, 0, 5360, 1040, 1, 0, 0, 0, 5361, 5362, - 7, 22, 0, 0, 5362, 5363, 7, 9, 0, 0, 5363, 5364, 7, 10, 0, 0, 5364, 5365, - 5, 95, 0, 0, 5365, 5366, 7, 27, 0, 0, 5366, 5367, 7, 5, 0, 0, 5367, 5368, - 7, 13, 0, 0, 5368, 5369, 7, 17, 0, 0, 5369, 5370, 7, 5, 0, 0, 5370, 5371, - 7, 18, 0, 0, 5371, 5372, 7, 6, 0, 0, 5372, 5373, 7, 10, 0, 0, 5373, 1042, - 1, 0, 0, 0, 5374, 5375, 7, 22, 0, 0, 5375, 5376, 7, 9, 0, 0, 5376, 5377, - 7, 10, 0, 0, 5377, 5378, 5, 95, 0, 0, 5378, 5379, 7, 14, 0, 0, 5379, 5380, - 7, 19, 0, 0, 5380, 5381, 7, 6, 0, 0, 5381, 5382, 7, 22, 0, 0, 5382, 5383, - 7, 15, 0, 0, 5383, 5384, 7, 7, 0, 0, 5384, 1044, 1, 0, 0, 0, 5385, 5386, - 7, 5, 0, 0, 5386, 5387, 7, 6, 0, 0, 5387, 5388, 7, 17, 0, 0, 5388, 5389, - 7, 5, 0, 0, 5389, 5390, 7, 9, 0, 0, 5390, 1046, 1, 0, 0, 0, 5391, 5392, - 7, 14, 0, 0, 5392, 5393, 7, 19, 0, 0, 5393, 5394, 7, 7, 0, 0, 5394, 5395, - 7, 9, 0, 0, 5395, 5396, 7, 16, 0, 0, 5396, 5397, 7, 5, 0, 0, 5397, 5398, - 7, 7, 0, 0, 5398, 5399, 7, 16, 0, 0, 5399, 1048, 1, 0, 0, 0, 5400, 5401, - 7, 24, 0, 0, 5401, 5402, 7, 10, 0, 0, 5402, 5403, 7, 13, 0, 0, 5403, 5404, - 7, 25, 0, 0, 5404, 5405, 7, 19, 0, 0, 5405, 5406, 7, 13, 0, 0, 5406, 5407, - 7, 15, 0, 0, 5407, 1050, 1, 0, 0, 0, 5408, 5409, 7, 23, 0, 0, 5409, 5410, - 7, 10, 0, 0, 5410, 5411, 7, 16, 0, 0, 5411, 1052, 1, 0, 0, 0, 5412, 5413, - 7, 12, 0, 0, 5413, 5414, 7, 17, 0, 0, 5414, 5415, 7, 5, 0, 0, 5415, 5416, - 7, 23, 0, 0, 5416, 5417, 7, 7, 0, 0, 5417, 5418, 7, 19, 0, 0, 5418, 5419, - 7, 9, 0, 0, 5419, 5420, 7, 16, 0, 0, 5420, 5421, 7, 17, 0, 0, 5421, 5422, - 7, 14, 0, 0, 5422, 5423, 7, 9, 0, 0, 5423, 1054, 1, 0, 0, 0, 5424, 5425, - 7, 9, 0, 0, 5425, 5426, 7, 16, 0, 0, 5426, 5427, 7, 5, 0, 0, 5427, 5428, - 7, 14, 0, 0, 5428, 5429, 7, 21, 0, 0, 5429, 5430, 7, 10, 0, 0, 5430, 5431, - 7, 12, 0, 0, 5431, 1056, 1, 0, 0, 0, 5432, 5433, 7, 10, 0, 0, 5433, 5434, - 7, 6, 0, 0, 5434, 5435, 7, 9, 0, 0, 5435, 5436, 7, 17, 0, 0, 5436, 5437, - 7, 25, 0, 0, 5437, 1058, 1, 0, 0, 0, 5438, 5439, 7, 29, 0, 0, 5439, 5440, - 7, 20, 0, 0, 5440, 5441, 7, 17, 0, 0, 5441, 5442, 7, 6, 0, 0, 5442, 5443, - 7, 10, 0, 0, 5443, 1060, 1, 0, 0, 0, 5444, 5445, 7, 13, 0, 0, 5445, 5446, - 7, 10, 0, 0, 5446, 5447, 7, 27, 0, 0, 5447, 5448, 7, 10, 0, 0, 5448, 5449, - 7, 13, 0, 0, 5449, 5450, 7, 9, 0, 0, 5450, 5451, 7, 10, 0, 0, 5451, 1062, - 1, 0, 0, 0, 5452, 5453, 7, 25, 0, 0, 5453, 5454, 7, 19, 0, 0, 5454, 5455, - 7, 13, 0, 0, 5455, 5456, 7, 10, 0, 0, 5456, 5457, 7, 5, 0, 0, 5457, 5458, - 7, 14, 0, 0, 5458, 5459, 7, 20, 0, 0, 5459, 1064, 1, 0, 0, 0, 5460, 5461, - 7, 9, 0, 0, 5461, 5462, 7, 6, 0, 0, 5462, 5463, 7, 17, 0, 0, 5463, 5464, - 7, 14, 0, 0, 5464, 5465, 7, 10, 0, 0, 5465, 1066, 1, 0, 0, 0, 5466, 5467, - 7, 10, 0, 0, 5467, 5468, 7, 26, 0, 0, 5468, 5469, 7, 17, 0, 0, 5469, 5470, - 7, 16, 0, 0, 5470, 1068, 1, 0, 0, 0, 5471, 5472, 7, 13, 0, 0, 5472, 5473, - 7, 10, 0, 0, 5473, 5474, 7, 16, 0, 0, 5474, 5475, 7, 22, 0, 0, 5475, 5476, - 7, 13, 0, 0, 5476, 5477, 7, 7, 0, 0, 5477, 1070, 1, 0, 0, 0, 5478, 5479, - 7, 28, 0, 0, 5479, 5480, 7, 22, 0, 0, 5480, 5481, 7, 10, 0, 0, 5481, 5482, - 7, 13, 0, 0, 5482, 5483, 7, 8, 0, 0, 5483, 1072, 1, 0, 0, 0, 5484, 5485, - 7, 13, 0, 0, 5485, 5486, 7, 5, 0, 0, 5486, 5487, 7, 17, 0, 0, 5487, 5488, - 7, 9, 0, 0, 5488, 5489, 7, 10, 0, 0, 5489, 1074, 1, 0, 0, 0, 5490, 5491, - 7, 9, 0, 0, 5491, 5492, 7, 28, 0, 0, 5492, 5493, 7, 6, 0, 0, 5493, 5494, - 7, 9, 0, 0, 5494, 5495, 7, 16, 0, 0, 5495, 5496, 7, 5, 0, 0, 5496, 5497, - 7, 16, 0, 0, 5497, 5498, 7, 10, 0, 0, 5498, 1076, 1, 0, 0, 0, 5499, 5500, - 7, 12, 0, 0, 5500, 5501, 7, 10, 0, 0, 5501, 5502, 7, 18, 0, 0, 5502, 5503, - 7, 22, 0, 0, 5503, 5504, 7, 23, 0, 0, 5504, 1078, 1, 0, 0, 0, 5505, 5506, - 7, 6, 0, 0, 5506, 5507, 7, 19, 0, 0, 5507, 5508, 7, 23, 0, 0, 5508, 1080, - 1, 0, 0, 0, 5509, 5510, 7, 17, 0, 0, 5510, 5511, 7, 7, 0, 0, 5511, 5512, - 7, 25, 0, 0, 5512, 5513, 7, 19, 0, 0, 5513, 1082, 1, 0, 0, 0, 5514, 5515, - 7, 7, 0, 0, 5515, 5516, 7, 19, 0, 0, 5516, 5517, 7, 16, 0, 0, 5517, 5518, - 7, 17, 0, 0, 5518, 5519, 7, 14, 0, 0, 5519, 5520, 7, 10, 0, 0, 5520, 1084, - 1, 0, 0, 0, 5521, 5522, 7, 29, 0, 0, 5522, 5523, 7, 5, 0, 0, 5523, 5524, - 7, 13, 0, 0, 5524, 5525, 7, 7, 0, 0, 5525, 5526, 7, 17, 0, 0, 5526, 5527, - 7, 7, 0, 0, 5527, 5528, 7, 23, 0, 0, 5528, 1086, 1, 0, 0, 0, 5529, 5530, - 7, 10, 0, 0, 5530, 5531, 7, 26, 0, 0, 5531, 5532, 7, 14, 0, 0, 5532, 5533, - 7, 10, 0, 0, 5533, 5534, 7, 24, 0, 0, 5534, 5535, 7, 16, 0, 0, 5535, 5536, - 7, 17, 0, 0, 5536, 5537, 7, 19, 0, 0, 5537, 5538, 7, 7, 0, 0, 5538, 1088, - 1, 0, 0, 0, 5539, 5540, 7, 5, 0, 0, 5540, 5541, 7, 9, 0, 0, 5541, 5542, - 7, 9, 0, 0, 5542, 5543, 7, 10, 0, 0, 5543, 5544, 7, 13, 0, 0, 5544, 5545, - 7, 16, 0, 0, 5545, 1090, 1, 0, 0, 0, 5546, 5547, 7, 6, 0, 0, 5547, 5548, - 7, 19, 0, 0, 5548, 5549, 7, 19, 0, 0, 5549, 5550, 7, 24, 0, 0, 5550, 1092, - 1, 0, 0, 0, 5551, 5552, 7, 19, 0, 0, 5552, 5553, 7, 24, 0, 0, 5553, 5554, - 7, 10, 0, 0, 5554, 5555, 7, 7, 0, 0, 5555, 1094, 1, 0, 0, 0, 5556, 5557, - 7, 5, 0, 0, 5557, 5558, 7, 18, 0, 0, 5558, 5559, 7, 9, 0, 0, 5559, 1096, - 1, 0, 0, 0, 5560, 5561, 7, 14, 0, 0, 5561, 5562, 7, 18, 0, 0, 5562, 5563, - 7, 13, 0, 0, 5563, 5564, 7, 16, 0, 0, 5564, 1098, 1, 0, 0, 0, 5565, 5566, - 7, 14, 0, 0, 5566, 5567, 7, 10, 0, 0, 5567, 5568, 7, 17, 0, 0, 5568, 5569, - 7, 6, 0, 0, 5569, 1100, 1, 0, 0, 0, 5570, 5571, 7, 14, 0, 0, 5571, 5572, - 7, 10, 0, 0, 5572, 5573, 7, 17, 0, 0, 5573, 5574, 7, 6, 0, 0, 5574, 5575, - 7, 17, 0, 0, 5575, 5576, 7, 7, 0, 0, 5576, 5577, 7, 23, 0, 0, 5577, 1102, - 1, 0, 0, 0, 5578, 5579, 7, 12, 0, 0, 5579, 5580, 7, 10, 0, 0, 5580, 5581, - 7, 23, 0, 0, 5581, 5582, 7, 13, 0, 0, 5582, 5583, 7, 10, 0, 0, 5583, 5584, - 7, 10, 0, 0, 5584, 5585, 7, 9, 0, 0, 5585, 1104, 1, 0, 0, 0, 5586, 5587, - 7, 12, 0, 0, 5587, 5588, 7, 17, 0, 0, 5588, 5589, 7, 27, 0, 0, 5589, 1106, - 1, 0, 0, 0, 5590, 5591, 7, 10, 0, 0, 5591, 5592, 7, 26, 0, 0, 5592, 5593, - 7, 24, 0, 0, 5593, 1108, 1, 0, 0, 0, 5594, 5595, 7, 25, 0, 0, 5595, 5596, - 7, 5, 0, 0, 5596, 5597, 7, 14, 0, 0, 5597, 5598, 7, 16, 0, 0, 5598, 5599, - 7, 19, 0, 0, 5599, 5600, 7, 13, 0, 0, 5600, 5601, 7, 17, 0, 0, 5601, 5602, - 7, 5, 0, 0, 5602, 5603, 7, 6, 0, 0, 5603, 1110, 1, 0, 0, 0, 5604, 5605, - 7, 25, 0, 0, 5605, 5606, 7, 6, 0, 0, 5606, 5607, 7, 19, 0, 0, 5607, 5608, - 7, 19, 0, 0, 5608, 5609, 7, 13, 0, 0, 5609, 1112, 1, 0, 0, 0, 5610, 5611, - 7, 23, 0, 0, 5611, 5612, 7, 14, 0, 0, 5612, 5613, 7, 12, 0, 0, 5613, 1114, - 1, 0, 0, 0, 5614, 5615, 7, 6, 0, 0, 5615, 5616, 7, 14, 0, 0, 5616, 5617, - 7, 15, 0, 0, 5617, 1116, 1, 0, 0, 0, 5618, 5619, 7, 6, 0, 0, 5619, 5620, - 7, 7, 0, 0, 5620, 1118, 1, 0, 0, 0, 5621, 5622, 7, 6, 0, 0, 5622, 5623, - 7, 19, 0, 0, 5623, 5624, 7, 23, 0, 0, 5624, 5625, 5, 49, 0, 0, 5625, 5626, - 5, 48, 0, 0, 5626, 1120, 1, 0, 0, 0, 5627, 5628, 7, 15, 0, 0, 5628, 5629, - 7, 17, 0, 0, 5629, 5630, 7, 7, 0, 0, 5630, 5631, 5, 95, 0, 0, 5631, 5632, - 7, 9, 0, 0, 5632, 5633, 7, 14, 0, 0, 5633, 5634, 7, 5, 0, 0, 5634, 5635, - 7, 6, 0, 0, 5635, 5636, 7, 10, 0, 0, 5636, 1122, 1, 0, 0, 0, 5637, 5638, - 7, 15, 0, 0, 5638, 5639, 7, 19, 0, 0, 5639, 5640, 7, 12, 0, 0, 5640, 1124, - 1, 0, 0, 0, 5641, 5642, 7, 24, 0, 0, 5642, 5643, 7, 17, 0, 0, 5643, 1126, - 1, 0, 0, 0, 5644, 5645, 7, 24, 0, 0, 5645, 5646, 7, 19, 0, 0, 5646, 5647, - 7, 29, 0, 0, 5647, 5648, 7, 10, 0, 0, 5648, 5649, 7, 13, 0, 0, 5649, 1128, - 1, 0, 0, 0, 5650, 5651, 7, 13, 0, 0, 5651, 5652, 7, 5, 0, 0, 5652, 5653, - 7, 12, 0, 0, 5653, 5654, 7, 17, 0, 0, 5654, 5655, 7, 5, 0, 0, 5655, 5656, - 7, 7, 0, 0, 5656, 5657, 7, 9, 0, 0, 5657, 1130, 1, 0, 0, 0, 5658, 5659, - 7, 13, 0, 0, 5659, 5660, 7, 19, 0, 0, 5660, 5661, 7, 22, 0, 0, 5661, 5662, - 7, 7, 0, 0, 5662, 5663, 7, 12, 0, 0, 5663, 1132, 1, 0, 0, 0, 5664, 5665, - 7, 9, 0, 0, 5665, 5666, 7, 14, 0, 0, 5666, 5667, 7, 5, 0, 0, 5667, 5668, - 7, 6, 0, 0, 5668, 5669, 7, 10, 0, 0, 5669, 1134, 1, 0, 0, 0, 5670, 5671, - 7, 9, 0, 0, 5671, 5672, 7, 17, 0, 0, 5672, 5673, 7, 23, 0, 0, 5673, 5674, - 7, 7, 0, 0, 5674, 1136, 1, 0, 0, 0, 5675, 5676, 7, 9, 0, 0, 5676, 5677, - 7, 28, 0, 0, 5677, 5678, 7, 13, 0, 0, 5678, 5679, 7, 16, 0, 0, 5679, 1138, - 1, 0, 0, 0, 5680, 5681, 7, 16, 0, 0, 5681, 5682, 7, 13, 0, 0, 5682, 5683, - 7, 17, 0, 0, 5683, 5684, 7, 15, 0, 0, 5684, 5685, 5, 95, 0, 0, 5685, 5686, - 7, 9, 0, 0, 5686, 5687, 7, 14, 0, 0, 5687, 5688, 7, 5, 0, 0, 5688, 5689, - 7, 6, 0, 0, 5689, 5690, 7, 10, 0, 0, 5690, 1140, 1, 0, 0, 0, 5691, 5692, - 7, 16, 0, 0, 5692, 5693, 7, 13, 0, 0, 5693, 5694, 7, 22, 0, 0, 5694, 5695, - 7, 7, 0, 0, 5695, 5696, 7, 14, 0, 0, 5696, 1142, 1, 0, 0, 0, 5697, 5698, - 7, 29, 0, 0, 5698, 5699, 7, 17, 0, 0, 5699, 5700, 7, 12, 0, 0, 5700, 5701, - 7, 16, 0, 0, 5701, 5702, 7, 20, 0, 0, 5702, 5703, 5, 95, 0, 0, 5703, 5704, - 7, 18, 0, 0, 5704, 5705, 7, 22, 0, 0, 5705, 5706, 7, 14, 0, 0, 5706, 5707, - 7, 21, 0, 0, 5707, 5708, 7, 10, 0, 0, 5708, 5709, 7, 16, 0, 0, 5709, 1144, - 1, 0, 0, 0, 5710, 5711, 7, 13, 0, 0, 5711, 5712, 7, 5, 0, 0, 5712, 5713, - 7, 7, 0, 0, 5713, 5714, 7, 12, 0, 0, 5714, 5715, 7, 19, 0, 0, 5715, 5716, - 7, 15, 0, 0, 5716, 1146, 1, 0, 0, 0, 5717, 5718, 7, 9, 0, 0, 5718, 5719, - 7, 10, 0, 0, 5719, 5720, 7, 16, 0, 0, 5720, 5721, 7, 9, 0, 0, 5721, 5722, - 7, 10, 0, 0, 5722, 5723, 7, 10, 0, 0, 5723, 5724, 7, 12, 0, 0, 5724, 1148, - 1, 0, 0, 0, 5725, 5726, 7, 5, 0, 0, 5726, 5727, 7, 14, 0, 0, 5727, 5728, - 7, 19, 0, 0, 5728, 5729, 7, 9, 0, 0, 5729, 1150, 1, 0, 0, 0, 5730, 5731, - 7, 5, 0, 0, 5731, 5732, 7, 14, 0, 0, 5732, 5733, 7, 19, 0, 0, 5733, 5734, - 7, 9, 0, 0, 5734, 5735, 7, 12, 0, 0, 5735, 1152, 1, 0, 0, 0, 5736, 5737, - 7, 5, 0, 0, 5737, 5738, 7, 9, 0, 0, 5738, 5739, 7, 17, 0, 0, 5739, 5740, - 7, 7, 0, 0, 5740, 1154, 1, 0, 0, 0, 5741, 5742, 7, 5, 0, 0, 5742, 5743, - 7, 9, 0, 0, 5743, 5744, 7, 17, 0, 0, 5744, 5745, 7, 7, 0, 0, 5745, 5746, - 7, 12, 0, 0, 5746, 1156, 1, 0, 0, 0, 5747, 5748, 7, 5, 0, 0, 5748, 5749, - 7, 16, 0, 0, 5749, 5750, 7, 5, 0, 0, 5750, 5751, 7, 7, 0, 0, 5751, 1158, - 1, 0, 0, 0, 5752, 5753, 7, 5, 0, 0, 5753, 5754, 7, 16, 0, 0, 5754, 5755, - 7, 5, 0, 0, 5755, 5756, 7, 7, 0, 0, 5756, 5757, 7, 12, 0, 0, 5757, 1160, - 1, 0, 0, 0, 5758, 5759, 7, 5, 0, 0, 5759, 5760, 7, 16, 0, 0, 5760, 5761, - 7, 5, 0, 0, 5761, 5762, 7, 7, 0, 0, 5762, 5763, 5, 50, 0, 0, 5763, 1162, - 1, 0, 0, 0, 5764, 5765, 7, 5, 0, 0, 5765, 5766, 7, 16, 0, 0, 5766, 5767, - 7, 5, 0, 0, 5767, 5768, 7, 7, 0, 0, 5768, 5769, 5, 50, 0, 0, 5769, 5770, - 7, 12, 0, 0, 5770, 1164, 1, 0, 0, 0, 5771, 5772, 7, 14, 0, 0, 5772, 5773, - 7, 19, 0, 0, 5773, 5774, 7, 9, 0, 0, 5774, 1166, 1, 0, 0, 0, 5775, 5776, - 7, 14, 0, 0, 5776, 5777, 7, 19, 0, 0, 5777, 5778, 7, 9, 0, 0, 5778, 5779, - 7, 12, 0, 0, 5779, 1168, 1, 0, 0, 0, 5780, 5781, 7, 14, 0, 0, 5781, 5782, - 7, 19, 0, 0, 5782, 5783, 7, 16, 0, 0, 5783, 1170, 1, 0, 0, 0, 5784, 5785, - 7, 14, 0, 0, 5785, 5786, 7, 19, 0, 0, 5786, 5787, 7, 16, 0, 0, 5787, 5788, - 7, 12, 0, 0, 5788, 1172, 1, 0, 0, 0, 5789, 5790, 7, 9, 0, 0, 5790, 5791, - 7, 17, 0, 0, 5791, 5792, 7, 7, 0, 0, 5792, 1174, 1, 0, 0, 0, 5793, 5794, - 7, 9, 0, 0, 5794, 5795, 7, 17, 0, 0, 5795, 5796, 7, 7, 0, 0, 5796, 5797, - 7, 12, 0, 0, 5797, 1176, 1, 0, 0, 0, 5798, 5799, 7, 16, 0, 0, 5799, 5800, - 7, 5, 0, 0, 5800, 5801, 7, 7, 0, 0, 5801, 1178, 1, 0, 0, 0, 5802, 5803, - 7, 16, 0, 0, 5803, 5804, 7, 5, 0, 0, 5804, 5805, 7, 7, 0, 0, 5805, 5806, - 7, 12, 0, 0, 5806, 1180, 1, 0, 0, 0, 5807, 5808, 7, 9, 0, 0, 5808, 5809, - 7, 17, 0, 0, 5809, 5810, 7, 7, 0, 0, 5810, 5811, 7, 20, 0, 0, 5811, 1182, - 1, 0, 0, 0, 5812, 5813, 7, 14, 0, 0, 5813, 5814, 7, 19, 0, 0, 5814, 5815, - 7, 9, 0, 0, 5815, 5816, 7, 20, 0, 0, 5816, 1184, 1, 0, 0, 0, 5817, 5818, - 7, 16, 0, 0, 5818, 5819, 7, 5, 0, 0, 5819, 5820, 7, 7, 0, 0, 5820, 5821, - 7, 20, 0, 0, 5821, 1186, 1, 0, 0, 0, 5822, 5823, 7, 5, 0, 0, 5823, 5824, - 7, 9, 0, 0, 5824, 5825, 7, 17, 0, 0, 5825, 5826, 7, 7, 0, 0, 5826, 5827, - 7, 20, 0, 0, 5827, 1188, 1, 0, 0, 0, 5828, 5829, 7, 5, 0, 0, 5829, 5830, - 7, 14, 0, 0, 5830, 5831, 7, 19, 0, 0, 5831, 5832, 7, 9, 0, 0, 5832, 5833, - 7, 20, 0, 0, 5833, 1190, 1, 0, 0, 0, 5834, 5835, 7, 5, 0, 0, 5835, 5836, - 7, 16, 0, 0, 5836, 5837, 7, 5, 0, 0, 5837, 5838, 7, 7, 0, 0, 5838, 5839, - 7, 20, 0, 0, 5839, 1192, 1, 0, 0, 0, 5840, 5841, 7, 18, 0, 0, 5841, 5842, - 7, 17, 0, 0, 5842, 5843, 7, 16, 0, 0, 5843, 5844, 5, 95, 0, 0, 5844, 5845, - 7, 6, 0, 0, 5845, 5846, 7, 10, 0, 0, 5846, 5847, 7, 7, 0, 0, 5847, 5848, - 7, 23, 0, 0, 5848, 5849, 7, 16, 0, 0, 5849, 5850, 7, 20, 0, 0, 5850, 1194, - 1, 0, 0, 0, 5851, 5852, 7, 14, 0, 0, 5852, 5853, 7, 20, 0, 0, 5853, 5854, - 7, 5, 0, 0, 5854, 5855, 7, 13, 0, 0, 5855, 5856, 5, 95, 0, 0, 5856, 5857, - 7, 6, 0, 0, 5857, 5858, 7, 10, 0, 0, 5858, 5859, 7, 7, 0, 0, 5859, 5860, - 7, 23, 0, 0, 5860, 5861, 7, 16, 0, 0, 5861, 5862, 7, 20, 0, 0, 5862, 1196, - 1, 0, 0, 0, 5863, 5864, 7, 14, 0, 0, 5864, 5865, 7, 20, 0, 0, 5865, 5866, - 7, 5, 0, 0, 5866, 5867, 7, 13, 0, 0, 5867, 5868, 7, 5, 0, 0, 5868, 5869, - 7, 14, 0, 0, 5869, 5870, 7, 16, 0, 0, 5870, 5871, 7, 10, 0, 0, 5871, 5872, - 7, 13, 0, 0, 5872, 5873, 5, 95, 0, 0, 5873, 5874, 7, 6, 0, 0, 5874, 5875, - 7, 10, 0, 0, 5875, 5876, 7, 7, 0, 0, 5876, 5877, 7, 23, 0, 0, 5877, 5878, - 7, 16, 0, 0, 5878, 5879, 7, 20, 0, 0, 5879, 1198, 1, 0, 0, 0, 5880, 5881, - 7, 6, 0, 0, 5881, 5882, 7, 19, 0, 0, 5882, 5883, 7, 29, 0, 0, 5883, 5884, - 7, 10, 0, 0, 5884, 5885, 7, 13, 0, 0, 5885, 1200, 1, 0, 0, 0, 5886, 5887, - 7, 19, 0, 0, 5887, 5888, 7, 14, 0, 0, 5888, 5889, 7, 16, 0, 0, 5889, 5890, - 7, 10, 0, 0, 5890, 5891, 7, 16, 0, 0, 5891, 5892, 5, 95, 0, 0, 5892, 5893, - 7, 6, 0, 0, 5893, 5894, 7, 10, 0, 0, 5894, 5895, 7, 7, 0, 0, 5895, 5896, - 7, 23, 0, 0, 5896, 5897, 7, 16, 0, 0, 5897, 5898, 7, 20, 0, 0, 5898, 1202, - 1, 0, 0, 0, 5899, 5900, 7, 22, 0, 0, 5900, 5901, 7, 24, 0, 0, 5901, 5902, - 7, 24, 0, 0, 5902, 5903, 7, 10, 0, 0, 5903, 5904, 7, 13, 0, 0, 5904, 1204, - 1, 0, 0, 0, 5905, 5906, 7, 5, 0, 0, 5906, 5907, 7, 9, 0, 0, 5907, 5908, - 7, 14, 0, 0, 5908, 5909, 7, 17, 0, 0, 5909, 5910, 7, 17, 0, 0, 5910, 1206, - 1, 0, 0, 0, 5911, 5912, 7, 18, 0, 0, 5912, 5913, 7, 16, 0, 0, 5913, 5914, - 7, 13, 0, 0, 5914, 5915, 7, 17, 0, 0, 5915, 5916, 7, 15, 0, 0, 5916, 1208, - 1, 0, 0, 0, 5917, 5918, 7, 14, 0, 0, 5918, 5919, 7, 20, 0, 0, 5919, 5920, - 7, 13, 0, 0, 5920, 1210, 1, 0, 0, 0, 5921, 5922, 7, 14, 0, 0, 5922, 5923, - 7, 19, 0, 0, 5923, 5924, 7, 7, 0, 0, 5924, 5925, 7, 14, 0, 0, 5925, 5926, - 7, 5, 0, 0, 5926, 5927, 7, 16, 0, 0, 5927, 1212, 1, 0, 0, 0, 5928, 5929, - 7, 14, 0, 0, 5929, 5930, 7, 19, 0, 0, 5930, 5931, 7, 7, 0, 0, 5931, 5932, - 7, 14, 0, 0, 5932, 5933, 7, 5, 0, 0, 5933, 5934, 7, 16, 0, 0, 5934, 5935, - 5, 95, 0, 0, 5935, 5936, 7, 29, 0, 0, 5936, 5937, 7, 9, 0, 0, 5937, 1214, - 1, 0, 0, 0, 5938, 5939, 7, 25, 0, 0, 5939, 5940, 7, 19, 0, 0, 5940, 5941, - 7, 13, 0, 0, 5941, 5942, 7, 15, 0, 0, 5942, 5943, 7, 5, 0, 0, 5943, 5944, - 7, 16, 0, 0, 5944, 1216, 1, 0, 0, 0, 5945, 5946, 7, 17, 0, 0, 5946, 5947, - 7, 7, 0, 0, 5947, 5948, 7, 17, 0, 0, 5948, 5949, 7, 16, 0, 0, 5949, 5950, - 7, 14, 0, 0, 5950, 5951, 7, 5, 0, 0, 5951, 5952, 7, 24, 0, 0, 5952, 1218, - 1, 0, 0, 0, 5953, 5954, 7, 6, 0, 0, 5954, 5955, 7, 10, 0, 0, 5955, 5956, - 7, 7, 0, 0, 5956, 5957, 7, 23, 0, 0, 5957, 5958, 7, 16, 0, 0, 5958, 5959, - 7, 20, 0, 0, 5959, 1220, 1, 0, 0, 0, 5960, 5961, 7, 6, 0, 0, 5961, 5962, - 7, 24, 0, 0, 5962, 5963, 7, 5, 0, 0, 5963, 5964, 7, 12, 0, 0, 5964, 1222, - 1, 0, 0, 0, 5965, 5966, 7, 6, 0, 0, 5966, 5967, 7, 16, 0, 0, 5967, 5968, - 7, 13, 0, 0, 5968, 5969, 7, 17, 0, 0, 5969, 5970, 7, 15, 0, 0, 5970, 1224, - 1, 0, 0, 0, 5971, 5972, 7, 15, 0, 0, 5972, 5973, 7, 12, 0, 0, 5973, 5974, - 5, 53, 0, 0, 5974, 1226, 1, 0, 0, 0, 5975, 5976, 7, 24, 0, 0, 5976, 5977, - 7, 5, 0, 0, 5977, 5978, 7, 13, 0, 0, 5978, 5979, 7, 9, 0, 0, 5979, 5980, - 7, 10, 0, 0, 5980, 5981, 5, 95, 0, 0, 5981, 5982, 7, 17, 0, 0, 5982, 5983, - 7, 12, 0, 0, 5983, 5984, 7, 10, 0, 0, 5984, 5985, 7, 7, 0, 0, 5985, 5986, - 7, 16, 0, 0, 5986, 1228, 1, 0, 0, 0, 5987, 5988, 7, 24, 0, 0, 5988, 5989, - 7, 23, 0, 0, 5989, 5990, 5, 95, 0, 0, 5990, 5991, 7, 14, 0, 0, 5991, 5992, - 7, 6, 0, 0, 5992, 5993, 7, 17, 0, 0, 5993, 5994, 7, 10, 0, 0, 5994, 5995, - 7, 7, 0, 0, 5995, 5996, 7, 16, 0, 0, 5996, 5997, 5, 95, 0, 0, 5997, 5998, - 7, 10, 0, 0, 5998, 5999, 7, 7, 0, 0, 5999, 6000, 7, 14, 0, 0, 6000, 6001, - 7, 19, 0, 0, 6001, 6002, 7, 12, 0, 0, 6002, 6003, 7, 17, 0, 0, 6003, 6004, - 7, 7, 0, 0, 6004, 6005, 7, 23, 0, 0, 6005, 1230, 1, 0, 0, 0, 6006, 6007, - 7, 28, 0, 0, 6007, 6008, 7, 22, 0, 0, 6008, 6009, 7, 19, 0, 0, 6009, 6010, - 7, 16, 0, 0, 6010, 6011, 7, 10, 0, 0, 6011, 6012, 5, 95, 0, 0, 6012, 6013, - 7, 17, 0, 0, 6013, 6014, 7, 12, 0, 0, 6014, 6015, 7, 10, 0, 0, 6015, 6016, - 7, 7, 0, 0, 6016, 6017, 7, 16, 0, 0, 6017, 1232, 1, 0, 0, 0, 6018, 6019, - 7, 28, 0, 0, 6019, 6020, 7, 22, 0, 0, 6020, 6021, 7, 19, 0, 0, 6021, 6022, - 7, 16, 0, 0, 6022, 6023, 7, 10, 0, 0, 6023, 6024, 5, 95, 0, 0, 6024, 6025, - 7, 6, 0, 0, 6025, 6026, 7, 17, 0, 0, 6026, 6027, 7, 16, 0, 0, 6027, 6028, - 7, 10, 0, 0, 6028, 6029, 7, 13, 0, 0, 6029, 6030, 7, 5, 0, 0, 6030, 6031, - 7, 6, 0, 0, 6031, 1234, 1, 0, 0, 0, 6032, 6033, 7, 28, 0, 0, 6033, 6034, - 7, 22, 0, 0, 6034, 6035, 7, 19, 0, 0, 6035, 6036, 7, 16, 0, 0, 6036, 6037, - 7, 10, 0, 0, 6037, 6038, 5, 95, 0, 0, 6038, 6039, 7, 7, 0, 0, 6039, 6040, - 7, 22, 0, 0, 6040, 6041, 7, 6, 0, 0, 6041, 6042, 7, 6, 0, 0, 6042, 6043, - 7, 5, 0, 0, 6043, 6044, 7, 18, 0, 0, 6044, 6045, 7, 6, 0, 0, 6045, 6046, - 7, 10, 0, 0, 6046, 1236, 1, 0, 0, 0, 6047, 6048, 7, 13, 0, 0, 6048, 6049, - 7, 10, 0, 0, 6049, 6050, 7, 23, 0, 0, 6050, 6051, 7, 10, 0, 0, 6051, 6052, - 7, 26, 0, 0, 6052, 6053, 7, 24, 0, 0, 6053, 6054, 5, 95, 0, 0, 6054, 6055, - 7, 14, 0, 0, 6055, 6056, 7, 19, 0, 0, 6056, 6057, 7, 22, 0, 0, 6057, 6058, - 7, 7, 0, 0, 6058, 6059, 7, 16, 0, 0, 6059, 1238, 1, 0, 0, 0, 6060, 6061, - 7, 13, 0, 0, 6061, 6062, 7, 10, 0, 0, 6062, 6063, 7, 23, 0, 0, 6063, 6064, - 7, 10, 0, 0, 6064, 6065, 7, 26, 0, 0, 6065, 6066, 7, 24, 0, 0, 6066, 6067, - 5, 95, 0, 0, 6067, 6068, 7, 17, 0, 0, 6068, 6069, 7, 7, 0, 0, 6069, 6070, - 7, 9, 0, 0, 6070, 6071, 7, 16, 0, 0, 6071, 6072, 7, 13, 0, 0, 6072, 1240, - 1, 0, 0, 0, 6073, 6074, 7, 13, 0, 0, 6074, 6075, 7, 10, 0, 0, 6075, 6076, - 7, 23, 0, 0, 6076, 6077, 7, 10, 0, 0, 6077, 6078, 7, 26, 0, 0, 6078, 6079, - 7, 24, 0, 0, 6079, 6080, 5, 95, 0, 0, 6080, 6081, 7, 6, 0, 0, 6081, 6082, - 7, 17, 0, 0, 6082, 6083, 7, 21, 0, 0, 6083, 6084, 7, 10, 0, 0, 6084, 1242, - 1, 0, 0, 0, 6085, 6086, 7, 13, 0, 0, 6086, 6087, 7, 10, 0, 0, 6087, 6088, - 7, 23, 0, 0, 6088, 6089, 7, 10, 0, 0, 6089, 6090, 7, 26, 0, 0, 6090, 6091, - 7, 24, 0, 0, 6091, 6092, 5, 95, 0, 0, 6092, 6093, 7, 15, 0, 0, 6093, 6094, - 7, 5, 0, 0, 6094, 6095, 7, 16, 0, 0, 6095, 6096, 7, 14, 0, 0, 6096, 6097, - 7, 20, 0, 0, 6097, 1244, 1, 0, 0, 0, 6098, 6099, 7, 13, 0, 0, 6099, 6100, - 7, 10, 0, 0, 6100, 6101, 7, 23, 0, 0, 6101, 6102, 7, 10, 0, 0, 6102, 6103, - 7, 26, 0, 0, 6103, 6104, 7, 24, 0, 0, 6104, 6105, 5, 95, 0, 0, 6105, 6106, - 7, 15, 0, 0, 6106, 6107, 7, 5, 0, 0, 6107, 6108, 7, 16, 0, 0, 6108, 6109, - 7, 14, 0, 0, 6109, 6110, 7, 20, 0, 0, 6110, 6111, 7, 10, 0, 0, 6111, 6112, - 7, 9, 0, 0, 6112, 1246, 1, 0, 0, 0, 6113, 6114, 7, 13, 0, 0, 6114, 6115, - 7, 10, 0, 0, 6115, 6116, 7, 23, 0, 0, 6116, 6117, 7, 10, 0, 0, 6117, 6118, - 7, 26, 0, 0, 6118, 6119, 7, 24, 0, 0, 6119, 6120, 5, 95, 0, 0, 6120, 6121, - 7, 13, 0, 0, 6121, 6122, 7, 10, 0, 0, 6122, 6123, 7, 24, 0, 0, 6123, 6124, - 7, 6, 0, 0, 6124, 6125, 7, 5, 0, 0, 6125, 6126, 7, 14, 0, 0, 6126, 6127, - 7, 10, 0, 0, 6127, 1248, 1, 0, 0, 0, 6128, 6129, 7, 13, 0, 0, 6129, 6130, - 7, 10, 0, 0, 6130, 6131, 7, 23, 0, 0, 6131, 6132, 7, 10, 0, 0, 6132, 6133, - 7, 26, 0, 0, 6133, 6134, 7, 24, 0, 0, 6134, 6135, 5, 95, 0, 0, 6135, 6136, - 7, 9, 0, 0, 6136, 6137, 7, 24, 0, 0, 6137, 6138, 7, 6, 0, 0, 6138, 6139, - 7, 17, 0, 0, 6139, 6140, 7, 16, 0, 0, 6140, 6141, 5, 95, 0, 0, 6141, 6142, - 7, 16, 0, 0, 6142, 6143, 7, 19, 0, 0, 6143, 6144, 5, 95, 0, 0, 6144, 6145, - 7, 5, 0, 0, 6145, 6146, 7, 13, 0, 0, 6146, 6147, 7, 13, 0, 0, 6147, 6148, - 7, 5, 0, 0, 6148, 6149, 7, 8, 0, 0, 6149, 1250, 1, 0, 0, 0, 6150, 6151, - 7, 13, 0, 0, 6151, 6152, 7, 10, 0, 0, 6152, 6153, 7, 23, 0, 0, 6153, 6154, - 7, 10, 0, 0, 6154, 6155, 7, 26, 0, 0, 6155, 6156, 7, 24, 0, 0, 6156, 6157, - 5, 95, 0, 0, 6157, 6158, 7, 9, 0, 0, 6158, 6159, 7, 24, 0, 0, 6159, 6160, - 7, 6, 0, 0, 6160, 6161, 7, 17, 0, 0, 6161, 6162, 7, 16, 0, 0, 6162, 6163, - 5, 95, 0, 0, 6163, 6164, 7, 16, 0, 0, 6164, 6165, 7, 19, 0, 0, 6165, 6166, - 5, 95, 0, 0, 6166, 6167, 7, 16, 0, 0, 6167, 6168, 7, 5, 0, 0, 6168, 6169, - 7, 18, 0, 0, 6169, 6170, 7, 6, 0, 0, 6170, 6171, 7, 10, 0, 0, 6171, 1252, - 1, 0, 0, 0, 6172, 6173, 7, 13, 0, 0, 6173, 6174, 7, 10, 0, 0, 6174, 6175, - 7, 23, 0, 0, 6175, 6176, 7, 10, 0, 0, 6176, 6177, 7, 26, 0, 0, 6177, 6178, - 7, 24, 0, 0, 6178, 6179, 5, 95, 0, 0, 6179, 6180, 7, 9, 0, 0, 6180, 6181, - 7, 22, 0, 0, 6181, 6182, 7, 18, 0, 0, 6182, 6183, 7, 9, 0, 0, 6183, 6184, - 7, 16, 0, 0, 6184, 6185, 7, 13, 0, 0, 6185, 1254, 1, 0, 0, 0, 6186, 6187, - 7, 13, 0, 0, 6187, 6188, 7, 10, 0, 0, 6188, 6189, 7, 24, 0, 0, 6189, 6190, - 7, 10, 0, 0, 6190, 6191, 7, 5, 0, 0, 6191, 6192, 7, 16, 0, 0, 6192, 1256, - 1, 0, 0, 0, 6193, 6194, 7, 13, 0, 0, 6194, 6195, 7, 24, 0, 0, 6195, 6196, - 7, 5, 0, 0, 6196, 6197, 7, 12, 0, 0, 6197, 1258, 1, 0, 0, 0, 6198, 6199, - 7, 13, 0, 0, 6199, 6200, 7, 16, 0, 0, 6200, 6201, 7, 13, 0, 0, 6201, 6202, - 7, 17, 0, 0, 6202, 6203, 7, 15, 0, 0, 6203, 1260, 1, 0, 0, 0, 6204, 6205, - 7, 9, 0, 0, 6205, 6206, 7, 24, 0, 0, 6206, 6207, 7, 6, 0, 0, 6207, 6208, - 7, 17, 0, 0, 6208, 6209, 7, 16, 0, 0, 6209, 6210, 5, 95, 0, 0, 6210, 6211, - 7, 24, 0, 0, 6211, 6212, 7, 5, 0, 0, 6212, 6213, 7, 13, 0, 0, 6213, 6214, - 7, 16, 0, 0, 6214, 1262, 1, 0, 0, 0, 6215, 6216, 7, 9, 0, 0, 6216, 6217, - 7, 16, 0, 0, 6217, 6218, 7, 5, 0, 0, 6218, 6219, 7, 13, 0, 0, 6219, 6220, - 7, 16, 0, 0, 6220, 6221, 7, 9, 0, 0, 6221, 6222, 5, 95, 0, 0, 6222, 6223, - 7, 29, 0, 0, 6223, 6224, 7, 17, 0, 0, 6224, 6225, 7, 16, 0, 0, 6225, 6226, - 7, 20, 0, 0, 6226, 1264, 1, 0, 0, 0, 6227, 6228, 7, 9, 0, 0, 6228, 6229, - 7, 16, 0, 0, 6229, 6230, 7, 13, 0, 0, 6230, 6231, 7, 17, 0, 0, 6231, 6232, - 7, 7, 0, 0, 6232, 6233, 7, 23, 0, 0, 6233, 6234, 5, 95, 0, 0, 6234, 6235, - 7, 16, 0, 0, 6235, 6236, 7, 19, 0, 0, 6236, 6237, 5, 95, 0, 0, 6237, 6238, - 7, 5, 0, 0, 6238, 6239, 7, 13, 0, 0, 6239, 6240, 7, 13, 0, 0, 6240, 6241, - 7, 5, 0, 0, 6241, 6242, 7, 8, 0, 0, 6242, 1266, 1, 0, 0, 0, 6243, 6244, - 7, 9, 0, 0, 6244, 6245, 7, 16, 0, 0, 6245, 6246, 7, 13, 0, 0, 6246, 6247, - 7, 17, 0, 0, 6247, 6248, 7, 7, 0, 0, 6248, 6249, 7, 23, 0, 0, 6249, 6250, - 5, 95, 0, 0, 6250, 6251, 7, 16, 0, 0, 6251, 6252, 7, 19, 0, 0, 6252, 6253, - 5, 95, 0, 0, 6253, 6254, 7, 16, 0, 0, 6254, 6255, 7, 5, 0, 0, 6255, 6256, - 7, 18, 0, 0, 6256, 6257, 7, 6, 0, 0, 6257, 6258, 7, 10, 0, 0, 6258, 1268, - 1, 0, 0, 0, 6259, 6260, 7, 9, 0, 0, 6260, 6261, 7, 16, 0, 0, 6261, 6262, - 7, 13, 0, 0, 6262, 6263, 7, 24, 0, 0, 6263, 6264, 7, 19, 0, 0, 6264, 6265, - 7, 9, 0, 0, 6265, 1270, 1, 0, 0, 0, 6266, 6267, 7, 9, 0, 0, 6267, 6268, - 7, 22, 0, 0, 6268, 6269, 7, 18, 0, 0, 6269, 6270, 7, 9, 0, 0, 6270, 6271, - 7, 16, 0, 0, 6271, 6272, 7, 13, 0, 0, 6272, 1272, 1, 0, 0, 0, 6273, 6274, - 7, 16, 0, 0, 6274, 6275, 7, 19, 0, 0, 6275, 6276, 5, 95, 0, 0, 6276, 6277, - 7, 5, 0, 0, 6277, 6278, 7, 9, 0, 0, 6278, 6279, 7, 14, 0, 0, 6279, 6280, - 7, 17, 0, 0, 6280, 6281, 7, 17, 0, 0, 6281, 1274, 1, 0, 0, 0, 6282, 6283, - 7, 16, 0, 0, 6283, 6284, 7, 19, 0, 0, 6284, 6285, 5, 95, 0, 0, 6285, 6286, - 7, 20, 0, 0, 6286, 6287, 7, 10, 0, 0, 6287, 6288, 7, 26, 0, 0, 6288, 1276, - 1, 0, 0, 0, 6289, 6290, 7, 16, 0, 0, 6290, 6291, 7, 13, 0, 0, 6291, 6292, - 7, 5, 0, 0, 6292, 6293, 7, 7, 0, 0, 6293, 6294, 7, 9, 0, 0, 6294, 6295, - 7, 6, 0, 0, 6295, 6296, 7, 5, 0, 0, 6296, 6297, 7, 16, 0, 0, 6297, 6298, - 7, 10, 0, 0, 6298, 1278, 1, 0, 0, 0, 6299, 6300, 7, 22, 0, 0, 6300, 6301, - 7, 7, 0, 0, 6301, 6302, 7, 17, 0, 0, 6302, 6303, 7, 9, 0, 0, 6303, 6304, - 7, 16, 0, 0, 6304, 6305, 7, 13, 0, 0, 6305, 1280, 1, 0, 0, 0, 6306, 6307, - 7, 5, 0, 0, 6307, 6308, 7, 23, 0, 0, 6308, 6309, 7, 10, 0, 0, 6309, 1282, - 1, 0, 0, 0, 6310, 6311, 7, 14, 0, 0, 6311, 6312, 7, 6, 0, 0, 6312, 6313, - 7, 19, 0, 0, 6313, 6314, 7, 14, 0, 0, 6314, 6315, 7, 21, 0, 0, 6315, 6316, - 5, 95, 0, 0, 6316, 6317, 7, 16, 0, 0, 6317, 6318, 7, 17, 0, 0, 6318, 6319, - 7, 15, 0, 0, 6319, 6320, 7, 10, 0, 0, 6320, 6321, 7, 9, 0, 0, 6321, 6322, - 7, 16, 0, 0, 6322, 6323, 7, 5, 0, 0, 6323, 6324, 7, 15, 0, 0, 6324, 6325, - 7, 24, 0, 0, 6325, 1284, 1, 0, 0, 0, 6326, 6327, 7, 12, 0, 0, 6327, 6328, - 7, 5, 0, 0, 6328, 6329, 7, 16, 0, 0, 6329, 6330, 7, 10, 0, 0, 6330, 6331, - 5, 95, 0, 0, 6331, 6332, 7, 18, 0, 0, 6332, 6333, 7, 17, 0, 0, 6333, 6334, - 7, 7, 0, 0, 6334, 1286, 1, 0, 0, 0, 6335, 6336, 7, 12, 0, 0, 6336, 6337, - 7, 5, 0, 0, 6337, 6338, 7, 16, 0, 0, 6338, 6339, 7, 10, 0, 0, 6339, 6340, - 5, 95, 0, 0, 6340, 6341, 7, 24, 0, 0, 6341, 6342, 7, 5, 0, 0, 6342, 6343, - 7, 13, 0, 0, 6343, 6344, 7, 16, 0, 0, 6344, 1288, 1, 0, 0, 0, 6345, 6346, - 7, 12, 0, 0, 6346, 6347, 7, 5, 0, 0, 6347, 6348, 7, 16, 0, 0, 6348, 6349, - 7, 10, 0, 0, 6349, 6350, 5, 95, 0, 0, 6350, 6351, 7, 16, 0, 0, 6351, 6352, - 7, 13, 0, 0, 6352, 6353, 7, 22, 0, 0, 6353, 6354, 7, 7, 0, 0, 6354, 6355, - 7, 14, 0, 0, 6355, 1290, 1, 0, 0, 0, 6356, 6357, 7, 17, 0, 0, 6357, 6358, - 7, 9, 0, 0, 6358, 6359, 7, 25, 0, 0, 6359, 6360, 7, 17, 0, 0, 6360, 6361, - 7, 7, 0, 0, 6361, 6362, 7, 17, 0, 0, 6362, 6363, 7, 16, 0, 0, 6363, 6364, - 7, 10, 0, 0, 6364, 1292, 1, 0, 0, 0, 6365, 6366, 7, 30, 0, 0, 6366, 6367, - 7, 22, 0, 0, 6367, 6368, 7, 9, 0, 0, 6368, 6369, 7, 16, 0, 0, 6369, 6370, - 7, 17, 0, 0, 6370, 6371, 7, 25, 0, 0, 6371, 6372, 7, 8, 0, 0, 6372, 6373, - 5, 95, 0, 0, 6373, 6374, 7, 12, 0, 0, 6374, 6375, 7, 5, 0, 0, 6375, 6376, - 7, 8, 0, 0, 6376, 6377, 7, 9, 0, 0, 6377, 1294, 1, 0, 0, 0, 6378, 6379, - 7, 30, 0, 0, 6379, 6380, 7, 22, 0, 0, 6380, 6381, 7, 9, 0, 0, 6381, 6382, - 7, 16, 0, 0, 6382, 6383, 7, 17, 0, 0, 6383, 6384, 7, 25, 0, 0, 6384, 6385, - 7, 8, 0, 0, 6385, 6386, 5, 95, 0, 0, 6386, 6387, 7, 20, 0, 0, 6387, 6388, - 7, 19, 0, 0, 6388, 6389, 7, 22, 0, 0, 6389, 6390, 7, 13, 0, 0, 6390, 6391, - 7, 9, 0, 0, 6391, 1296, 1, 0, 0, 0, 6392, 6393, 7, 30, 0, 0, 6393, 6394, - 7, 22, 0, 0, 6394, 6395, 7, 9, 0, 0, 6395, 6396, 7, 16, 0, 0, 6396, 6397, - 7, 17, 0, 0, 6397, 6398, 7, 25, 0, 0, 6398, 6399, 7, 8, 0, 0, 6399, 6400, - 5, 95, 0, 0, 6400, 6401, 7, 17, 0, 0, 6401, 6402, 7, 7, 0, 0, 6402, 6403, - 7, 16, 0, 0, 6403, 6404, 7, 10, 0, 0, 6404, 6405, 7, 13, 0, 0, 6405, 6406, - 7, 27, 0, 0, 6406, 6407, 7, 5, 0, 0, 6407, 6408, 7, 6, 0, 0, 6408, 1298, - 1, 0, 0, 0, 6409, 6410, 7, 15, 0, 0, 6410, 6411, 7, 5, 0, 0, 6411, 6412, - 7, 21, 0, 0, 6412, 6413, 7, 10, 0, 0, 6413, 6414, 5, 95, 0, 0, 6414, 6415, - 7, 12, 0, 0, 6415, 6416, 7, 5, 0, 0, 6416, 6417, 7, 16, 0, 0, 6417, 6418, - 7, 10, 0, 0, 6418, 1300, 1, 0, 0, 0, 6419, 6420, 7, 15, 0, 0, 6420, 6421, - 7, 5, 0, 0, 6421, 6422, 7, 21, 0, 0, 6422, 6423, 7, 10, 0, 0, 6423, 6424, - 5, 95, 0, 0, 6424, 6425, 7, 17, 0, 0, 6425, 6426, 7, 7, 0, 0, 6426, 6427, - 7, 16, 0, 0, 6427, 6428, 7, 10, 0, 0, 6428, 6429, 7, 13, 0, 0, 6429, 6430, - 7, 27, 0, 0, 6430, 6431, 7, 5, 0, 0, 6431, 6432, 7, 6, 0, 0, 6432, 1302, - 1, 0, 0, 0, 6433, 6434, 7, 15, 0, 0, 6434, 6435, 7, 5, 0, 0, 6435, 6436, - 7, 21, 0, 0, 6436, 6437, 7, 10, 0, 0, 6437, 6438, 5, 95, 0, 0, 6438, 6439, - 7, 16, 0, 0, 6439, 6440, 7, 17, 0, 0, 6440, 6441, 7, 15, 0, 0, 6441, 6442, - 7, 10, 0, 0, 6442, 1304, 1, 0, 0, 0, 6443, 6444, 7, 15, 0, 0, 6444, 6445, - 7, 5, 0, 0, 6445, 6446, 7, 21, 0, 0, 6446, 6447, 7, 10, 0, 0, 6447, 6448, - 5, 95, 0, 0, 6448, 6449, 7, 16, 0, 0, 6449, 6450, 7, 17, 0, 0, 6450, 6451, - 7, 15, 0, 0, 6451, 6452, 7, 10, 0, 0, 6452, 6453, 7, 9, 0, 0, 6453, 6454, - 7, 16, 0, 0, 6454, 6455, 7, 5, 0, 0, 6455, 6456, 7, 15, 0, 0, 6456, 6457, - 7, 24, 0, 0, 6457, 1306, 1, 0, 0, 0, 6458, 6459, 7, 15, 0, 0, 6459, 6460, - 7, 5, 0, 0, 6460, 6461, 7, 21, 0, 0, 6461, 6462, 7, 10, 0, 0, 6462, 6463, - 5, 95, 0, 0, 6463, 6464, 7, 16, 0, 0, 6464, 6465, 7, 17, 0, 0, 6465, 6466, - 7, 15, 0, 0, 6466, 6467, 7, 10, 0, 0, 6467, 6468, 7, 9, 0, 0, 6468, 6469, - 7, 16, 0, 0, 6469, 6470, 7, 5, 0, 0, 6470, 6471, 7, 15, 0, 0, 6471, 6472, - 7, 24, 0, 0, 6472, 6473, 7, 16, 0, 0, 6473, 6474, 7, 11, 0, 0, 6474, 1308, - 1, 0, 0, 0, 6475, 6476, 7, 7, 0, 0, 6476, 6477, 7, 19, 0, 0, 6477, 6478, - 7, 29, 0, 0, 6478, 1310, 1, 0, 0, 0, 6479, 6480, 7, 9, 0, 0, 6480, 6481, - 7, 16, 0, 0, 6481, 6482, 7, 5, 0, 0, 6482, 6483, 7, 16, 0, 0, 6483, 6484, - 7, 10, 0, 0, 6484, 6485, 7, 15, 0, 0, 6485, 6486, 7, 10, 0, 0, 6486, 6487, - 7, 7, 0, 0, 6487, 6488, 7, 16, 0, 0, 6488, 6489, 5, 95, 0, 0, 6489, 6490, - 7, 16, 0, 0, 6490, 6491, 7, 17, 0, 0, 6491, 6492, 7, 15, 0, 0, 6492, 6493, - 7, 10, 0, 0, 6493, 6494, 7, 9, 0, 0, 6494, 6495, 7, 16, 0, 0, 6495, 6496, - 7, 5, 0, 0, 6496, 6497, 7, 15, 0, 0, 6497, 6498, 7, 24, 0, 0, 6498, 1312, - 1, 0, 0, 0, 6499, 6500, 7, 16, 0, 0, 6500, 6501, 7, 17, 0, 0, 6501, 6502, - 7, 15, 0, 0, 6502, 6503, 7, 10, 0, 0, 6503, 6504, 7, 19, 0, 0, 6504, 6505, - 7, 25, 0, 0, 6505, 6506, 7, 12, 0, 0, 6506, 6507, 7, 5, 0, 0, 6507, 6508, - 7, 8, 0, 0, 6508, 1314, 1, 0, 0, 0, 6509, 6510, 7, 16, 0, 0, 6510, 6511, - 7, 13, 0, 0, 6511, 6512, 7, 5, 0, 0, 6512, 6513, 7, 7, 0, 0, 6513, 6514, - 7, 9, 0, 0, 6514, 6515, 7, 5, 0, 0, 6515, 6516, 7, 14, 0, 0, 6516, 6517, - 7, 16, 0, 0, 6517, 6518, 7, 17, 0, 0, 6518, 6519, 7, 19, 0, 0, 6519, 6520, - 7, 7, 0, 0, 6520, 6521, 5, 95, 0, 0, 6521, 6522, 7, 16, 0, 0, 6522, 6523, - 7, 17, 0, 0, 6523, 6524, 7, 15, 0, 0, 6524, 6525, 7, 10, 0, 0, 6525, 6526, - 7, 9, 0, 0, 6526, 6527, 7, 16, 0, 0, 6527, 6528, 7, 5, 0, 0, 6528, 6529, - 7, 15, 0, 0, 6529, 6530, 7, 24, 0, 0, 6530, 1316, 1, 0, 0, 0, 6531, 6532, - 7, 16, 0, 0, 6532, 6533, 7, 19, 0, 0, 6533, 6534, 5, 95, 0, 0, 6534, 6535, - 7, 16, 0, 0, 6535, 6536, 7, 17, 0, 0, 6536, 6537, 7, 15, 0, 0, 6537, 6538, - 7, 10, 0, 0, 6538, 6539, 7, 9, 0, 0, 6539, 6540, 7, 16, 0, 0, 6540, 6541, - 7, 5, 0, 0, 6541, 6542, 7, 15, 0, 0, 6542, 6543, 7, 24, 0, 0, 6543, 1318, - 1, 0, 0, 0, 6544, 6545, 7, 16, 0, 0, 6545, 6546, 7, 19, 0, 0, 6546, 6547, - 5, 95, 0, 0, 6547, 6548, 7, 14, 0, 0, 6548, 6549, 7, 20, 0, 0, 6549, 6550, - 7, 5, 0, 0, 6550, 6551, 7, 13, 0, 0, 6551, 1320, 1, 0, 0, 0, 6552, 6553, - 7, 16, 0, 0, 6553, 6554, 7, 19, 0, 0, 6554, 6555, 5, 95, 0, 0, 6555, 6556, - 7, 12, 0, 0, 6556, 6557, 7, 5, 0, 0, 6557, 6558, 7, 16, 0, 0, 6558, 6559, - 7, 10, 0, 0, 6559, 1322, 1, 0, 0, 0, 6560, 6561, 7, 16, 0, 0, 6561, 6562, - 7, 19, 0, 0, 6562, 6563, 5, 95, 0, 0, 6563, 6564, 7, 7, 0, 0, 6564, 6565, - 7, 22, 0, 0, 6565, 6566, 7, 15, 0, 0, 6566, 6567, 7, 18, 0, 0, 6567, 6568, - 7, 10, 0, 0, 6568, 6569, 7, 13, 0, 0, 6569, 1324, 1, 0, 0, 0, 6570, 6571, - 7, 10, 0, 0, 6571, 6572, 7, 7, 0, 0, 6572, 6573, 7, 14, 0, 0, 6573, 6574, - 7, 19, 0, 0, 6574, 6575, 7, 12, 0, 0, 6575, 6576, 7, 10, 0, 0, 6576, 1326, - 1, 0, 0, 0, 6577, 6578, 7, 12, 0, 0, 6578, 6579, 7, 17, 0, 0, 6579, 6580, - 7, 9, 0, 0, 6580, 6581, 7, 16, 0, 0, 6581, 6582, 7, 21, 0, 0, 6582, 6583, - 7, 10, 0, 0, 6583, 6584, 7, 8, 0, 0, 6584, 1328, 1, 0, 0, 0, 6585, 6586, - 7, 9, 0, 0, 6586, 6587, 7, 19, 0, 0, 6587, 6588, 7, 13, 0, 0, 6588, 6589, - 7, 16, 0, 0, 6589, 6590, 7, 21, 0, 0, 6590, 6591, 7, 10, 0, 0, 6591, 6592, - 7, 8, 0, 0, 6592, 1330, 1, 0, 0, 0, 6593, 6594, 7, 14, 0, 0, 6594, 6595, - 7, 5, 0, 0, 6595, 6596, 7, 9, 0, 0, 6596, 6597, 7, 10, 0, 0, 6597, 6598, - 5, 95, 0, 0, 6598, 6599, 7, 9, 0, 0, 6599, 6600, 7, 10, 0, 0, 6600, 6601, - 7, 7, 0, 0, 6601, 6602, 7, 9, 0, 0, 6602, 6603, 7, 17, 0, 0, 6603, 6604, - 7, 16, 0, 0, 6604, 6605, 7, 17, 0, 0, 6605, 6606, 7, 27, 0, 0, 6606, 6607, - 7, 10, 0, 0, 6607, 1332, 1, 0, 0, 0, 6608, 6609, 7, 14, 0, 0, 6609, 6610, - 7, 5, 0, 0, 6610, 6611, 7, 9, 0, 0, 6611, 6612, 7, 10, 0, 0, 6612, 6613, - 5, 95, 0, 0, 6613, 6614, 7, 17, 0, 0, 6614, 6615, 7, 7, 0, 0, 6615, 6616, - 7, 9, 0, 0, 6616, 6617, 7, 10, 0, 0, 6617, 6618, 7, 7, 0, 0, 6618, 6619, - 7, 9, 0, 0, 6619, 6620, 7, 17, 0, 0, 6620, 6621, 7, 16, 0, 0, 6621, 6622, - 7, 17, 0, 0, 6622, 6623, 7, 27, 0, 0, 6623, 6624, 7, 10, 0, 0, 6624, 1334, - 1, 0, 0, 0, 6625, 6626, 7, 30, 0, 0, 6626, 6627, 7, 9, 0, 0, 6627, 6628, - 7, 19, 0, 0, 6628, 6629, 7, 7, 0, 0, 6629, 6630, 5, 95, 0, 0, 6630, 6631, - 7, 5, 0, 0, 6631, 6632, 7, 13, 0, 0, 6632, 6633, 7, 13, 0, 0, 6633, 6634, - 7, 5, 0, 0, 6634, 6635, 7, 8, 0, 0, 6635, 6636, 7, 5, 0, 0, 6636, 6637, - 7, 23, 0, 0, 6637, 6638, 7, 23, 0, 0, 6638, 1336, 1, 0, 0, 0, 6639, 6640, - 7, 30, 0, 0, 6640, 6641, 7, 9, 0, 0, 6641, 6642, 7, 19, 0, 0, 6642, 6643, - 7, 7, 0, 0, 6643, 6644, 5, 95, 0, 0, 6644, 6645, 7, 19, 0, 0, 6645, 6646, - 7, 18, 0, 0, 6646, 6647, 7, 30, 0, 0, 6647, 6648, 7, 10, 0, 0, 6648, 6649, - 7, 14, 0, 0, 6649, 6650, 7, 16, 0, 0, 6650, 6651, 7, 5, 0, 0, 6651, 6652, - 7, 23, 0, 0, 6652, 6653, 7, 23, 0, 0, 6653, 1338, 1, 0, 0, 0, 6654, 6658, - 3, 1341, 668, 0, 6655, 6657, 3, 1343, 669, 0, 6656, 6655, 1, 0, 0, 0, 6657, - 6660, 1, 0, 0, 0, 6658, 6656, 1, 0, 0, 0, 6658, 6659, 1, 0, 0, 0, 6659, - 1340, 1, 0, 0, 0, 6660, 6658, 1, 0, 0, 0, 6661, 6668, 7, 31, 0, 0, 6662, - 6663, 7, 32, 0, 0, 6663, 6668, 4, 668, 6, 0, 6664, 6665, 7, 33, 0, 0, 6665, - 6666, 7, 34, 0, 0, 6666, 6668, 4, 668, 7, 0, 6667, 6661, 1, 0, 0, 0, 6667, - 6662, 1, 0, 0, 0, 6667, 6664, 1, 0, 0, 0, 6668, 1342, 1, 0, 0, 0, 6669, - 6672, 3, 1345, 670, 0, 6670, 6672, 5, 36, 0, 0, 6671, 6669, 1, 0, 0, 0, - 6671, 6670, 1, 0, 0, 0, 6672, 1344, 1, 0, 0, 0, 6673, 6676, 3, 1341, 668, - 0, 6674, 6676, 7, 0, 0, 0, 6675, 6673, 1, 0, 0, 0, 6675, 6674, 1, 0, 0, - 0, 6676, 1346, 1, 0, 0, 0, 6677, 6678, 3, 1349, 672, 0, 6678, 6679, 5, - 34, 0, 0, 6679, 1348, 1, 0, 0, 0, 6680, 6686, 5, 34, 0, 0, 6681, 6682, - 5, 34, 0, 0, 6682, 6685, 5, 34, 0, 0, 6683, 6685, 8, 35, 0, 0, 6684, 6681, - 1, 0, 0, 0, 6684, 6683, 1, 0, 0, 0, 6685, 6688, 1, 0, 0, 0, 6686, 6684, - 1, 0, 0, 0, 6686, 6687, 1, 0, 0, 0, 6687, 1350, 1, 0, 0, 0, 6688, 6686, - 1, 0, 0, 0, 6689, 6690, 3, 1353, 674, 0, 6690, 6691, 5, 34, 0, 0, 6691, - 1352, 1, 0, 0, 0, 6692, 6698, 5, 34, 0, 0, 6693, 6694, 5, 34, 0, 0, 6694, - 6697, 5, 34, 0, 0, 6695, 6697, 8, 36, 0, 0, 6696, 6693, 1, 0, 0, 0, 6696, - 6695, 1, 0, 0, 0, 6697, 6700, 1, 0, 0, 0, 6698, 6696, 1, 0, 0, 0, 6698, - 6699, 1, 0, 0, 0, 6699, 1354, 1, 0, 0, 0, 6700, 6698, 1, 0, 0, 0, 6701, - 6702, 7, 22, 0, 0, 6702, 6703, 5, 38, 0, 0, 6703, 6704, 3, 1347, 671, 0, - 6704, 1356, 1, 0, 0, 0, 6705, 6706, 7, 22, 0, 0, 6706, 6707, 5, 38, 0, - 0, 6707, 6708, 3, 1349, 672, 0, 6708, 1358, 1, 0, 0, 0, 6709, 6710, 7, - 22, 0, 0, 6710, 6711, 5, 38, 0, 0, 6711, 6712, 3, 1351, 673, 0, 6712, 1360, - 1, 0, 0, 0, 6713, 6714, 7, 22, 0, 0, 6714, 6715, 5, 38, 0, 0, 6715, 6716, - 3, 1353, 674, 0, 6716, 1362, 1, 0, 0, 0, 6717, 6718, 3, 1365, 680, 0, 6718, - 6719, 5, 39, 0, 0, 6719, 1364, 1, 0, 0, 0, 6720, 6726, 5, 39, 0, 0, 6721, - 6722, 5, 39, 0, 0, 6722, 6725, 5, 39, 0, 0, 6723, 6725, 8, 37, 0, 0, 6724, - 6721, 1, 0, 0, 0, 6724, 6723, 1, 0, 0, 0, 6725, 6728, 1, 0, 0, 0, 6726, - 6724, 1, 0, 0, 0, 6726, 6727, 1, 0, 0, 0, 6727, 1366, 1, 0, 0, 0, 6728, - 6726, 1, 0, 0, 0, 6729, 6730, 7, 10, 0, 0, 6730, 6731, 5, 39, 0, 0, 6731, - 6732, 1, 0, 0, 0, 6732, 6733, 6, 681, 2, 0, 6733, 6734, 6, 681, 3, 0, 6734, - 1368, 1, 0, 0, 0, 6735, 6736, 3, 1371, 683, 0, 6736, 6737, 5, 39, 0, 0, - 6737, 1370, 1, 0, 0, 0, 6738, 6739, 7, 22, 0, 0, 6739, 6740, 5, 38, 0, - 0, 6740, 6741, 3, 1365, 680, 0, 6741, 1372, 1, 0, 0, 0, 6742, 6744, 5, - 36, 0, 0, 6743, 6745, 3, 1375, 685, 0, 6744, 6743, 1, 0, 0, 0, 6744, 6745, - 1, 0, 0, 0, 6745, 6746, 1, 0, 0, 0, 6746, 6747, 5, 36, 0, 0, 6747, 6748, - 6, 684, 4, 0, 6748, 6749, 1, 0, 0, 0, 6749, 6750, 6, 684, 5, 0, 6750, 1374, - 1, 0, 0, 0, 6751, 6755, 3, 1341, 668, 0, 6752, 6754, 3, 1345, 670, 0, 6753, - 6752, 1, 0, 0, 0, 6754, 6757, 1, 0, 0, 0, 6755, 6753, 1, 0, 0, 0, 6755, - 6756, 1, 0, 0, 0, 6756, 1376, 1, 0, 0, 0, 6757, 6755, 1, 0, 0, 0, 6758, - 6759, 3, 1379, 687, 0, 6759, 6760, 5, 39, 0, 0, 6760, 1378, 1, 0, 0, 0, - 6761, 6762, 7, 18, 0, 0, 6762, 6766, 5, 39, 0, 0, 6763, 6765, 7, 38, 0, - 0, 6764, 6763, 1, 0, 0, 0, 6765, 6768, 1, 0, 0, 0, 6766, 6764, 1, 0, 0, - 0, 6766, 6767, 1, 0, 0, 0, 6767, 1380, 1, 0, 0, 0, 6768, 6766, 1, 0, 0, - 0, 6769, 6770, 3, 1383, 689, 0, 6770, 6771, 5, 39, 0, 0, 6771, 1382, 1, - 0, 0, 0, 6772, 6773, 7, 18, 0, 0, 6773, 6774, 3, 1365, 680, 0, 6774, 1384, - 1, 0, 0, 0, 6775, 6776, 3, 1387, 691, 0, 6776, 6777, 5, 39, 0, 0, 6777, - 1386, 1, 0, 0, 0, 6778, 6779, 7, 26, 0, 0, 6779, 6783, 5, 39, 0, 0, 6780, - 6782, 7, 39, 0, 0, 6781, 6780, 1, 0, 0, 0, 6782, 6785, 1, 0, 0, 0, 6783, - 6781, 1, 0, 0, 0, 6783, 6784, 1, 0, 0, 0, 6784, 1388, 1, 0, 0, 0, 6785, - 6783, 1, 0, 0, 0, 6786, 6787, 3, 1391, 693, 0, 6787, 6788, 5, 39, 0, 0, - 6788, 1390, 1, 0, 0, 0, 6789, 6790, 7, 26, 0, 0, 6790, 6791, 3, 1365, 680, - 0, 6791, 1392, 1, 0, 0, 0, 6792, 6793, 3, 1399, 697, 0, 6793, 1394, 1, - 0, 0, 0, 6794, 6795, 3, 1399, 697, 0, 6795, 6796, 5, 46, 0, 0, 6796, 6797, - 5, 46, 0, 0, 6797, 6798, 1, 0, 0, 0, 6798, 6799, 6, 695, 6, 0, 6799, 1396, - 1, 0, 0, 0, 6800, 6801, 3, 1399, 697, 0, 6801, 6803, 5, 46, 0, 0, 6802, - 6804, 3, 1399, 697, 0, 6803, 6802, 1, 0, 0, 0, 6803, 6804, 1, 0, 0, 0, - 6804, 6810, 1, 0, 0, 0, 6805, 6807, 7, 10, 0, 0, 6806, 6808, 7, 1, 0, 0, - 6807, 6806, 1, 0, 0, 0, 6807, 6808, 1, 0, 0, 0, 6808, 6809, 1, 0, 0, 0, - 6809, 6811, 3, 1399, 697, 0, 6810, 6805, 1, 0, 0, 0, 6810, 6811, 1, 0, - 0, 0, 6811, 6829, 1, 0, 0, 0, 6812, 6813, 5, 46, 0, 0, 6813, 6819, 3, 1399, - 697, 0, 6814, 6816, 7, 10, 0, 0, 6815, 6817, 7, 1, 0, 0, 6816, 6815, 1, - 0, 0, 0, 6816, 6817, 1, 0, 0, 0, 6817, 6818, 1, 0, 0, 0, 6818, 6820, 3, - 1399, 697, 0, 6819, 6814, 1, 0, 0, 0, 6819, 6820, 1, 0, 0, 0, 6820, 6829, - 1, 0, 0, 0, 6821, 6822, 3, 1399, 697, 0, 6822, 6824, 7, 10, 0, 0, 6823, - 6825, 7, 1, 0, 0, 6824, 6823, 1, 0, 0, 0, 6824, 6825, 1, 0, 0, 0, 6825, - 6826, 1, 0, 0, 0, 6826, 6827, 3, 1399, 697, 0, 6827, 6829, 1, 0, 0, 0, - 6828, 6800, 1, 0, 0, 0, 6828, 6812, 1, 0, 0, 0, 6828, 6821, 1, 0, 0, 0, - 6829, 1398, 1, 0, 0, 0, 6830, 6832, 7, 0, 0, 0, 6831, 6830, 1, 0, 0, 0, - 6832, 6833, 1, 0, 0, 0, 6833, 6831, 1, 0, 0, 0, 6833, 6834, 1, 0, 0, 0, - 6834, 1400, 1, 0, 0, 0, 6835, 6836, 5, 58, 0, 0, 6836, 6840, 7, 40, 0, - 0, 6837, 6839, 7, 41, 0, 0, 6838, 6837, 1, 0, 0, 0, 6839, 6842, 1, 0, 0, - 0, 6840, 6838, 1, 0, 0, 0, 6840, 6841, 1, 0, 0, 0, 6841, 1402, 1, 0, 0, - 0, 6842, 6840, 1, 0, 0, 0, 6843, 6844, 5, 58, 0, 0, 6844, 6845, 5, 34, - 0, 0, 6845, 6853, 1, 0, 0, 0, 6846, 6847, 5, 92, 0, 0, 6847, 6852, 9, 0, - 0, 0, 6848, 6849, 5, 34, 0, 0, 6849, 6852, 5, 34, 0, 0, 6850, 6852, 8, - 42, 0, 0, 6851, 6846, 1, 0, 0, 0, 6851, 6848, 1, 0, 0, 0, 6851, 6850, 1, - 0, 0, 0, 6852, 6855, 1, 0, 0, 0, 6853, 6851, 1, 0, 0, 0, 6853, 6854, 1, - 0, 0, 0, 6854, 6856, 1, 0, 0, 0, 6855, 6853, 1, 0, 0, 0, 6856, 6857, 5, - 34, 0, 0, 6857, 1404, 1, 0, 0, 0, 6858, 6859, 7, 43, 0, 0, 6859, 6860, - 1, 0, 0, 0, 6860, 6861, 6, 700, 7, 0, 6861, 1406, 1, 0, 0, 0, 6862, 6864, - 5, 13, 0, 0, 6863, 6865, 5, 10, 0, 0, 6864, 6863, 1, 0, 0, 0, 6864, 6865, - 1, 0, 0, 0, 6865, 6868, 1, 0, 0, 0, 6866, 6868, 5, 10, 0, 0, 6867, 6862, - 1, 0, 0, 0, 6867, 6866, 1, 0, 0, 0, 6868, 6869, 1, 0, 0, 0, 6869, 6870, - 6, 701, 7, 0, 6870, 1408, 1, 0, 0, 0, 6871, 6872, 5, 45, 0, 0, 6872, 6873, - 5, 45, 0, 0, 6873, 6877, 1, 0, 0, 0, 6874, 6876, 8, 44, 0, 0, 6875, 6874, - 1, 0, 0, 0, 6876, 6879, 1, 0, 0, 0, 6877, 6875, 1, 0, 0, 0, 6877, 6878, - 1, 0, 0, 0, 6878, 6880, 1, 0, 0, 0, 6879, 6877, 1, 0, 0, 0, 6880, 6881, - 6, 702, 7, 0, 6881, 1410, 1, 0, 0, 0, 6882, 6883, 5, 47, 0, 0, 6883, 6884, - 5, 42, 0, 0, 6884, 6907, 1, 0, 0, 0, 6885, 6887, 5, 47, 0, 0, 6886, 6885, - 1, 0, 0, 0, 6887, 6890, 1, 0, 0, 0, 6888, 6886, 1, 0, 0, 0, 6888, 6889, - 1, 0, 0, 0, 6889, 6891, 1, 0, 0, 0, 6890, 6888, 1, 0, 0, 0, 6891, 6906, - 3, 1411, 703, 0, 6892, 6906, 8, 45, 0, 0, 6893, 6895, 5, 47, 0, 0, 6894, - 6893, 1, 0, 0, 0, 6895, 6896, 1, 0, 0, 0, 6896, 6894, 1, 0, 0, 0, 6896, - 6897, 1, 0, 0, 0, 6897, 6898, 1, 0, 0, 0, 6898, 6906, 8, 45, 0, 0, 6899, - 6901, 5, 42, 0, 0, 6900, 6899, 1, 0, 0, 0, 6901, 6902, 1, 0, 0, 0, 6902, - 6900, 1, 0, 0, 0, 6902, 6903, 1, 0, 0, 0, 6903, 6904, 1, 0, 0, 0, 6904, - 6906, 8, 45, 0, 0, 6905, 6888, 1, 0, 0, 0, 6905, 6892, 1, 0, 0, 0, 6905, - 6894, 1, 0, 0, 0, 6905, 6900, 1, 0, 0, 0, 6906, 6909, 1, 0, 0, 0, 6907, - 6905, 1, 0, 0, 0, 6907, 6908, 1, 0, 0, 0, 6908, 6913, 1, 0, 0, 0, 6909, - 6907, 1, 0, 0, 0, 6910, 6912, 5, 42, 0, 0, 6911, 6910, 1, 0, 0, 0, 6912, - 6915, 1, 0, 0, 0, 6913, 6911, 1, 0, 0, 0, 6913, 6914, 1, 0, 0, 0, 6914, - 6916, 1, 0, 0, 0, 6915, 6913, 1, 0, 0, 0, 6916, 6917, 5, 42, 0, 0, 6917, - 6918, 5, 47, 0, 0, 6918, 6919, 1, 0, 0, 0, 6919, 6920, 6, 703, 7, 0, 6920, - 1412, 1, 0, 0, 0, 6921, 6922, 5, 47, 0, 0, 6922, 6923, 5, 42, 0, 0, 6923, - 6948, 1, 0, 0, 0, 6924, 6926, 5, 47, 0, 0, 6925, 6924, 1, 0, 0, 0, 6926, - 6929, 1, 0, 0, 0, 6927, 6925, 1, 0, 0, 0, 6927, 6928, 1, 0, 0, 0, 6928, - 6930, 1, 0, 0, 0, 6929, 6927, 1, 0, 0, 0, 6930, 6947, 3, 1411, 703, 0, - 6931, 6947, 8, 45, 0, 0, 6932, 6934, 5, 47, 0, 0, 6933, 6932, 1, 0, 0, - 0, 6934, 6935, 1, 0, 0, 0, 6935, 6933, 1, 0, 0, 0, 6935, 6936, 1, 0, 0, - 0, 6936, 6937, 1, 0, 0, 0, 6937, 6945, 8, 45, 0, 0, 6938, 6940, 5, 42, - 0, 0, 6939, 6938, 1, 0, 0, 0, 6940, 6941, 1, 0, 0, 0, 6941, 6939, 1, 0, - 0, 0, 6941, 6942, 1, 0, 0, 0, 6942, 6943, 1, 0, 0, 0, 6943, 6945, 8, 45, - 0, 0, 6944, 6933, 1, 0, 0, 0, 6944, 6939, 1, 0, 0, 0, 6945, 6947, 1, 0, - 0, 0, 6946, 6927, 1, 0, 0, 0, 6946, 6931, 1, 0, 0, 0, 6946, 6944, 1, 0, - 0, 0, 6947, 6950, 1, 0, 0, 0, 6948, 6946, 1, 0, 0, 0, 6948, 6949, 1, 0, - 0, 0, 6949, 6968, 1, 0, 0, 0, 6950, 6948, 1, 0, 0, 0, 6951, 6953, 5, 47, - 0, 0, 6952, 6951, 1, 0, 0, 0, 6953, 6954, 1, 0, 0, 0, 6954, 6952, 1, 0, - 0, 0, 6954, 6955, 1, 0, 0, 0, 6955, 6969, 1, 0, 0, 0, 6956, 6958, 5, 42, - 0, 0, 6957, 6956, 1, 0, 0, 0, 6958, 6959, 1, 0, 0, 0, 6959, 6957, 1, 0, - 0, 0, 6959, 6960, 1, 0, 0, 0, 6960, 6969, 1, 0, 0, 0, 6961, 6963, 5, 47, - 0, 0, 6962, 6961, 1, 0, 0, 0, 6963, 6966, 1, 0, 0, 0, 6964, 6962, 1, 0, - 0, 0, 6964, 6965, 1, 0, 0, 0, 6965, 6967, 1, 0, 0, 0, 6966, 6964, 1, 0, - 0, 0, 6967, 6969, 3, 1413, 704, 0, 6968, 6952, 1, 0, 0, 0, 6968, 6957, - 1, 0, 0, 0, 6968, 6964, 1, 0, 0, 0, 6968, 6969, 1, 0, 0, 0, 6969, 6970, - 1, 0, 0, 0, 6970, 6971, 6, 704, 8, 0, 6971, 1414, 1, 0, 0, 0, 6972, 6984, - 5, 92, 0, 0, 6973, 6983, 8, 46, 0, 0, 6974, 6978, 5, 34, 0, 0, 6975, 6977, - 8, 47, 0, 0, 6976, 6975, 1, 0, 0, 0, 6977, 6980, 1, 0, 0, 0, 6978, 6976, - 1, 0, 0, 0, 6978, 6979, 1, 0, 0, 0, 6979, 6981, 1, 0, 0, 0, 6980, 6978, - 1, 0, 0, 0, 6981, 6983, 5, 34, 0, 0, 6982, 6973, 1, 0, 0, 0, 6982, 6974, - 1, 0, 0, 0, 6983, 6986, 1, 0, 0, 0, 6984, 6982, 1, 0, 0, 0, 6984, 6985, - 1, 0, 0, 0, 6985, 6994, 1, 0, 0, 0, 6986, 6984, 1, 0, 0, 0, 6987, 6991, - 5, 34, 0, 0, 6988, 6990, 8, 47, 0, 0, 6989, 6988, 1, 0, 0, 0, 6990, 6993, - 1, 0, 0, 0, 6991, 6989, 1, 0, 0, 0, 6991, 6992, 1, 0, 0, 0, 6992, 6995, - 1, 0, 0, 0, 6993, 6991, 1, 0, 0, 0, 6994, 6987, 1, 0, 0, 0, 6994, 6995, - 1, 0, 0, 0, 6995, 1416, 1, 0, 0, 0, 6996, 6997, 5, 92, 0, 0, 6997, 6998, - 5, 92, 0, 0, 6998, 1418, 1, 0, 0, 0, 6999, 7000, 9, 0, 0, 0, 7000, 1420, - 1, 0, 0, 0, 7001, 7002, 3, 1425, 710, 0, 7002, 7003, 5, 39, 0, 0, 7003, - 7004, 1, 0, 0, 0, 7004, 7005, 6, 708, 9, 0, 7005, 1422, 1, 0, 0, 0, 7006, - 7008, 3, 1425, 710, 0, 7007, 7009, 5, 92, 0, 0, 7008, 7007, 1, 0, 0, 0, - 7008, 7009, 1, 0, 0, 0, 7009, 7010, 1, 0, 0, 0, 7010, 7011, 5, 0, 0, 1, - 7011, 1424, 1, 0, 0, 0, 7012, 7013, 5, 39, 0, 0, 7013, 7036, 5, 39, 0, - 0, 7014, 7032, 5, 92, 0, 0, 7015, 7016, 5, 120, 0, 0, 7016, 7033, 7, 39, - 0, 0, 7017, 7018, 5, 117, 0, 0, 7018, 7019, 7, 39, 0, 0, 7019, 7020, 7, - 39, 0, 0, 7020, 7021, 7, 39, 0, 0, 7021, 7033, 7, 39, 0, 0, 7022, 7023, - 5, 85, 0, 0, 7023, 7024, 7, 39, 0, 0, 7024, 7025, 7, 39, 0, 0, 7025, 7026, - 7, 39, 0, 0, 7026, 7027, 7, 39, 0, 0, 7027, 7028, 7, 39, 0, 0, 7028, 7029, - 7, 39, 0, 0, 7029, 7030, 7, 39, 0, 0, 7030, 7033, 7, 39, 0, 0, 7031, 7033, - 8, 48, 0, 0, 7032, 7015, 1, 0, 0, 0, 7032, 7017, 1, 0, 0, 0, 7032, 7022, - 1, 0, 0, 0, 7032, 7031, 1, 0, 0, 0, 7033, 7036, 1, 0, 0, 0, 7034, 7036, - 8, 49, 0, 0, 7035, 7012, 1, 0, 0, 0, 7035, 7014, 1, 0, 0, 0, 7035, 7034, - 1, 0, 0, 0, 7036, 7039, 1, 0, 0, 0, 7037, 7035, 1, 0, 0, 0, 7037, 7038, - 1, 0, 0, 0, 7038, 1426, 1, 0, 0, 0, 7039, 7037, 1, 0, 0, 0, 7040, 7041, - 3, 1431, 713, 0, 7041, 7042, 5, 39, 0, 0, 7042, 7043, 1, 0, 0, 0, 7043, - 7044, 6, 711, 9, 0, 7044, 1428, 1, 0, 0, 0, 7045, 7047, 3, 1431, 713, 0, - 7046, 7048, 5, 92, 0, 0, 7047, 7046, 1, 0, 0, 0, 7047, 7048, 1, 0, 0, 0, - 7048, 7049, 1, 0, 0, 0, 7049, 7050, 5, 0, 0, 1, 7050, 1430, 1, 0, 0, 0, - 7051, 7052, 5, 39, 0, 0, 7052, 7057, 5, 39, 0, 0, 7053, 7054, 5, 92, 0, - 0, 7054, 7057, 9, 0, 0, 0, 7055, 7057, 8, 49, 0, 0, 7056, 7051, 1, 0, 0, - 0, 7056, 7053, 1, 0, 0, 0, 7056, 7055, 1, 0, 0, 0, 7057, 7060, 1, 0, 0, - 0, 7058, 7056, 1, 0, 0, 0, 7058, 7059, 1, 0, 0, 0, 7059, 1432, 1, 0, 0, - 0, 7060, 7058, 1, 0, 0, 0, 7061, 7062, 3, 1405, 700, 0, 7062, 7063, 1, - 0, 0, 0, 7063, 7064, 6, 714, 10, 0, 7064, 7065, 6, 714, 7, 0, 7065, 1434, - 1, 0, 0, 0, 7066, 7067, 3, 1407, 701, 0, 7067, 7068, 1, 0, 0, 0, 7068, - 7069, 6, 715, 11, 0, 7069, 7070, 6, 715, 7, 0, 7070, 7071, 6, 715, 12, - 0, 7071, 1436, 1, 0, 0, 0, 7072, 7073, 6, 716, 13, 0, 7073, 7074, 1, 0, - 0, 0, 7074, 7075, 6, 716, 14, 0, 7075, 7076, 6, 716, 15, 0, 7076, 1438, - 1, 0, 0, 0, 7077, 7078, 3, 1405, 700, 0, 7078, 7079, 1, 0, 0, 0, 7079, - 7080, 6, 717, 10, 0, 7080, 7081, 6, 717, 7, 0, 7081, 1440, 1, 0, 0, 0, - 7082, 7083, 3, 1407, 701, 0, 7083, 7084, 1, 0, 0, 0, 7084, 7085, 6, 718, - 11, 0, 7085, 7086, 6, 718, 7, 0, 7086, 1442, 1, 0, 0, 0, 7087, 7088, 5, - 39, 0, 0, 7088, 7089, 1, 0, 0, 0, 7089, 7090, 6, 719, 2, 0, 7090, 7091, - 6, 719, 16, 0, 7091, 1444, 1, 0, 0, 0, 7092, 7093, 6, 720, 17, 0, 7093, - 7094, 1, 0, 0, 0, 7094, 7095, 6, 720, 14, 0, 7095, 7096, 6, 720, 15, 0, - 7096, 1446, 1, 0, 0, 0, 7097, 7099, 8, 50, 0, 0, 7098, 7097, 1, 0, 0, 0, - 7099, 7100, 1, 0, 0, 0, 7100, 7098, 1, 0, 0, 0, 7100, 7101, 1, 0, 0, 0, - 7101, 7110, 1, 0, 0, 0, 7102, 7106, 5, 36, 0, 0, 7103, 7105, 8, 50, 0, - 0, 7104, 7103, 1, 0, 0, 0, 7105, 7108, 1, 0, 0, 0, 7106, 7104, 1, 0, 0, - 0, 7106, 7107, 1, 0, 0, 0, 7107, 7110, 1, 0, 0, 0, 7108, 7106, 1, 0, 0, - 0, 7109, 7098, 1, 0, 0, 0, 7109, 7102, 1, 0, 0, 0, 7110, 1448, 1, 0, 0, - 0, 7111, 7113, 5, 36, 0, 0, 7112, 7114, 3, 1375, 685, 0, 7113, 7112, 1, - 0, 0, 0, 7113, 7114, 1, 0, 0, 0, 7114, 7115, 1, 0, 0, 0, 7115, 7116, 5, - 36, 0, 0, 7116, 7117, 1, 0, 0, 0, 7117, 7118, 4, 722, 8, 0, 7118, 7119, - 6, 722, 18, 0, 7119, 7120, 1, 0, 0, 0, 7120, 7121, 6, 722, 15, 0, 7121, - 1450, 1, 0, 0, 0, 77, 0, 1, 2, 3, 4, 1518, 1524, 1526, 1531, 1535, 1537, - 1540, 1549, 1551, 1556, 1561, 1563, 6658, 6667, 6671, 6675, 6684, 6686, - 6696, 6698, 6724, 6726, 6744, 6755, 6766, 6783, 6803, 6807, 6810, 6816, - 6819, 6824, 6828, 6833, 6840, 6851, 6853, 6864, 6867, 6877, 6888, 6896, - 6902, 6905, 6907, 6913, 6927, 6935, 6941, 6944, 6946, 6948, 6954, 6959, - 6964, 6968, 6978, 6982, 6984, 6991, 6994, 7008, 7032, 7035, 7037, 7047, - 7056, 7058, 7100, 7106, 7109, 7113, 19, 1, 28, 0, 7, 29, 0, 3, 0, 0, 5, - 1, 0, 1, 684, 1, 5, 4, 0, 1, 695, 2, 0, 1, 0, 1, 704, 3, 2, 2, 0, 7, 691, - 0, 7, 692, 0, 2, 3, 0, 1, 716, 4, 6, 0, 0, 4, 0, 0, 2, 1, 0, 1, 720, 5, - 1, 722, 6, + 560, 1133, 561, 1135, 562, 1137, 0, 1139, 0, 1141, 0, 1143, 563, 1145, + 564, 1147, 565, 1149, 566, 1151, 567, 1153, 568, 1155, 569, 1157, 570, + 1159, 571, 1161, 572, 1163, 0, 1165, 573, 1167, 574, 1169, 575, 1171, 0, + 1173, 576, 1175, 577, 1177, 578, 1179, 579, 1181, 580, 1183, 581, 1185, + 582, 1187, 583, 1189, 584, 1191, 585, 1193, 586, 1195, 0, 1197, 587, 1199, + 588, 1201, 589, 1203, 590, 1205, 591, 1207, 592, 1209, 593, 1211, 594, + 1213, 595, 1215, 596, 1217, 597, 1219, 598, 1221, 0, 1223, 599, 1225, 600, + 1227, 0, 1229, 0, 1231, 0, 1233, 601, 1235, 0, 1237, 0, 1239, 605, 1241, + 602, 1243, 603, 1245, 604, 5, 0, 1, 2, 3, 4, 51, 2, 0, 65, 65, 97, 97, + 2, 0, 66, 66, 98, 98, 2, 0, 79, 79, 111, 111, 2, 0, 82, 82, 114, 114, 2, + 0, 84, 84, 116, 116, 2, 0, 83, 83, 115, 115, 2, 0, 69, 69, 101, 101, 2, + 0, 78, 78, 110, 110, 2, 0, 76, 76, 108, 108, 2, 0, 85, 85, 117, 117, 2, + 0, 67, 67, 99, 99, 2, 0, 73, 73, 105, 105, 2, 0, 68, 68, 100, 100, 2, 0, + 77, 77, 109, 109, 2, 0, 70, 70, 102, 102, 2, 0, 71, 71, 103, 103, 2, 0, + 87, 87, 119, 119, 2, 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, 2, 0, + 86, 86, 118, 118, 2, 0, 72, 72, 104, 104, 2, 0, 75, 75, 107, 107, 2, 0, + 80, 80, 112, 112, 2, 0, 88, 88, 120, 120, 2, 0, 74, 74, 106, 106, 2, 0, + 81, 81, 113, 113, 1, 0, 48, 57, 2, 0, 43, 43, 45, 45, 9, 0, 33, 33, 35, + 35, 37, 38, 42, 42, 60, 64, 94, 94, 96, 96, 124, 124, 126, 126, 2, 0, 42, + 43, 60, 62, 8, 0, 33, 33, 35, 35, 37, 38, 63, 64, 94, 94, 96, 96, 124, + 124, 126, 126, 9, 0, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 186, + 186, 192, 214, 216, 246, 248, 255, 2, 0, 256, 55295, 57344, 65535, 1, 0, + 55296, 56319, 1, 0, 56320, 57343, 2, 0, 0, 0, 34, 34, 1, 0, 34, 34, 1, + 0, 39, 39, 1, 0, 48, 49, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 65, 90, 95, + 95, 97, 122, 5, 0, 36, 36, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 34, 34, + 92, 92, 2, 0, 9, 9, 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 42, 42, 47, 47, + 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, + 0, 85, 85, 117, 117, 120, 120, 2, 0, 39, 39, 92, 92, 1, 0, 36, 36, 6066, + 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, + 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, + 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, + 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, + 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, + 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, + 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, + 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, + 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, + 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, + 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, + 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, + 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, + 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, + 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, + 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, + 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, + 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, + 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, + 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, + 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, + 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, + 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, + 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, + 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, + 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, + 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, + 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, + 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, + 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, + 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, + 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, + 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, + 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, + 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, + 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, + 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, + 277, 1, 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, 0, 283, 1, 0, + 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 0, 291, + 1, 0, 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, 1, 0, 0, 0, + 0, 299, 1, 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, 0, 305, 1, + 0, 0, 0, 0, 307, 1, 0, 0, 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, 0, 0, 0, + 313, 1, 0, 0, 0, 0, 315, 1, 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, 1, 0, + 0, 0, 0, 321, 1, 0, 0, 0, 0, 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, 0, 327, + 1, 0, 0, 0, 0, 329, 1, 0, 0, 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, 0, 0, + 0, 335, 1, 0, 0, 0, 0, 337, 1, 0, 0, 0, 0, 339, 1, 0, 0, 0, 0, 341, 1, + 0, 0, 0, 0, 343, 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, 347, 1, 0, 0, 0, 0, + 349, 1, 0, 0, 0, 0, 351, 1, 0, 0, 0, 0, 353, 1, 0, 0, 0, 0, 355, 1, 0, + 0, 0, 0, 357, 1, 0, 0, 0, 0, 359, 1, 0, 0, 0, 0, 361, 1, 0, 0, 0, 0, 363, + 1, 0, 0, 0, 0, 365, 1, 0, 0, 0, 0, 367, 1, 0, 0, 0, 0, 369, 1, 0, 0, 0, + 0, 371, 1, 0, 0, 0, 0, 373, 1, 0, 0, 0, 0, 375, 1, 0, 0, 0, 0, 377, 1, + 0, 0, 0, 0, 379, 1, 0, 0, 0, 0, 381, 1, 0, 0, 0, 0, 383, 1, 0, 0, 0, 0, + 385, 1, 0, 0, 0, 0, 387, 1, 0, 0, 0, 0, 389, 1, 0, 0, 0, 0, 391, 1, 0, + 0, 0, 0, 393, 1, 0, 0, 0, 0, 395, 1, 0, 0, 0, 0, 397, 1, 0, 0, 0, 0, 399, + 1, 0, 0, 0, 0, 401, 1, 0, 0, 0, 0, 403, 1, 0, 0, 0, 0, 405, 1, 0, 0, 0, + 0, 407, 1, 0, 0, 0, 0, 409, 1, 0, 0, 0, 0, 411, 1, 0, 0, 0, 0, 413, 1, + 0, 0, 0, 0, 415, 1, 0, 0, 0, 0, 417, 1, 0, 0, 0, 0, 419, 1, 0, 0, 0, 0, + 421, 1, 0, 0, 0, 0, 423, 1, 0, 0, 0, 0, 425, 1, 0, 0, 0, 0, 427, 1, 0, + 0, 0, 0, 429, 1, 0, 0, 0, 0, 431, 1, 0, 0, 0, 0, 433, 1, 0, 0, 0, 0, 435, + 1, 0, 0, 0, 0, 437, 1, 0, 0, 0, 0, 439, 1, 0, 0, 0, 0, 441, 1, 0, 0, 0, + 0, 443, 1, 0, 0, 0, 0, 445, 1, 0, 0, 0, 0, 447, 1, 0, 0, 0, 0, 449, 1, + 0, 0, 0, 0, 451, 1, 0, 0, 0, 0, 453, 1, 0, 0, 0, 0, 455, 1, 0, 0, 0, 0, + 457, 1, 0, 0, 0, 0, 459, 1, 0, 0, 0, 0, 461, 1, 0, 0, 0, 0, 463, 1, 0, + 0, 0, 0, 465, 1, 0, 0, 0, 0, 467, 1, 0, 0, 0, 0, 469, 1, 0, 0, 0, 0, 471, + 1, 0, 0, 0, 0, 473, 1, 0, 0, 0, 0, 475, 1, 0, 0, 0, 0, 477, 1, 0, 0, 0, + 0, 479, 1, 0, 0, 0, 0, 481, 1, 0, 0, 0, 0, 483, 1, 0, 0, 0, 0, 485, 1, + 0, 0, 0, 0, 487, 1, 0, 0, 0, 0, 489, 1, 0, 0, 0, 0, 491, 1, 0, 0, 0, 0, + 493, 1, 0, 0, 0, 0, 495, 1, 0, 0, 0, 0, 497, 1, 0, 0, 0, 0, 499, 1, 0, + 0, 0, 0, 501, 1, 0, 0, 0, 0, 503, 1, 0, 0, 0, 0, 505, 1, 0, 0, 0, 0, 507, + 1, 0, 0, 0, 0, 509, 1, 0, 0, 0, 0, 511, 1, 0, 0, 0, 0, 513, 1, 0, 0, 0, + 0, 515, 1, 0, 0, 0, 0, 517, 1, 0, 0, 0, 0, 519, 1, 0, 0, 0, 0, 521, 1, + 0, 0, 0, 0, 523, 1, 0, 0, 0, 0, 525, 1, 0, 0, 0, 0, 527, 1, 0, 0, 0, 0, + 529, 1, 0, 0, 0, 0, 531, 1, 0, 0, 0, 0, 533, 1, 0, 0, 0, 0, 535, 1, 0, + 0, 0, 0, 537, 1, 0, 0, 0, 0, 539, 1, 0, 0, 0, 0, 541, 1, 0, 0, 0, 0, 543, + 1, 0, 0, 0, 0, 545, 1, 0, 0, 0, 0, 547, 1, 0, 0, 0, 0, 549, 1, 0, 0, 0, + 0, 551, 1, 0, 0, 0, 0, 553, 1, 0, 0, 0, 0, 555, 1, 0, 0, 0, 0, 557, 1, + 0, 0, 0, 0, 559, 1, 0, 0, 0, 0, 561, 1, 0, 0, 0, 0, 563, 1, 0, 0, 0, 0, + 565, 1, 0, 0, 0, 0, 567, 1, 0, 0, 0, 0, 569, 1, 0, 0, 0, 0, 571, 1, 0, + 0, 0, 0, 573, 1, 0, 0, 0, 0, 575, 1, 0, 0, 0, 0, 577, 1, 0, 0, 0, 0, 579, + 1, 0, 0, 0, 0, 581, 1, 0, 0, 0, 0, 583, 1, 0, 0, 0, 0, 585, 1, 0, 0, 0, + 0, 587, 1, 0, 0, 0, 0, 589, 1, 0, 0, 0, 0, 591, 1, 0, 0, 0, 0, 593, 1, + 0, 0, 0, 0, 595, 1, 0, 0, 0, 0, 597, 1, 0, 0, 0, 0, 599, 1, 0, 0, 0, 0, + 601, 1, 0, 0, 0, 0, 603, 1, 0, 0, 0, 0, 605, 1, 0, 0, 0, 0, 607, 1, 0, + 0, 0, 0, 609, 1, 0, 0, 0, 0, 611, 1, 0, 0, 0, 0, 613, 1, 0, 0, 0, 0, 615, + 1, 0, 0, 0, 0, 617, 1, 0, 0, 0, 0, 619, 1, 0, 0, 0, 0, 621, 1, 0, 0, 0, + 0, 623, 1, 0, 0, 0, 0, 625, 1, 0, 0, 0, 0, 627, 1, 0, 0, 0, 0, 629, 1, + 0, 0, 0, 0, 631, 1, 0, 0, 0, 0, 633, 1, 0, 0, 0, 0, 635, 1, 0, 0, 0, 0, + 637, 1, 0, 0, 0, 0, 639, 1, 0, 0, 0, 0, 641, 1, 0, 0, 0, 0, 643, 1, 0, + 0, 0, 0, 645, 1, 0, 0, 0, 0, 647, 1, 0, 0, 0, 0, 649, 1, 0, 0, 0, 0, 651, + 1, 0, 0, 0, 0, 653, 1, 0, 0, 0, 0, 655, 1, 0, 0, 0, 0, 657, 1, 0, 0, 0, + 0, 659, 1, 0, 0, 0, 0, 661, 1, 0, 0, 0, 0, 663, 1, 0, 0, 0, 0, 665, 1, + 0, 0, 0, 0, 667, 1, 0, 0, 0, 0, 669, 1, 0, 0, 0, 0, 671, 1, 0, 0, 0, 0, + 673, 1, 0, 0, 0, 0, 675, 1, 0, 0, 0, 0, 677, 1, 0, 0, 0, 0, 679, 1, 0, + 0, 0, 0, 681, 1, 0, 0, 0, 0, 683, 1, 0, 0, 0, 0, 685, 1, 0, 0, 0, 0, 687, + 1, 0, 0, 0, 0, 689, 1, 0, 0, 0, 0, 691, 1, 0, 0, 0, 0, 693, 1, 0, 0, 0, + 0, 695, 1, 0, 0, 0, 0, 697, 1, 0, 0, 0, 0, 699, 1, 0, 0, 0, 0, 701, 1, + 0, 0, 0, 0, 703, 1, 0, 0, 0, 0, 705, 1, 0, 0, 0, 0, 707, 1, 0, 0, 0, 0, + 709, 1, 0, 0, 0, 0, 711, 1, 0, 0, 0, 0, 713, 1, 0, 0, 0, 0, 715, 1, 0, + 0, 0, 0, 717, 1, 0, 0, 0, 0, 719, 1, 0, 0, 0, 0, 721, 1, 0, 0, 0, 0, 723, + 1, 0, 0, 0, 0, 725, 1, 0, 0, 0, 0, 727, 1, 0, 0, 0, 0, 729, 1, 0, 0, 0, + 0, 731, 1, 0, 0, 0, 0, 733, 1, 0, 0, 0, 0, 735, 1, 0, 0, 0, 0, 737, 1, + 0, 0, 0, 0, 739, 1, 0, 0, 0, 0, 741, 1, 0, 0, 0, 0, 743, 1, 0, 0, 0, 0, + 745, 1, 0, 0, 0, 0, 747, 1, 0, 0, 0, 0, 749, 1, 0, 0, 0, 0, 751, 1, 0, + 0, 0, 0, 753, 1, 0, 0, 0, 0, 755, 1, 0, 0, 0, 0, 757, 1, 0, 0, 0, 0, 759, + 1, 0, 0, 0, 0, 761, 1, 0, 0, 0, 0, 763, 1, 0, 0, 0, 0, 765, 1, 0, 0, 0, + 0, 767, 1, 0, 0, 0, 0, 769, 1, 0, 0, 0, 0, 771, 1, 0, 0, 0, 0, 773, 1, + 0, 0, 0, 0, 775, 1, 0, 0, 0, 0, 777, 1, 0, 0, 0, 0, 779, 1, 0, 0, 0, 0, + 781, 1, 0, 0, 0, 0, 783, 1, 0, 0, 0, 0, 785, 1, 0, 0, 0, 0, 787, 1, 0, + 0, 0, 0, 789, 1, 0, 0, 0, 0, 791, 1, 0, 0, 0, 0, 793, 1, 0, 0, 0, 0, 795, + 1, 0, 0, 0, 0, 797, 1, 0, 0, 0, 0, 799, 1, 0, 0, 0, 0, 801, 1, 0, 0, 0, + 0, 803, 1, 0, 0, 0, 0, 805, 1, 0, 0, 0, 0, 807, 1, 0, 0, 0, 0, 809, 1, + 0, 0, 0, 0, 811, 1, 0, 0, 0, 0, 813, 1, 0, 0, 0, 0, 815, 1, 0, 0, 0, 0, + 817, 1, 0, 0, 0, 0, 819, 1, 0, 0, 0, 0, 821, 1, 0, 0, 0, 0, 823, 1, 0, + 0, 0, 0, 825, 1, 0, 0, 0, 0, 827, 1, 0, 0, 0, 0, 829, 1, 0, 0, 0, 0, 831, + 1, 0, 0, 0, 0, 833, 1, 0, 0, 0, 0, 835, 1, 0, 0, 0, 0, 837, 1, 0, 0, 0, + 0, 839, 1, 0, 0, 0, 0, 841, 1, 0, 0, 0, 0, 843, 1, 0, 0, 0, 0, 845, 1, + 0, 0, 0, 0, 847, 1, 0, 0, 0, 0, 849, 1, 0, 0, 0, 0, 851, 1, 0, 0, 0, 0, + 853, 1, 0, 0, 0, 0, 855, 1, 0, 0, 0, 0, 857, 1, 0, 0, 0, 0, 859, 1, 0, + 0, 0, 0, 861, 1, 0, 0, 0, 0, 863, 1, 0, 0, 0, 0, 865, 1, 0, 0, 0, 0, 867, + 1, 0, 0, 0, 0, 869, 1, 0, 0, 0, 0, 871, 1, 0, 0, 0, 0, 873, 1, 0, 0, 0, + 0, 875, 1, 0, 0, 0, 0, 877, 1, 0, 0, 0, 0, 879, 1, 0, 0, 0, 0, 881, 1, + 0, 0, 0, 0, 883, 1, 0, 0, 0, 0, 885, 1, 0, 0, 0, 0, 887, 1, 0, 0, 0, 0, + 889, 1, 0, 0, 0, 0, 891, 1, 0, 0, 0, 0, 893, 1, 0, 0, 0, 0, 895, 1, 0, + 0, 0, 0, 897, 1, 0, 0, 0, 0, 899, 1, 0, 0, 0, 0, 901, 1, 0, 0, 0, 0, 903, + 1, 0, 0, 0, 0, 905, 1, 0, 0, 0, 0, 907, 1, 0, 0, 0, 0, 909, 1, 0, 0, 0, + 0, 911, 1, 0, 0, 0, 0, 913, 1, 0, 0, 0, 0, 915, 1, 0, 0, 0, 0, 917, 1, + 0, 0, 0, 0, 919, 1, 0, 0, 0, 0, 921, 1, 0, 0, 0, 0, 923, 1, 0, 0, 0, 0, + 925, 1, 0, 0, 0, 0, 927, 1, 0, 0, 0, 0, 929, 1, 0, 0, 0, 0, 931, 1, 0, + 0, 0, 0, 933, 1, 0, 0, 0, 0, 935, 1, 0, 0, 0, 0, 937, 1, 0, 0, 0, 0, 939, + 1, 0, 0, 0, 0, 941, 1, 0, 0, 0, 0, 943, 1, 0, 0, 0, 0, 945, 1, 0, 0, 0, + 0, 947, 1, 0, 0, 0, 0, 949, 1, 0, 0, 0, 0, 951, 1, 0, 0, 0, 0, 953, 1, + 0, 0, 0, 0, 955, 1, 0, 0, 0, 0, 957, 1, 0, 0, 0, 0, 959, 1, 0, 0, 0, 0, + 961, 1, 0, 0, 0, 0, 963, 1, 0, 0, 0, 0, 965, 1, 0, 0, 0, 0, 967, 1, 0, + 0, 0, 0, 969, 1, 0, 0, 0, 0, 971, 1, 0, 0, 0, 0, 973, 1, 0, 0, 0, 0, 975, + 1, 0, 0, 0, 0, 977, 1, 0, 0, 0, 0, 979, 1, 0, 0, 0, 0, 981, 1, 0, 0, 0, + 0, 983, 1, 0, 0, 0, 0, 985, 1, 0, 0, 0, 0, 987, 1, 0, 0, 0, 0, 989, 1, + 0, 0, 0, 0, 991, 1, 0, 0, 0, 0, 993, 1, 0, 0, 0, 0, 995, 1, 0, 0, 0, 0, + 997, 1, 0, 0, 0, 0, 999, 1, 0, 0, 0, 0, 1001, 1, 0, 0, 0, 0, 1003, 1, 0, + 0, 0, 0, 1005, 1, 0, 0, 0, 0, 1007, 1, 0, 0, 0, 0, 1009, 1, 0, 0, 0, 0, + 1011, 1, 0, 0, 0, 0, 1013, 1, 0, 0, 0, 0, 1015, 1, 0, 0, 0, 0, 1017, 1, + 0, 0, 0, 0, 1019, 1, 0, 0, 0, 0, 1021, 1, 0, 0, 0, 0, 1023, 1, 0, 0, 0, + 0, 1025, 1, 0, 0, 0, 0, 1027, 1, 0, 0, 0, 0, 1029, 1, 0, 0, 0, 0, 1031, + 1, 0, 0, 0, 0, 1033, 1, 0, 0, 0, 0, 1035, 1, 0, 0, 0, 0, 1037, 1, 0, 0, + 0, 0, 1039, 1, 0, 0, 0, 0, 1041, 1, 0, 0, 0, 0, 1043, 1, 0, 0, 0, 0, 1045, + 1, 0, 0, 0, 0, 1047, 1, 0, 0, 0, 0, 1049, 1, 0, 0, 0, 0, 1051, 1, 0, 0, + 0, 0, 1059, 1, 0, 0, 0, 0, 1061, 1, 0, 0, 0, 0, 1063, 1, 0, 0, 0, 0, 1065, + 1, 0, 0, 0, 0, 1067, 1, 0, 0, 0, 0, 1069, 1, 0, 0, 0, 0, 1071, 1, 0, 0, + 0, 0, 1073, 1, 0, 0, 0, 0, 1075, 1, 0, 0, 0, 0, 1077, 1, 0, 0, 0, 0, 1079, + 1, 0, 0, 0, 0, 1081, 1, 0, 0, 0, 0, 1083, 1, 0, 0, 0, 0, 1085, 1, 0, 0, + 0, 0, 1087, 1, 0, 0, 0, 0, 1089, 1, 0, 0, 0, 0, 1091, 1, 0, 0, 0, 0, 1093, + 1, 0, 0, 0, 0, 1095, 1, 0, 0, 0, 0, 1097, 1, 0, 0, 0, 0, 1099, 1, 0, 0, + 0, 0, 1101, 1, 0, 0, 0, 0, 1103, 1, 0, 0, 0, 0, 1105, 1, 0, 0, 0, 0, 1107, + 1, 0, 0, 0, 0, 1109, 1, 0, 0, 0, 0, 1111, 1, 0, 0, 0, 0, 1113, 1, 0, 0, + 0, 0, 1115, 1, 0, 0, 0, 0, 1117, 1, 0, 0, 0, 0, 1119, 1, 0, 0, 0, 0, 1121, + 1, 0, 0, 0, 0, 1123, 1, 0, 0, 0, 0, 1125, 1, 0, 0, 0, 0, 1127, 1, 0, 0, + 0, 0, 1129, 1, 0, 0, 0, 0, 1131, 1, 0, 0, 0, 0, 1133, 1, 0, 0, 0, 0, 1135, + 1, 0, 0, 0, 0, 1143, 1, 0, 0, 0, 0, 1145, 1, 0, 0, 0, 0, 1147, 1, 0, 0, + 0, 0, 1149, 1, 0, 0, 0, 0, 1151, 1, 0, 0, 0, 0, 1153, 1, 0, 0, 0, 0, 1155, + 1, 0, 0, 0, 0, 1157, 1, 0, 0, 0, 0, 1159, 1, 0, 0, 0, 0, 1161, 1, 0, 0, + 0, 0, 1163, 1, 0, 0, 0, 0, 1165, 1, 0, 0, 0, 0, 1167, 1, 0, 0, 0, 0, 1169, + 1, 0, 0, 0, 0, 1173, 1, 0, 0, 0, 0, 1175, 1, 0, 0, 0, 0, 1177, 1, 0, 0, + 0, 0, 1179, 1, 0, 0, 0, 0, 1181, 1, 0, 0, 0, 0, 1183, 1, 0, 0, 0, 0, 1185, + 1, 0, 0, 0, 0, 1187, 1, 0, 0, 0, 0, 1189, 1, 0, 0, 0, 0, 1191, 1, 0, 0, + 0, 0, 1193, 1, 0, 0, 0, 0, 1197, 1, 0, 0, 0, 0, 1199, 1, 0, 0, 0, 0, 1201, + 1, 0, 0, 0, 0, 1203, 1, 0, 0, 0, 0, 1205, 1, 0, 0, 0, 0, 1207, 1, 0, 0, + 0, 0, 1209, 1, 0, 0, 0, 0, 1211, 1, 0, 0, 0, 0, 1213, 1, 0, 0, 0, 0, 1215, + 1, 0, 0, 0, 1, 1217, 1, 0, 0, 0, 1, 1219, 1, 0, 0, 0, 1, 1223, 1, 0, 0, + 0, 1, 1225, 1, 0, 0, 0, 2, 1229, 1, 0, 0, 0, 2, 1231, 1, 0, 0, 0, 2, 1233, + 1, 0, 0, 0, 3, 1235, 1, 0, 0, 0, 3, 1237, 1, 0, 0, 0, 3, 1239, 1, 0, 0, + 0, 3, 1241, 1, 0, 0, 0, 4, 1243, 1, 0, 0, 0, 4, 1245, 1, 0, 0, 0, 5, 1247, + 1, 0, 0, 0, 7, 1253, 1, 0, 0, 0, 9, 1260, 1, 0, 0, 0, 11, 1269, 1, 0, 0, + 0, 13, 1276, 1, 0, 0, 0, 15, 1283, 1, 0, 0, 0, 17, 1287, 1, 0, 0, 0, 19, + 1293, 1, 0, 0, 0, 21, 1299, 1, 0, 0, 0, 23, 1309, 1, 0, 0, 0, 25, 1313, + 1, 0, 0, 0, 27, 1318, 1, 0, 0, 0, 29, 1324, 1, 0, 0, 0, 31, 1331, 1, 0, + 0, 0, 33, 1339, 1, 0, 0, 0, 35, 1347, 1, 0, 0, 0, 37, 1351, 1, 0, 0, 0, + 39, 1355, 1, 0, 0, 0, 41, 1361, 1, 0, 0, 0, 43, 1364, 1, 0, 0, 0, 45, 1368, + 1, 0, 0, 0, 47, 1379, 1, 0, 0, 0, 49, 1389, 1, 0, 0, 0, 51, 1400, 1, 0, + 0, 0, 53, 1411, 1, 0, 0, 0, 55, 1414, 1, 0, 0, 0, 57, 1421, 1, 0, 0, 0, + 59, 1428, 1, 0, 0, 0, 61, 1438, 1, 0, 0, 0, 63, 1452, 1, 0, 0, 0, 65, 1461, + 1, 0, 0, 0, 67, 1468, 1, 0, 0, 0, 69, 1474, 1, 0, 0, 0, 71, 1482, 1, 0, + 0, 0, 73, 1489, 1, 0, 0, 0, 75, 1496, 1, 0, 0, 0, 77, 1500, 1, 0, 0, 0, + 79, 1508, 1, 0, 0, 0, 81, 1513, 1, 0, 0, 0, 83, 1521, 1, 0, 0, 0, 85, 1524, + 1, 0, 0, 0, 87, 1530, 1, 0, 0, 0, 89, 1535, 1, 0, 0, 0, 91, 1542, 1, 0, + 0, 0, 93, 1550, 1, 0, 0, 0, 95, 1559, 1, 0, 0, 0, 97, 1564, 1, 0, 0, 0, + 99, 1569, 1, 0, 0, 0, 101, 1577, 1, 0, 0, 0, 103, 1583, 1, 0, 0, 0, 105, + 1588, 1, 0, 0, 0, 107, 1598, 1, 0, 0, 0, 109, 1614, 1, 0, 0, 0, 111, 1620, + 1, 0, 0, 0, 113, 1631, 1, 0, 0, 0, 115, 1637, 1, 0, 0, 0, 117, 1643, 1, + 0, 0, 0, 119, 1651, 1, 0, 0, 0, 121, 1660, 1, 0, 0, 0, 123, 1668, 1, 0, + 0, 0, 125, 1678, 1, 0, 0, 0, 127, 1685, 1, 0, 0, 0, 129, 1693, 1, 0, 0, + 0, 131, 1701, 1, 0, 0, 0, 133, 1710, 1, 0, 0, 0, 135, 1717, 1, 0, 0, 0, + 137, 1727, 1, 0, 0, 0, 139, 1739, 1, 0, 0, 0, 141, 1752, 1, 0, 0, 0, 143, + 1764, 1, 0, 0, 0, 145, 1778, 1, 0, 0, 0, 147, 1787, 1, 0, 0, 0, 149, 1798, + 1, 0, 0, 0, 151, 1809, 1, 0, 0, 0, 153, 1821, 1, 0, 0, 0, 155, 1829, 1, + 0, 0, 0, 157, 1838, 1, 0, 0, 0, 159, 1849, 1, 0, 0, 0, 161, 1854, 1, 0, + 0, 0, 163, 1859, 1, 0, 0, 0, 165, 1866, 1, 0, 0, 0, 167, 1872, 1, 0, 0, + 0, 169, 1876, 1, 0, 0, 0, 171, 1881, 1, 0, 0, 0, 173, 1889, 1, 0, 0, 0, + 175, 1905, 1, 0, 0, 0, 177, 1918, 1, 0, 0, 0, 179, 1931, 1, 0, 0, 0, 181, + 1946, 1, 0, 0, 0, 183, 1959, 1, 0, 0, 0, 185, 1977, 1, 0, 0, 0, 187, 1990, + 1, 0, 0, 0, 189, 1997, 1, 0, 0, 0, 191, 2003, 1, 0, 0, 0, 193, 2008, 1, + 0, 0, 0, 195, 2017, 1, 0, 0, 0, 197, 2021, 1, 0, 0, 0, 199, 2032, 1, 0, + 0, 0, 201, 2036, 1, 0, 0, 0, 203, 2044, 1, 0, 0, 0, 205, 2052, 1, 0, 0, + 0, 207, 2060, 1, 0, 0, 0, 209, 2069, 1, 0, 0, 0, 211, 2080, 1, 0, 0, 0, + 213, 2089, 1, 0, 0, 0, 215, 2097, 1, 0, 0, 0, 217, 2104, 1, 0, 0, 0, 219, + 2114, 1, 0, 0, 0, 221, 2125, 1, 0, 0, 0, 223, 2133, 1, 0, 0, 0, 225, 2139, + 1, 0, 0, 0, 227, 2144, 1, 0, 0, 0, 229, 2151, 1, 0, 0, 0, 231, 2162, 1, + 0, 0, 0, 233, 2170, 1, 0, 0, 0, 235, 2178, 1, 0, 0, 0, 237, 2187, 1, 0, + 0, 0, 239, 2190, 1, 0, 0, 0, 241, 2199, 1, 0, 0, 0, 243, 2206, 1, 0, 0, + 0, 245, 2213, 1, 0, 0, 0, 247, 2218, 1, 0, 0, 0, 249, 2223, 1, 0, 0, 0, + 251, 2228, 1, 0, 0, 0, 253, 2234, 1, 0, 0, 0, 255, 2241, 1, 0, 0, 0, 257, + 2250, 1, 0, 0, 0, 259, 2260, 1, 0, 0, 0, 261, 2264, 1, 0, 0, 0, 263, 2273, + 1, 0, 0, 0, 265, 2278, 1, 0, 0, 0, 267, 2284, 1, 0, 0, 0, 269, 2291, 1, + 0, 0, 0, 271, 2297, 1, 0, 0, 0, 273, 2304, 1, 0, 0, 0, 275, 2312, 1, 0, + 0, 0, 277, 2322, 1, 0, 0, 0, 279, 2332, 1, 0, 0, 0, 281, 2340, 1, 0, 0, + 0, 283, 2347, 1, 0, 0, 0, 285, 2355, 1, 0, 0, 0, 287, 2366, 1, 0, 0, 0, + 289, 2376, 1, 0, 0, 0, 291, 2385, 1, 0, 0, 0, 293, 2393, 1, 0, 0, 0, 295, + 2399, 1, 0, 0, 0, 297, 2406, 1, 0, 0, 0, 299, 2412, 1, 0, 0, 0, 301, 2419, + 1, 0, 0, 0, 303, 2428, 1, 0, 0, 0, 305, 2434, 1, 0, 0, 0, 307, 2440, 1, + 0, 0, 0, 309, 2450, 1, 0, 0, 0, 311, 2454, 1, 0, 0, 0, 313, 2460, 1, 0, + 0, 0, 315, 2468, 1, 0, 0, 0, 317, 2475, 1, 0, 0, 0, 319, 2483, 1, 0, 0, + 0, 321, 2490, 1, 0, 0, 0, 323, 2495, 1, 0, 0, 0, 325, 2500, 1, 0, 0, 0, + 327, 2509, 1, 0, 0, 0, 329, 2519, 1, 0, 0, 0, 331, 2529, 1, 0, 0, 0, 333, + 2536, 1, 0, 0, 0, 335, 2542, 1, 0, 0, 0, 337, 2550, 1, 0, 0, 0, 339, 2559, + 1, 0, 0, 0, 341, 2565, 1, 0, 0, 0, 343, 2574, 1, 0, 0, 0, 345, 2581, 1, + 0, 0, 0, 347, 2589, 1, 0, 0, 0, 349, 2596, 1, 0, 0, 0, 351, 2603, 1, 0, + 0, 0, 353, 2608, 1, 0, 0, 0, 355, 2613, 1, 0, 0, 0, 357, 2622, 1, 0, 0, + 0, 359, 2625, 1, 0, 0, 0, 361, 2631, 1, 0, 0, 0, 363, 2641, 1, 0, 0, 0, + 365, 2651, 1, 0, 0, 0, 367, 2660, 1, 0, 0, 0, 369, 2667, 1, 0, 0, 0, 371, + 2670, 1, 0, 0, 0, 373, 2678, 1, 0, 0, 0, 375, 2688, 1, 0, 0, 0, 377, 2698, + 1, 0, 0, 0, 379, 2705, 1, 0, 0, 0, 381, 2711, 1, 0, 0, 0, 383, 2719, 1, + 0, 0, 0, 385, 2727, 1, 0, 0, 0, 387, 2736, 1, 0, 0, 0, 389, 2746, 1, 0, + 0, 0, 391, 2753, 1, 0, 0, 0, 393, 2759, 1, 0, 0, 0, 395, 2765, 1, 0, 0, + 0, 397, 2771, 1, 0, 0, 0, 399, 2783, 1, 0, 0, 0, 401, 2790, 1, 0, 0, 0, + 403, 2798, 1, 0, 0, 0, 405, 2802, 1, 0, 0, 0, 407, 2810, 1, 0, 0, 0, 409, + 2820, 1, 0, 0, 0, 411, 2829, 1, 0, 0, 0, 413, 2834, 1, 0, 0, 0, 415, 2842, + 1, 0, 0, 0, 417, 2845, 1, 0, 0, 0, 419, 2852, 1, 0, 0, 0, 421, 2862, 1, + 0, 0, 0, 423, 2867, 1, 0, 0, 0, 425, 2872, 1, 0, 0, 0, 427, 2883, 1, 0, + 0, 0, 429, 2897, 1, 0, 0, 0, 431, 2909, 1, 0, 0, 0, 433, 2921, 1, 0, 0, + 0, 435, 2936, 1, 0, 0, 0, 437, 2947, 1, 0, 0, 0, 439, 2959, 1, 0, 0, 0, + 441, 2974, 1, 0, 0, 0, 443, 2985, 1, 0, 0, 0, 445, 2996, 1, 0, 0, 0, 447, + 3001, 1, 0, 0, 0, 449, 3005, 1, 0, 0, 0, 451, 3010, 1, 0, 0, 0, 453, 3016, + 1, 0, 0, 0, 455, 3025, 1, 0, 0, 0, 457, 3031, 1, 0, 0, 0, 459, 3036, 1, + 0, 0, 0, 461, 3044, 1, 0, 0, 0, 463, 3052, 1, 0, 0, 0, 465, 3062, 1, 0, + 0, 0, 467, 3068, 1, 0, 0, 0, 469, 3073, 1, 0, 0, 0, 471, 3079, 1, 0, 0, + 0, 473, 3084, 1, 0, 0, 0, 475, 3090, 1, 0, 0, 0, 477, 3097, 1, 0, 0, 0, + 479, 3102, 1, 0, 0, 0, 481, 3108, 1, 0, 0, 0, 483, 3118, 1, 0, 0, 0, 485, + 3133, 1, 0, 0, 0, 487, 3142, 1, 0, 0, 0, 489, 3147, 1, 0, 0, 0, 491, 3154, + 1, 0, 0, 0, 493, 3161, 1, 0, 0, 0, 495, 3169, 1, 0, 0, 0, 497, 3175, 1, + 0, 0, 0, 499, 3183, 1, 0, 0, 0, 501, 3196, 1, 0, 0, 0, 503, 3205, 1, 0, + 0, 0, 505, 3211, 1, 0, 0, 0, 507, 3224, 1, 0, 0, 0, 509, 3231, 1, 0, 0, + 0, 511, 3238, 1, 0, 0, 0, 513, 3247, 1, 0, 0, 0, 515, 3252, 1, 0, 0, 0, + 517, 3258, 1, 0, 0, 0, 519, 3263, 1, 0, 0, 0, 521, 3268, 1, 0, 0, 0, 523, + 3274, 1, 0, 0, 0, 525, 3283, 1, 0, 0, 0, 527, 3291, 1, 0, 0, 0, 529, 3297, + 1, 0, 0, 0, 531, 3304, 1, 0, 0, 0, 533, 3308, 1, 0, 0, 0, 535, 3313, 1, + 0, 0, 0, 537, 3317, 1, 0, 0, 0, 539, 3321, 1, 0, 0, 0, 541, 3326, 1, 0, + 0, 0, 543, 3331, 1, 0, 0, 0, 545, 3334, 1, 0, 0, 0, 547, 3339, 1, 0, 0, + 0, 549, 3349, 1, 0, 0, 0, 551, 3360, 1, 0, 0, 0, 553, 3364, 1, 0, 0, 0, + 555, 3372, 1, 0, 0, 0, 557, 3379, 1, 0, 0, 0, 559, 3387, 1, 0, 0, 0, 561, + 3394, 1, 0, 0, 0, 563, 3399, 1, 0, 0, 0, 565, 3406, 1, 0, 0, 0, 567, 3412, + 1, 0, 0, 0, 569, 3420, 1, 0, 0, 0, 571, 3427, 1, 0, 0, 0, 573, 3435, 1, + 0, 0, 0, 575, 3438, 1, 0, 0, 0, 577, 3442, 1, 0, 0, 0, 579, 3449, 1, 0, + 0, 0, 581, 3454, 1, 0, 0, 0, 583, 3458, 1, 0, 0, 0, 585, 3463, 1, 0, 0, + 0, 587, 3466, 1, 0, 0, 0, 589, 3471, 1, 0, 0, 0, 591, 3480, 1, 0, 0, 0, + 593, 3487, 1, 0, 0, 0, 595, 3495, 1, 0, 0, 0, 597, 3498, 1, 0, 0, 0, 599, + 3504, 1, 0, 0, 0, 601, 3515, 1, 0, 0, 0, 603, 3522, 1, 0, 0, 0, 605, 3526, + 1, 0, 0, 0, 607, 3532, 1, 0, 0, 0, 609, 3537, 1, 0, 0, 0, 611, 3546, 1, + 0, 0, 0, 613, 3554, 1, 0, 0, 0, 615, 3565, 1, 0, 0, 0, 617, 3571, 1, 0, + 0, 0, 619, 3577, 1, 0, 0, 0, 621, 3586, 1, 0, 0, 0, 623, 3596, 1, 0, 0, + 0, 625, 3603, 1, 0, 0, 0, 627, 3611, 1, 0, 0, 0, 629, 3621, 1, 0, 0, 0, + 631, 3629, 1, 0, 0, 0, 633, 3638, 1, 0, 0, 0, 635, 3643, 1, 0, 0, 0, 637, + 3650, 1, 0, 0, 0, 639, 3658, 1, 0, 0, 0, 641, 3663, 1, 0, 0, 0, 643, 3669, + 1, 0, 0, 0, 645, 3676, 1, 0, 0, 0, 647, 3685, 1, 0, 0, 0, 649, 3695, 1, + 0, 0, 0, 651, 3705, 1, 0, 0, 0, 653, 3713, 1, 0, 0, 0, 655, 3722, 1, 0, + 0, 0, 657, 3731, 1, 0, 0, 0, 659, 3739, 1, 0, 0, 0, 661, 3745, 1, 0, 0, + 0, 663, 3756, 1, 0, 0, 0, 665, 3767, 1, 0, 0, 0, 667, 3777, 1, 0, 0, 0, + 669, 3788, 1, 0, 0, 0, 671, 3796, 1, 0, 0, 0, 673, 3808, 1, 0, 0, 0, 675, + 3814, 1, 0, 0, 0, 677, 3821, 1, 0, 0, 0, 679, 3827, 1, 0, 0, 0, 681, 3832, + 1, 0, 0, 0, 683, 3837, 1, 0, 0, 0, 685, 3846, 1, 0, 0, 0, 687, 3856, 1, + 0, 0, 0, 689, 3860, 1, 0, 0, 0, 691, 3871, 1, 0, 0, 0, 693, 3883, 1, 0, + 0, 0, 695, 3891, 1, 0, 0, 0, 697, 3899, 1, 0, 0, 0, 699, 3908, 1, 0, 0, + 0, 701, 3916, 1, 0, 0, 0, 703, 3923, 1, 0, 0, 0, 705, 3934, 1, 0, 0, 0, + 707, 3942, 1, 0, 0, 0, 709, 3950, 1, 0, 0, 0, 711, 3956, 1, 0, 0, 0, 713, + 3964, 1, 0, 0, 0, 715, 3973, 1, 0, 0, 0, 717, 3980, 1, 0, 0, 0, 719, 3990, + 1, 0, 0, 0, 721, 3998, 1, 0, 0, 0, 723, 4005, 1, 0, 0, 0, 725, 4011, 1, + 0, 0, 0, 727, 4016, 1, 0, 0, 0, 729, 4025, 1, 0, 0, 0, 731, 4032, 1, 0, + 0, 0, 733, 4040, 1, 0, 0, 0, 735, 4049, 1, 0, 0, 0, 737, 4053, 1, 0, 0, + 0, 739, 4058, 1, 0, 0, 0, 741, 4063, 1, 0, 0, 0, 743, 4073, 1, 0, 0, 0, + 745, 4080, 1, 0, 0, 0, 747, 4087, 1, 0, 0, 0, 749, 4095, 1, 0, 0, 0, 751, + 4102, 1, 0, 0, 0, 753, 4109, 1, 0, 0, 0, 755, 4116, 1, 0, 0, 0, 757, 4125, + 1, 0, 0, 0, 759, 4132, 1, 0, 0, 0, 761, 4141, 1, 0, 0, 0, 763, 4151, 1, + 0, 0, 0, 765, 4164, 1, 0, 0, 0, 767, 4171, 1, 0, 0, 0, 769, 4179, 1, 0, + 0, 0, 771, 4192, 1, 0, 0, 0, 773, 4196, 1, 0, 0, 0, 775, 4202, 1, 0, 0, + 0, 777, 4207, 1, 0, 0, 0, 779, 4213, 1, 0, 0, 0, 781, 4218, 1, 0, 0, 0, + 783, 4226, 1, 0, 0, 0, 785, 4233, 1, 0, 0, 0, 787, 4238, 1, 0, 0, 0, 789, + 4247, 1, 0, 0, 0, 791, 4256, 1, 0, 0, 0, 793, 4261, 1, 0, 0, 0, 795, 4268, + 1, 0, 0, 0, 797, 4272, 1, 0, 0, 0, 799, 4279, 1, 0, 0, 0, 801, 4290, 1, + 0, 0, 0, 803, 4296, 1, 0, 0, 0, 805, 4306, 1, 0, 0, 0, 807, 4317, 1, 0, + 0, 0, 809, 4323, 1, 0, 0, 0, 811, 4330, 1, 0, 0, 0, 813, 4338, 1, 0, 0, + 0, 815, 4345, 1, 0, 0, 0, 817, 4352, 1, 0, 0, 0, 819, 4359, 1, 0, 0, 0, + 821, 4365, 1, 0, 0, 0, 823, 4378, 1, 0, 0, 0, 825, 4388, 1, 0, 0, 0, 827, + 4396, 1, 0, 0, 0, 829, 4406, 1, 0, 0, 0, 831, 4412, 1, 0, 0, 0, 833, 4419, + 1, 0, 0, 0, 835, 4431, 1, 0, 0, 0, 837, 4437, 1, 0, 0, 0, 839, 4444, 1, + 0, 0, 0, 841, 4456, 1, 0, 0, 0, 843, 4467, 1, 0, 0, 0, 845, 4474, 1, 0, + 0, 0, 847, 4479, 1, 0, 0, 0, 849, 4488, 1, 0, 0, 0, 851, 4498, 1, 0, 0, + 0, 853, 4503, 1, 0, 0, 0, 855, 4508, 1, 0, 0, 0, 857, 4513, 1, 0, 0, 0, + 859, 4518, 1, 0, 0, 0, 861, 4528, 1, 0, 0, 0, 863, 4531, 1, 0, 0, 0, 865, + 4540, 1, 0, 0, 0, 867, 4552, 1, 0, 0, 0, 869, 4562, 1, 0, 0, 0, 871, 4568, + 1, 0, 0, 0, 873, 4576, 1, 0, 0, 0, 875, 4581, 1, 0, 0, 0, 877, 4586, 1, + 0, 0, 0, 879, 4595, 1, 0, 0, 0, 881, 4603, 1, 0, 0, 0, 883, 4608, 1, 0, + 0, 0, 885, 4614, 1, 0, 0, 0, 887, 4622, 1, 0, 0, 0, 889, 4632, 1, 0, 0, + 0, 891, 4644, 1, 0, 0, 0, 893, 4658, 1, 0, 0, 0, 895, 4670, 1, 0, 0, 0, + 897, 4676, 1, 0, 0, 0, 899, 4683, 1, 0, 0, 0, 901, 4691, 1, 0, 0, 0, 903, + 4700, 1, 0, 0, 0, 905, 4709, 1, 0, 0, 0, 907, 4715, 1, 0, 0, 0, 909, 4722, + 1, 0, 0, 0, 911, 4727, 1, 0, 0, 0, 913, 4733, 1, 0, 0, 0, 915, 4740, 1, + 0, 0, 0, 917, 4746, 1, 0, 0, 0, 919, 4755, 1, 0, 0, 0, 921, 4765, 1, 0, + 0, 0, 923, 4771, 1, 0, 0, 0, 925, 4778, 1, 0, 0, 0, 927, 4786, 1, 0, 0, + 0, 929, 4795, 1, 0, 0, 0, 931, 4803, 1, 0, 0, 0, 933, 4811, 1, 0, 0, 0, + 935, 4819, 1, 0, 0, 0, 937, 4824, 1, 0, 0, 0, 939, 4830, 1, 0, 0, 0, 941, + 4838, 1, 0, 0, 0, 943, 4847, 1, 0, 0, 0, 945, 4852, 1, 0, 0, 0, 947, 4858, + 1, 0, 0, 0, 949, 4869, 1, 0, 0, 0, 951, 4876, 1, 0, 0, 0, 953, 4881, 1, + 0, 0, 0, 955, 4888, 1, 0, 0, 0, 957, 4896, 1, 0, 0, 0, 959, 4901, 1, 0, + 0, 0, 961, 4909, 1, 0, 0, 0, 963, 4915, 1, 0, 0, 0, 965, 4919, 1, 0, 0, + 0, 967, 4933, 1, 0, 0, 0, 969, 4943, 1, 0, 0, 0, 971, 4954, 1, 0, 0, 0, + 973, 4964, 1, 0, 0, 0, 975, 4974, 1, 0, 0, 0, 977, 4988, 1, 0, 0, 0, 979, + 4997, 1, 0, 0, 0, 981, 5003, 1, 0, 0, 0, 983, 5011, 1, 0, 0, 0, 985, 5024, + 1, 0, 0, 0, 987, 5033, 1, 0, 0, 0, 989, 5038, 1, 0, 0, 0, 991, 5042, 1, + 0, 0, 0, 993, 5047, 1, 0, 0, 0, 995, 5049, 1, 0, 0, 0, 997, 5051, 1, 0, + 0, 0, 999, 5053, 1, 0, 0, 0, 1001, 5055, 1, 0, 0, 0, 1003, 5057, 1, 0, + 0, 0, 1005, 5059, 1, 0, 0, 0, 1007, 5061, 1, 0, 0, 0, 1009, 5063, 1, 0, + 0, 0, 1011, 5065, 1, 0, 0, 0, 1013, 5067, 1, 0, 0, 0, 1015, 5069, 1, 0, + 0, 0, 1017, 5071, 1, 0, 0, 0, 1019, 5073, 1, 0, 0, 0, 1021, 5075, 1, 0, + 0, 0, 1023, 5077, 1, 0, 0, 0, 1025, 5079, 1, 0, 0, 0, 1027, 5081, 1, 0, + 0, 0, 1029, 5084, 1, 0, 0, 0, 1031, 5087, 1, 0, 0, 0, 1033, 5090, 1, 0, + 0, 0, 1035, 5093, 1, 0, 0, 0, 1037, 5096, 1, 0, 0, 0, 1039, 5099, 1, 0, + 0, 0, 1041, 5102, 1, 0, 0, 0, 1043, 5105, 1, 0, 0, 0, 1045, 5108, 1, 0, + 0, 0, 1047, 5110, 1, 0, 0, 0, 1049, 5136, 1, 0, 0, 0, 1051, 5147, 1, 0, + 0, 0, 1053, 5163, 1, 0, 0, 0, 1055, 5165, 1, 0, 0, 0, 1057, 5167, 1, 0, + 0, 0, 1059, 5169, 1, 0, 0, 0, 1061, 5177, 1, 0, 0, 0, 1063, 5188, 1, 0, + 0, 0, 1065, 5195, 1, 0, 0, 0, 1067, 5214, 1, 0, 0, 0, 1069, 5242, 1, 0, + 0, 0, 1071, 5269, 1, 0, 0, 0, 1073, 5275, 1, 0, 0, 0, 1075, 5288, 1, 0, + 0, 0, 1077, 5296, 1, 0, 0, 0, 1079, 5301, 1, 0, 0, 0, 1081, 5321, 1, 0, + 0, 0, 1083, 5339, 1, 0, 0, 0, 1085, 5352, 1, 0, 0, 0, 1087, 5363, 1, 0, + 0, 0, 1089, 5369, 1, 0, 0, 0, 1091, 5378, 1, 0, 0, 0, 1093, 5386, 1, 0, + 0, 0, 1095, 5390, 1, 0, 0, 0, 1097, 5402, 1, 0, 0, 0, 1099, 5410, 1, 0, + 0, 0, 1101, 5416, 1, 0, 0, 0, 1103, 5422, 1, 0, 0, 0, 1105, 5430, 1, 0, + 0, 0, 1107, 5438, 1, 0, 0, 0, 1109, 5444, 1, 0, 0, 0, 1111, 5449, 1, 0, + 0, 0, 1113, 5455, 1, 0, 0, 0, 1115, 5461, 1, 0, 0, 0, 1117, 5470, 1, 0, + 0, 0, 1119, 5476, 1, 0, 0, 0, 1121, 5480, 1, 0, 0, 0, 1123, 5485, 1, 0, + 0, 0, 1125, 5492, 1, 0, 0, 0, 1127, 5500, 1, 0, 0, 0, 1129, 5510, 1, 0, + 0, 0, 1131, 5517, 1, 0, 0, 0, 1133, 5522, 1, 0, 0, 0, 1135, 5527, 1, 0, + 0, 0, 1137, 5540, 1, 0, 0, 0, 1139, 5544, 1, 0, 0, 0, 1141, 5548, 1, 0, + 0, 0, 1143, 5550, 1, 0, 0, 0, 1145, 5553, 1, 0, 0, 0, 1147, 5562, 1, 0, + 0, 0, 1149, 5565, 1, 0, 0, 0, 1151, 5574, 1, 0, 0, 0, 1153, 5578, 1, 0, + 0, 0, 1155, 5582, 1, 0, 0, 0, 1157, 5586, 1, 0, 0, 0, 1159, 5590, 1, 0, + 0, 0, 1161, 5593, 1, 0, 0, 0, 1163, 5602, 1, 0, 0, 0, 1165, 5608, 1, 0, + 0, 0, 1167, 5611, 1, 0, 0, 0, 1169, 5615, 1, 0, 0, 0, 1171, 5624, 1, 0, + 0, 0, 1173, 5631, 1, 0, 0, 0, 1175, 5634, 1, 0, 0, 0, 1177, 5642, 1, 0, + 0, 0, 1179, 5645, 1, 0, 0, 0, 1181, 5648, 1, 0, 0, 0, 1183, 5651, 1, 0, + 0, 0, 1185, 5659, 1, 0, 0, 0, 1187, 5662, 1, 0, 0, 0, 1189, 5665, 1, 0, + 0, 0, 1191, 5667, 1, 0, 0, 0, 1193, 5701, 1, 0, 0, 0, 1195, 5704, 1, 0, + 0, 0, 1197, 5708, 1, 0, 0, 0, 1199, 5716, 1, 0, 0, 0, 1201, 5731, 1, 0, + 0, 0, 1203, 5740, 1, 0, 0, 0, 1205, 5744, 1, 0, 0, 0, 1207, 5755, 1, 0, + 0, 0, 1209, 5794, 1, 0, 0, 0, 1211, 5845, 1, 0, 0, 0, 1213, 5869, 1, 0, + 0, 0, 1215, 5872, 1, 0, 0, 0, 1217, 5874, 1, 0, 0, 0, 1219, 5879, 1, 0, + 0, 0, 1221, 5910, 1, 0, 0, 0, 1223, 5913, 1, 0, 0, 0, 1225, 5918, 1, 0, + 0, 0, 1227, 5931, 1, 0, 0, 0, 1229, 5934, 1, 0, 0, 0, 1231, 5939, 1, 0, + 0, 0, 1233, 5945, 1, 0, 0, 0, 1235, 5950, 1, 0, 0, 0, 1237, 5955, 1, 0, + 0, 0, 1239, 5960, 1, 0, 0, 0, 1241, 5965, 1, 0, 0, 0, 1243, 5982, 1, 0, + 0, 0, 1245, 5984, 1, 0, 0, 0, 1247, 1248, 7, 0, 0, 0, 1248, 1249, 7, 1, + 0, 0, 1249, 1250, 7, 2, 0, 0, 1250, 1251, 7, 3, 0, 0, 1251, 1252, 7, 4, + 0, 0, 1252, 6, 1, 0, 0, 0, 1253, 1254, 7, 0, 0, 0, 1254, 1255, 7, 1, 0, + 0, 1255, 1256, 7, 5, 0, 0, 1256, 1257, 7, 6, 0, 0, 1257, 1258, 7, 7, 0, + 0, 1258, 1259, 7, 4, 0, 0, 1259, 8, 1, 0, 0, 0, 1260, 1261, 7, 0, 0, 0, + 1261, 1262, 7, 1, 0, 0, 1262, 1263, 7, 5, 0, 0, 1263, 1264, 7, 2, 0, 0, + 1264, 1265, 7, 8, 0, 0, 1265, 1266, 7, 9, 0, 0, 1266, 1267, 7, 4, 0, 0, + 1267, 1268, 7, 6, 0, 0, 1268, 10, 1, 0, 0, 0, 1269, 1270, 7, 0, 0, 0, 1270, + 1271, 7, 10, 0, 0, 1271, 1272, 7, 10, 0, 0, 1272, 1273, 7, 6, 0, 0, 1273, + 1274, 7, 5, 0, 0, 1274, 1275, 7, 5, 0, 0, 1275, 12, 1, 0, 0, 0, 1276, 1277, + 7, 0, 0, 0, 1277, 1278, 7, 10, 0, 0, 1278, 1279, 7, 4, 0, 0, 1279, 1280, + 7, 11, 0, 0, 1280, 1281, 7, 2, 0, 0, 1281, 1282, 7, 7, 0, 0, 1282, 14, + 1, 0, 0, 0, 1283, 1284, 7, 0, 0, 0, 1284, 1285, 7, 12, 0, 0, 1285, 1286, + 7, 12, 0, 0, 1286, 16, 1, 0, 0, 0, 1287, 1288, 7, 0, 0, 0, 1288, 1289, + 7, 12, 0, 0, 1289, 1290, 7, 13, 0, 0, 1290, 1291, 7, 11, 0, 0, 1291, 1292, + 7, 7, 0, 0, 1292, 18, 1, 0, 0, 0, 1293, 1294, 7, 0, 0, 0, 1294, 1295, 7, + 14, 0, 0, 1295, 1296, 7, 4, 0, 0, 1296, 1297, 7, 6, 0, 0, 1297, 1298, 7, + 3, 0, 0, 1298, 20, 1, 0, 0, 0, 1299, 1300, 7, 0, 0, 0, 1300, 1301, 7, 15, + 0, 0, 1301, 1302, 7, 15, 0, 0, 1302, 1303, 7, 3, 0, 0, 1303, 1304, 7, 6, + 0, 0, 1304, 1305, 7, 15, 0, 0, 1305, 1306, 7, 0, 0, 0, 1306, 1307, 7, 4, + 0, 0, 1307, 1308, 7, 6, 0, 0, 1308, 22, 1, 0, 0, 0, 1309, 1310, 7, 0, 0, + 0, 1310, 1311, 7, 8, 0, 0, 1311, 1312, 7, 8, 0, 0, 1312, 24, 1, 0, 0, 0, + 1313, 1314, 7, 0, 0, 0, 1314, 1315, 7, 8, 0, 0, 1315, 1316, 7, 5, 0, 0, + 1316, 1317, 7, 2, 0, 0, 1317, 26, 1, 0, 0, 0, 1318, 1319, 7, 0, 0, 0, 1319, + 1320, 7, 8, 0, 0, 1320, 1321, 7, 4, 0, 0, 1321, 1322, 7, 6, 0, 0, 1322, + 1323, 7, 3, 0, 0, 1323, 28, 1, 0, 0, 0, 1324, 1325, 7, 0, 0, 0, 1325, 1326, + 7, 8, 0, 0, 1326, 1327, 7, 16, 0, 0, 1327, 1328, 7, 0, 0, 0, 1328, 1329, + 7, 17, 0, 0, 1329, 1330, 7, 5, 0, 0, 1330, 30, 1, 0, 0, 0, 1331, 1332, + 7, 0, 0, 0, 1332, 1333, 7, 7, 0, 0, 1333, 1334, 7, 0, 0, 0, 1334, 1335, + 7, 8, 0, 0, 1335, 1336, 7, 17, 0, 0, 1336, 1337, 7, 5, 0, 0, 1337, 1338, + 7, 6, 0, 0, 1338, 32, 1, 0, 0, 0, 1339, 1340, 7, 0, 0, 0, 1340, 1341, 7, + 7, 0, 0, 1341, 1342, 7, 0, 0, 0, 1342, 1343, 7, 8, 0, 0, 1343, 1344, 7, + 17, 0, 0, 1344, 1345, 7, 18, 0, 0, 1345, 1346, 7, 6, 0, 0, 1346, 34, 1, + 0, 0, 0, 1347, 1348, 7, 0, 0, 0, 1348, 1349, 7, 7, 0, 0, 1349, 1350, 7, + 12, 0, 0, 1350, 36, 1, 0, 0, 0, 1351, 1352, 7, 0, 0, 0, 1352, 1353, 7, + 7, 0, 0, 1353, 1354, 7, 17, 0, 0, 1354, 38, 1, 0, 0, 0, 1355, 1356, 7, + 0, 0, 0, 1356, 1357, 7, 3, 0, 0, 1357, 1358, 7, 3, 0, 0, 1358, 1359, 7, + 0, 0, 0, 1359, 1360, 7, 17, 0, 0, 1360, 40, 1, 0, 0, 0, 1361, 1362, 7, + 0, 0, 0, 1362, 1363, 7, 5, 0, 0, 1363, 42, 1, 0, 0, 0, 1364, 1365, 7, 0, + 0, 0, 1365, 1366, 7, 5, 0, 0, 1366, 1367, 7, 10, 0, 0, 1367, 44, 1, 0, + 0, 0, 1368, 1369, 7, 0, 0, 0, 1369, 1370, 7, 5, 0, 0, 1370, 1371, 7, 6, + 0, 0, 1371, 1372, 7, 7, 0, 0, 1372, 1373, 7, 5, 0, 0, 1373, 1374, 7, 11, + 0, 0, 1374, 1375, 7, 4, 0, 0, 1375, 1376, 7, 11, 0, 0, 1376, 1377, 7, 19, + 0, 0, 1377, 1378, 7, 6, 0, 0, 1378, 46, 1, 0, 0, 0, 1379, 1380, 7, 0, 0, + 0, 1380, 1381, 7, 5, 0, 0, 1381, 1382, 7, 5, 0, 0, 1382, 1383, 7, 6, 0, + 0, 1383, 1384, 7, 3, 0, 0, 1384, 1385, 7, 4, 0, 0, 1385, 1386, 7, 11, 0, + 0, 1386, 1387, 7, 2, 0, 0, 1387, 1388, 7, 7, 0, 0, 1388, 48, 1, 0, 0, 0, + 1389, 1390, 7, 0, 0, 0, 1390, 1391, 7, 5, 0, 0, 1391, 1392, 7, 5, 0, 0, + 1392, 1393, 7, 11, 0, 0, 1393, 1394, 7, 15, 0, 0, 1394, 1395, 7, 7, 0, + 0, 1395, 1396, 7, 13, 0, 0, 1396, 1397, 7, 6, 0, 0, 1397, 1398, 7, 7, 0, + 0, 1398, 1399, 7, 4, 0, 0, 1399, 50, 1, 0, 0, 0, 1400, 1401, 7, 0, 0, 0, + 1401, 1402, 7, 5, 0, 0, 1402, 1403, 7, 17, 0, 0, 1403, 1404, 7, 13, 0, + 0, 1404, 1405, 7, 13, 0, 0, 1405, 1406, 7, 6, 0, 0, 1406, 1407, 7, 4, 0, + 0, 1407, 1408, 7, 3, 0, 0, 1408, 1409, 7, 11, 0, 0, 1409, 1410, 7, 10, + 0, 0, 1410, 52, 1, 0, 0, 0, 1411, 1412, 7, 0, 0, 0, 1412, 1413, 7, 4, 0, + 0, 1413, 54, 1, 0, 0, 0, 1414, 1415, 7, 0, 0, 0, 1415, 1416, 7, 4, 0, 0, + 1416, 1417, 7, 2, 0, 0, 1417, 1418, 7, 13, 0, 0, 1418, 1419, 7, 11, 0, + 0, 1419, 1420, 7, 10, 0, 0, 1420, 56, 1, 0, 0, 0, 1421, 1422, 7, 0, 0, + 0, 1422, 1423, 7, 4, 0, 0, 1423, 1424, 7, 4, 0, 0, 1424, 1425, 7, 0, 0, + 0, 1425, 1426, 7, 10, 0, 0, 1426, 1427, 7, 20, 0, 0, 1427, 58, 1, 0, 0, + 0, 1428, 1429, 7, 0, 0, 0, 1429, 1430, 7, 4, 0, 0, 1430, 1431, 7, 4, 0, + 0, 1431, 1432, 7, 3, 0, 0, 1432, 1433, 7, 11, 0, 0, 1433, 1434, 7, 1, 0, + 0, 1434, 1435, 7, 9, 0, 0, 1435, 1436, 7, 4, 0, 0, 1436, 1437, 7, 6, 0, + 0, 1437, 60, 1, 0, 0, 0, 1438, 1439, 7, 0, 0, 0, 1439, 1440, 7, 9, 0, 0, + 1440, 1441, 7, 4, 0, 0, 1441, 1442, 7, 20, 0, 0, 1442, 1443, 7, 2, 0, 0, + 1443, 1444, 7, 3, 0, 0, 1444, 1445, 7, 11, 0, 0, 1445, 1446, 7, 18, 0, + 0, 1446, 1447, 7, 0, 0, 0, 1447, 1448, 7, 4, 0, 0, 1448, 1449, 7, 11, 0, + 0, 1449, 1450, 7, 2, 0, 0, 1450, 1451, 7, 7, 0, 0, 1451, 62, 1, 0, 0, 0, + 1452, 1453, 7, 1, 0, 0, 1453, 1454, 7, 0, 0, 0, 1454, 1455, 7, 10, 0, 0, + 1455, 1456, 7, 21, 0, 0, 1456, 1457, 7, 16, 0, 0, 1457, 1458, 7, 0, 0, + 0, 1458, 1459, 7, 3, 0, 0, 1459, 1460, 7, 12, 0, 0, 1460, 64, 1, 0, 0, + 0, 1461, 1462, 7, 1, 0, 0, 1462, 1463, 7, 6, 0, 0, 1463, 1464, 7, 14, 0, + 0, 1464, 1465, 7, 2, 0, 0, 1465, 1466, 7, 3, 0, 0, 1466, 1467, 7, 6, 0, + 0, 1467, 66, 1, 0, 0, 0, 1468, 1469, 7, 1, 0, 0, 1469, 1470, 7, 6, 0, 0, + 1470, 1471, 7, 15, 0, 0, 1471, 1472, 7, 11, 0, 0, 1472, 1473, 7, 7, 0, + 0, 1473, 68, 1, 0, 0, 0, 1474, 1475, 7, 1, 0, 0, 1475, 1476, 7, 6, 0, 0, + 1476, 1477, 7, 4, 0, 0, 1477, 1478, 7, 16, 0, 0, 1478, 1479, 7, 6, 0, 0, + 1479, 1480, 7, 6, 0, 0, 1480, 1481, 7, 7, 0, 0, 1481, 70, 1, 0, 0, 0, 1482, + 1483, 7, 1, 0, 0, 1483, 1484, 7, 11, 0, 0, 1484, 1485, 7, 15, 0, 0, 1485, + 1486, 7, 11, 0, 0, 1486, 1487, 7, 7, 0, 0, 1487, 1488, 7, 4, 0, 0, 1488, + 72, 1, 0, 0, 0, 1489, 1490, 7, 1, 0, 0, 1490, 1491, 7, 11, 0, 0, 1491, + 1492, 7, 7, 0, 0, 1492, 1493, 7, 0, 0, 0, 1493, 1494, 7, 3, 0, 0, 1494, + 1495, 7, 17, 0, 0, 1495, 74, 1, 0, 0, 0, 1496, 1497, 7, 1, 0, 0, 1497, + 1498, 7, 11, 0, 0, 1498, 1499, 7, 4, 0, 0, 1499, 76, 1, 0, 0, 0, 1500, + 1501, 7, 1, 0, 0, 1501, 1502, 7, 2, 0, 0, 1502, 1503, 7, 2, 0, 0, 1503, + 1504, 7, 8, 0, 0, 1504, 1505, 7, 6, 0, 0, 1505, 1506, 7, 0, 0, 0, 1506, + 1507, 7, 7, 0, 0, 1507, 78, 1, 0, 0, 0, 1508, 1509, 7, 1, 0, 0, 1509, 1510, + 7, 2, 0, 0, 1510, 1511, 7, 4, 0, 0, 1511, 1512, 7, 20, 0, 0, 1512, 80, + 1, 0, 0, 0, 1513, 1514, 7, 1, 0, 0, 1514, 1515, 7, 3, 0, 0, 1515, 1516, + 7, 6, 0, 0, 1516, 1517, 7, 0, 0, 0, 1517, 1518, 7, 12, 0, 0, 1518, 1519, + 7, 4, 0, 0, 1519, 1520, 7, 20, 0, 0, 1520, 82, 1, 0, 0, 0, 1521, 1522, + 7, 1, 0, 0, 1522, 1523, 7, 17, 0, 0, 1523, 84, 1, 0, 0, 0, 1524, 1525, + 7, 10, 0, 0, 1525, 1526, 7, 0, 0, 0, 1526, 1527, 7, 10, 0, 0, 1527, 1528, + 7, 20, 0, 0, 1528, 1529, 7, 6, 0, 0, 1529, 86, 1, 0, 0, 0, 1530, 1531, + 7, 10, 0, 0, 1531, 1532, 7, 0, 0, 0, 1532, 1533, 7, 8, 0, 0, 1533, 1534, + 7, 8, 0, 0, 1534, 88, 1, 0, 0, 0, 1535, 1536, 7, 10, 0, 0, 1536, 1537, + 7, 0, 0, 0, 1537, 1538, 7, 8, 0, 0, 1538, 1539, 7, 8, 0, 0, 1539, 1540, + 7, 6, 0, 0, 1540, 1541, 7, 12, 0, 0, 1541, 90, 1, 0, 0, 0, 1542, 1543, + 7, 10, 0, 0, 1543, 1544, 7, 0, 0, 0, 1544, 1545, 7, 5, 0, 0, 1545, 1546, + 7, 10, 0, 0, 1546, 1547, 7, 0, 0, 0, 1547, 1548, 7, 12, 0, 0, 1548, 1549, + 7, 6, 0, 0, 1549, 92, 1, 0, 0, 0, 1550, 1551, 7, 10, 0, 0, 1551, 1552, + 7, 0, 0, 0, 1552, 1553, 7, 5, 0, 0, 1553, 1554, 7, 10, 0, 0, 1554, 1555, + 7, 0, 0, 0, 1555, 1556, 7, 12, 0, 0, 1556, 1557, 7, 6, 0, 0, 1557, 1558, + 7, 12, 0, 0, 1558, 94, 1, 0, 0, 0, 1559, 1560, 7, 10, 0, 0, 1560, 1561, + 7, 0, 0, 0, 1561, 1562, 7, 5, 0, 0, 1562, 1563, 7, 6, 0, 0, 1563, 96, 1, + 0, 0, 0, 1564, 1565, 7, 10, 0, 0, 1565, 1566, 7, 0, 0, 0, 1566, 1567, 7, + 5, 0, 0, 1567, 1568, 7, 4, 0, 0, 1568, 98, 1, 0, 0, 0, 1569, 1570, 7, 10, + 0, 0, 1570, 1571, 7, 0, 0, 0, 1571, 1572, 7, 4, 0, 0, 1572, 1573, 7, 0, + 0, 0, 1573, 1574, 7, 8, 0, 0, 1574, 1575, 7, 2, 0, 0, 1575, 1576, 7, 15, + 0, 0, 1576, 100, 1, 0, 0, 0, 1577, 1578, 7, 10, 0, 0, 1578, 1579, 7, 20, + 0, 0, 1579, 1580, 7, 0, 0, 0, 1580, 1581, 7, 11, 0, 0, 1581, 1582, 7, 7, + 0, 0, 1582, 102, 1, 0, 0, 0, 1583, 1584, 7, 10, 0, 0, 1584, 1585, 7, 20, + 0, 0, 1585, 1586, 7, 0, 0, 0, 1586, 1587, 7, 3, 0, 0, 1587, 104, 1, 0, + 0, 0, 1588, 1589, 7, 10, 0, 0, 1589, 1590, 7, 20, 0, 0, 1590, 1591, 7, + 0, 0, 0, 1591, 1592, 7, 3, 0, 0, 1592, 1593, 7, 0, 0, 0, 1593, 1594, 7, + 10, 0, 0, 1594, 1595, 7, 4, 0, 0, 1595, 1596, 7, 6, 0, 0, 1596, 1597, 7, + 3, 0, 0, 1597, 106, 1, 0, 0, 0, 1598, 1599, 7, 10, 0, 0, 1599, 1600, 7, + 20, 0, 0, 1600, 1601, 7, 0, 0, 0, 1601, 1602, 7, 3, 0, 0, 1602, 1603, 7, + 0, 0, 0, 1603, 1604, 7, 10, 0, 0, 1604, 1605, 7, 4, 0, 0, 1605, 1606, 7, + 6, 0, 0, 1606, 1607, 7, 3, 0, 0, 1607, 1608, 7, 11, 0, 0, 1608, 1609, 7, + 5, 0, 0, 1609, 1610, 7, 4, 0, 0, 1610, 1611, 7, 11, 0, 0, 1611, 1612, 7, + 10, 0, 0, 1612, 1613, 7, 5, 0, 0, 1613, 108, 1, 0, 0, 0, 1614, 1615, 7, + 10, 0, 0, 1615, 1616, 7, 20, 0, 0, 1616, 1617, 7, 6, 0, 0, 1617, 1618, + 7, 10, 0, 0, 1618, 1619, 7, 21, 0, 0, 1619, 110, 1, 0, 0, 0, 1620, 1621, + 7, 10, 0, 0, 1621, 1622, 7, 20, 0, 0, 1622, 1623, 7, 6, 0, 0, 1623, 1624, + 7, 10, 0, 0, 1624, 1625, 7, 21, 0, 0, 1625, 1626, 7, 22, 0, 0, 1626, 1627, + 7, 2, 0, 0, 1627, 1628, 7, 11, 0, 0, 1628, 1629, 7, 7, 0, 0, 1629, 1630, + 7, 4, 0, 0, 1630, 112, 1, 0, 0, 0, 1631, 1632, 7, 10, 0, 0, 1632, 1633, + 7, 8, 0, 0, 1633, 1634, 7, 0, 0, 0, 1634, 1635, 7, 5, 0, 0, 1635, 1636, + 7, 5, 0, 0, 1636, 114, 1, 0, 0, 0, 1637, 1638, 7, 10, 0, 0, 1638, 1639, + 7, 8, 0, 0, 1639, 1640, 7, 2, 0, 0, 1640, 1641, 7, 5, 0, 0, 1641, 1642, + 7, 6, 0, 0, 1642, 116, 1, 0, 0, 0, 1643, 1644, 7, 10, 0, 0, 1644, 1645, + 7, 8, 0, 0, 1645, 1646, 7, 9, 0, 0, 1646, 1647, 7, 5, 0, 0, 1647, 1648, + 7, 4, 0, 0, 1648, 1649, 7, 6, 0, 0, 1649, 1650, 7, 3, 0, 0, 1650, 118, + 1, 0, 0, 0, 1651, 1652, 7, 10, 0, 0, 1652, 1653, 7, 2, 0, 0, 1653, 1654, + 7, 0, 0, 0, 1654, 1655, 7, 8, 0, 0, 1655, 1656, 7, 6, 0, 0, 1656, 1657, + 7, 5, 0, 0, 1657, 1658, 7, 10, 0, 0, 1658, 1659, 7, 6, 0, 0, 1659, 120, + 1, 0, 0, 0, 1660, 1661, 7, 10, 0, 0, 1661, 1662, 7, 2, 0, 0, 1662, 1663, + 7, 8, 0, 0, 1663, 1664, 7, 8, 0, 0, 1664, 1665, 7, 0, 0, 0, 1665, 1666, + 7, 4, 0, 0, 1666, 1667, 7, 6, 0, 0, 1667, 122, 1, 0, 0, 0, 1668, 1669, + 7, 10, 0, 0, 1669, 1670, 7, 2, 0, 0, 1670, 1671, 7, 8, 0, 0, 1671, 1672, + 7, 8, 0, 0, 1672, 1673, 7, 0, 0, 0, 1673, 1674, 7, 4, 0, 0, 1674, 1675, + 7, 11, 0, 0, 1675, 1676, 7, 2, 0, 0, 1676, 1677, 7, 7, 0, 0, 1677, 124, + 1, 0, 0, 0, 1678, 1679, 7, 10, 0, 0, 1679, 1680, 7, 2, 0, 0, 1680, 1681, + 7, 8, 0, 0, 1681, 1682, 7, 9, 0, 0, 1682, 1683, 7, 13, 0, 0, 1683, 1684, + 7, 7, 0, 0, 1684, 126, 1, 0, 0, 0, 1685, 1686, 7, 10, 0, 0, 1686, 1687, + 7, 2, 0, 0, 1687, 1688, 7, 8, 0, 0, 1688, 1689, 7, 9, 0, 0, 1689, 1690, + 7, 13, 0, 0, 1690, 1691, 7, 7, 0, 0, 1691, 1692, 7, 5, 0, 0, 1692, 128, + 1, 0, 0, 0, 1693, 1694, 7, 10, 0, 0, 1694, 1695, 7, 2, 0, 0, 1695, 1696, + 7, 13, 0, 0, 1696, 1697, 7, 13, 0, 0, 1697, 1698, 7, 6, 0, 0, 1698, 1699, + 7, 7, 0, 0, 1699, 1700, 7, 4, 0, 0, 1700, 130, 1, 0, 0, 0, 1701, 1702, + 7, 10, 0, 0, 1702, 1703, 7, 2, 0, 0, 1703, 1704, 7, 13, 0, 0, 1704, 1705, + 7, 13, 0, 0, 1705, 1706, 7, 6, 0, 0, 1706, 1707, 7, 7, 0, 0, 1707, 1708, + 7, 4, 0, 0, 1708, 1709, 7, 5, 0, 0, 1709, 132, 1, 0, 0, 0, 1710, 1711, + 7, 10, 0, 0, 1711, 1712, 7, 2, 0, 0, 1712, 1713, 7, 13, 0, 0, 1713, 1714, + 7, 13, 0, 0, 1714, 1715, 7, 11, 0, 0, 1715, 1716, 7, 4, 0, 0, 1716, 134, + 1, 0, 0, 0, 1717, 1718, 7, 10, 0, 0, 1718, 1719, 7, 2, 0, 0, 1719, 1720, + 7, 13, 0, 0, 1720, 1721, 7, 13, 0, 0, 1721, 1722, 7, 11, 0, 0, 1722, 1723, + 7, 4, 0, 0, 1723, 1724, 7, 4, 0, 0, 1724, 1725, 7, 6, 0, 0, 1725, 1726, + 7, 12, 0, 0, 1726, 136, 1, 0, 0, 0, 1727, 1728, 7, 10, 0, 0, 1728, 1729, + 7, 2, 0, 0, 1729, 1730, 7, 13, 0, 0, 1730, 1731, 7, 22, 0, 0, 1731, 1732, + 7, 3, 0, 0, 1732, 1733, 7, 6, 0, 0, 1733, 1734, 7, 5, 0, 0, 1734, 1735, + 7, 5, 0, 0, 1735, 1736, 7, 11, 0, 0, 1736, 1737, 7, 2, 0, 0, 1737, 1738, + 7, 7, 0, 0, 1738, 138, 1, 0, 0, 0, 1739, 1740, 7, 10, 0, 0, 1740, 1741, + 7, 2, 0, 0, 1741, 1742, 7, 7, 0, 0, 1742, 1743, 7, 10, 0, 0, 1743, 1744, + 7, 9, 0, 0, 1744, 1745, 7, 3, 0, 0, 1745, 1746, 7, 3, 0, 0, 1746, 1747, + 7, 6, 0, 0, 1747, 1748, 7, 7, 0, 0, 1748, 1749, 7, 4, 0, 0, 1749, 1750, + 7, 8, 0, 0, 1750, 1751, 7, 17, 0, 0, 1751, 140, 1, 0, 0, 0, 1752, 1753, + 7, 10, 0, 0, 1753, 1754, 7, 2, 0, 0, 1754, 1755, 7, 7, 0, 0, 1755, 1756, + 7, 12, 0, 0, 1756, 1757, 7, 11, 0, 0, 1757, 1758, 7, 4, 0, 0, 1758, 1759, + 7, 11, 0, 0, 1759, 1760, 7, 2, 0, 0, 1760, 1761, 7, 7, 0, 0, 1761, 1762, + 7, 0, 0, 0, 1762, 1763, 7, 8, 0, 0, 1763, 142, 1, 0, 0, 0, 1764, 1765, + 7, 10, 0, 0, 1765, 1766, 7, 2, 0, 0, 1766, 1767, 7, 7, 0, 0, 1767, 1768, + 7, 14, 0, 0, 1768, 1769, 7, 11, 0, 0, 1769, 1770, 7, 15, 0, 0, 1770, 1771, + 7, 9, 0, 0, 1771, 1772, 7, 3, 0, 0, 1772, 1773, 7, 0, 0, 0, 1773, 1774, + 7, 4, 0, 0, 1774, 1775, 7, 11, 0, 0, 1775, 1776, 7, 2, 0, 0, 1776, 1777, + 7, 7, 0, 0, 1777, 144, 1, 0, 0, 0, 1778, 1779, 7, 10, 0, 0, 1779, 1780, + 7, 2, 0, 0, 1780, 1781, 7, 7, 0, 0, 1781, 1782, 7, 14, 0, 0, 1782, 1783, + 7, 8, 0, 0, 1783, 1784, 7, 11, 0, 0, 1784, 1785, 7, 10, 0, 0, 1785, 1786, + 7, 4, 0, 0, 1786, 146, 1, 0, 0, 0, 1787, 1788, 7, 10, 0, 0, 1788, 1789, + 7, 2, 0, 0, 1789, 1790, 7, 7, 0, 0, 1790, 1791, 7, 7, 0, 0, 1791, 1792, + 7, 6, 0, 0, 1792, 1793, 7, 10, 0, 0, 1793, 1794, 7, 4, 0, 0, 1794, 1795, + 7, 11, 0, 0, 1795, 1796, 7, 2, 0, 0, 1796, 1797, 7, 7, 0, 0, 1797, 148, + 1, 0, 0, 0, 1798, 1799, 7, 10, 0, 0, 1799, 1800, 7, 2, 0, 0, 1800, 1801, + 7, 7, 0, 0, 1801, 1802, 7, 5, 0, 0, 1802, 1803, 7, 4, 0, 0, 1803, 1804, + 7, 3, 0, 0, 1804, 1805, 7, 0, 0, 0, 1805, 1806, 7, 11, 0, 0, 1806, 1807, + 7, 7, 0, 0, 1807, 1808, 7, 4, 0, 0, 1808, 150, 1, 0, 0, 0, 1809, 1810, + 7, 10, 0, 0, 1810, 1811, 7, 2, 0, 0, 1811, 1812, 7, 7, 0, 0, 1812, 1813, + 7, 5, 0, 0, 1813, 1814, 7, 4, 0, 0, 1814, 1815, 7, 3, 0, 0, 1815, 1816, + 7, 0, 0, 0, 1816, 1817, 7, 11, 0, 0, 1817, 1818, 7, 7, 0, 0, 1818, 1819, + 7, 4, 0, 0, 1819, 1820, 7, 5, 0, 0, 1820, 152, 1, 0, 0, 0, 1821, 1822, + 7, 10, 0, 0, 1822, 1823, 7, 2, 0, 0, 1823, 1824, 7, 7, 0, 0, 1824, 1825, + 7, 4, 0, 0, 1825, 1826, 7, 6, 0, 0, 1826, 1827, 7, 7, 0, 0, 1827, 1828, + 7, 4, 0, 0, 1828, 154, 1, 0, 0, 0, 1829, 1830, 7, 10, 0, 0, 1830, 1831, + 7, 2, 0, 0, 1831, 1832, 7, 7, 0, 0, 1832, 1833, 7, 4, 0, 0, 1833, 1834, + 7, 11, 0, 0, 1834, 1835, 7, 7, 0, 0, 1835, 1836, 7, 9, 0, 0, 1836, 1837, + 7, 6, 0, 0, 1837, 156, 1, 0, 0, 0, 1838, 1839, 7, 10, 0, 0, 1839, 1840, + 7, 2, 0, 0, 1840, 1841, 7, 7, 0, 0, 1841, 1842, 7, 19, 0, 0, 1842, 1843, + 7, 6, 0, 0, 1843, 1844, 7, 3, 0, 0, 1844, 1845, 7, 5, 0, 0, 1845, 1846, + 7, 11, 0, 0, 1846, 1847, 7, 2, 0, 0, 1847, 1848, 7, 7, 0, 0, 1848, 158, + 1, 0, 0, 0, 1849, 1850, 7, 10, 0, 0, 1850, 1851, 7, 2, 0, 0, 1851, 1852, + 7, 22, 0, 0, 1852, 1853, 7, 17, 0, 0, 1853, 160, 1, 0, 0, 0, 1854, 1855, + 7, 10, 0, 0, 1855, 1856, 7, 2, 0, 0, 1856, 1857, 7, 5, 0, 0, 1857, 1858, + 7, 4, 0, 0, 1858, 162, 1, 0, 0, 0, 1859, 1860, 7, 10, 0, 0, 1860, 1861, + 7, 3, 0, 0, 1861, 1862, 7, 6, 0, 0, 1862, 1863, 7, 0, 0, 0, 1863, 1864, + 7, 4, 0, 0, 1864, 1865, 7, 6, 0, 0, 1865, 164, 1, 0, 0, 0, 1866, 1867, + 7, 10, 0, 0, 1867, 1868, 7, 3, 0, 0, 1868, 1869, 7, 2, 0, 0, 1869, 1870, + 7, 5, 0, 0, 1870, 1871, 7, 5, 0, 0, 1871, 166, 1, 0, 0, 0, 1872, 1873, + 7, 10, 0, 0, 1873, 1874, 7, 5, 0, 0, 1874, 1875, 7, 19, 0, 0, 1875, 168, + 1, 0, 0, 0, 1876, 1877, 7, 10, 0, 0, 1877, 1878, 7, 9, 0, 0, 1878, 1879, + 7, 1, 0, 0, 1879, 1880, 7, 6, 0, 0, 1880, 170, 1, 0, 0, 0, 1881, 1882, + 7, 10, 0, 0, 1882, 1883, 7, 9, 0, 0, 1883, 1884, 7, 3, 0, 0, 1884, 1885, + 7, 3, 0, 0, 1885, 1886, 7, 6, 0, 0, 1886, 1887, 7, 7, 0, 0, 1887, 1888, + 7, 4, 0, 0, 1888, 172, 1, 0, 0, 0, 1889, 1890, 7, 10, 0, 0, 1890, 1891, + 7, 9, 0, 0, 1891, 1892, 7, 3, 0, 0, 1892, 1893, 7, 3, 0, 0, 1893, 1894, + 7, 6, 0, 0, 1894, 1895, 7, 7, 0, 0, 1895, 1896, 7, 4, 0, 0, 1896, 1897, + 5, 95, 0, 0, 1897, 1898, 7, 10, 0, 0, 1898, 1899, 7, 0, 0, 0, 1899, 1900, + 7, 4, 0, 0, 1900, 1901, 7, 0, 0, 0, 1901, 1902, 7, 8, 0, 0, 1902, 1903, + 7, 2, 0, 0, 1903, 1904, 7, 15, 0, 0, 1904, 174, 1, 0, 0, 0, 1905, 1906, + 7, 10, 0, 0, 1906, 1907, 7, 9, 0, 0, 1907, 1908, 7, 3, 0, 0, 1908, 1909, + 7, 3, 0, 0, 1909, 1910, 7, 6, 0, 0, 1910, 1911, 7, 7, 0, 0, 1911, 1912, + 7, 4, 0, 0, 1912, 1913, 5, 95, 0, 0, 1913, 1914, 7, 12, 0, 0, 1914, 1915, + 7, 0, 0, 0, 1915, 1916, 7, 4, 0, 0, 1916, 1917, 7, 6, 0, 0, 1917, 176, + 1, 0, 0, 0, 1918, 1919, 7, 10, 0, 0, 1919, 1920, 7, 9, 0, 0, 1920, 1921, + 7, 3, 0, 0, 1921, 1922, 7, 3, 0, 0, 1922, 1923, 7, 6, 0, 0, 1923, 1924, + 7, 7, 0, 0, 1924, 1925, 7, 4, 0, 0, 1925, 1926, 5, 95, 0, 0, 1926, 1927, + 7, 3, 0, 0, 1927, 1928, 7, 2, 0, 0, 1928, 1929, 7, 8, 0, 0, 1929, 1930, + 7, 6, 0, 0, 1930, 178, 1, 0, 0, 0, 1931, 1932, 7, 10, 0, 0, 1932, 1933, + 7, 9, 0, 0, 1933, 1934, 7, 3, 0, 0, 1934, 1935, 7, 3, 0, 0, 1935, 1936, + 7, 6, 0, 0, 1936, 1937, 7, 7, 0, 0, 1937, 1938, 7, 4, 0, 0, 1938, 1939, + 5, 95, 0, 0, 1939, 1940, 7, 5, 0, 0, 1940, 1941, 7, 10, 0, 0, 1941, 1942, + 7, 20, 0, 0, 1942, 1943, 7, 6, 0, 0, 1943, 1944, 7, 13, 0, 0, 1944, 1945, + 7, 0, 0, 0, 1945, 180, 1, 0, 0, 0, 1946, 1947, 7, 10, 0, 0, 1947, 1948, + 7, 9, 0, 0, 1948, 1949, 7, 3, 0, 0, 1949, 1950, 7, 3, 0, 0, 1950, 1951, + 7, 6, 0, 0, 1951, 1952, 7, 7, 0, 0, 1952, 1953, 7, 4, 0, 0, 1953, 1954, + 5, 95, 0, 0, 1954, 1955, 7, 4, 0, 0, 1955, 1956, 7, 11, 0, 0, 1956, 1957, + 7, 13, 0, 0, 1957, 1958, 7, 6, 0, 0, 1958, 182, 1, 0, 0, 0, 1959, 1960, + 7, 10, 0, 0, 1960, 1961, 7, 9, 0, 0, 1961, 1962, 7, 3, 0, 0, 1962, 1963, + 7, 3, 0, 0, 1963, 1964, 7, 6, 0, 0, 1964, 1965, 7, 7, 0, 0, 1965, 1966, + 7, 4, 0, 0, 1966, 1967, 5, 95, 0, 0, 1967, 1968, 7, 4, 0, 0, 1968, 1969, + 7, 11, 0, 0, 1969, 1970, 7, 13, 0, 0, 1970, 1971, 7, 6, 0, 0, 1971, 1972, + 7, 5, 0, 0, 1972, 1973, 7, 4, 0, 0, 1973, 1974, 7, 0, 0, 0, 1974, 1975, + 7, 13, 0, 0, 1975, 1976, 7, 22, 0, 0, 1976, 184, 1, 0, 0, 0, 1977, 1978, + 7, 10, 0, 0, 1978, 1979, 7, 9, 0, 0, 1979, 1980, 7, 3, 0, 0, 1980, 1981, + 7, 3, 0, 0, 1981, 1982, 7, 6, 0, 0, 1982, 1983, 7, 7, 0, 0, 1983, 1984, + 7, 4, 0, 0, 1984, 1985, 5, 95, 0, 0, 1985, 1986, 7, 9, 0, 0, 1986, 1987, + 7, 5, 0, 0, 1987, 1988, 7, 6, 0, 0, 1988, 1989, 7, 3, 0, 0, 1989, 186, + 1, 0, 0, 0, 1990, 1991, 7, 10, 0, 0, 1991, 1992, 7, 9, 0, 0, 1992, 1993, + 7, 3, 0, 0, 1993, 1994, 7, 5, 0, 0, 1994, 1995, 7, 2, 0, 0, 1995, 1996, + 7, 3, 0, 0, 1996, 188, 1, 0, 0, 0, 1997, 1998, 7, 10, 0, 0, 1998, 1999, + 7, 17, 0, 0, 1999, 2000, 7, 10, 0, 0, 2000, 2001, 7, 8, 0, 0, 2001, 2002, + 7, 6, 0, 0, 2002, 190, 1, 0, 0, 0, 2003, 2004, 7, 12, 0, 0, 2004, 2005, + 7, 0, 0, 0, 2005, 2006, 7, 4, 0, 0, 2006, 2007, 7, 0, 0, 0, 2007, 192, + 1, 0, 0, 0, 2008, 2009, 7, 12, 0, 0, 2009, 2010, 7, 0, 0, 0, 2010, 2011, + 7, 4, 0, 0, 2011, 2012, 7, 0, 0, 0, 2012, 2013, 7, 1, 0, 0, 2013, 2014, + 7, 0, 0, 0, 2014, 2015, 7, 5, 0, 0, 2015, 2016, 7, 6, 0, 0, 2016, 194, + 1, 0, 0, 0, 2017, 2018, 7, 12, 0, 0, 2018, 2019, 7, 0, 0, 0, 2019, 2020, + 7, 17, 0, 0, 2020, 196, 1, 0, 0, 0, 2021, 2022, 7, 12, 0, 0, 2022, 2023, + 7, 6, 0, 0, 2023, 2024, 7, 0, 0, 0, 2024, 2025, 7, 8, 0, 0, 2025, 2026, + 7, 8, 0, 0, 2026, 2027, 7, 2, 0, 0, 2027, 2028, 7, 10, 0, 0, 2028, 2029, + 7, 0, 0, 0, 2029, 2030, 7, 4, 0, 0, 2030, 2031, 7, 6, 0, 0, 2031, 198, + 1, 0, 0, 0, 2032, 2033, 7, 12, 0, 0, 2033, 2034, 7, 6, 0, 0, 2034, 2035, + 7, 10, 0, 0, 2035, 200, 1, 0, 0, 0, 2036, 2037, 7, 12, 0, 0, 2037, 2038, + 7, 6, 0, 0, 2038, 2039, 7, 10, 0, 0, 2039, 2040, 7, 11, 0, 0, 2040, 2041, + 7, 13, 0, 0, 2041, 2042, 7, 0, 0, 0, 2042, 2043, 7, 8, 0, 0, 2043, 202, + 1, 0, 0, 0, 2044, 2045, 7, 12, 0, 0, 2045, 2046, 7, 6, 0, 0, 2046, 2047, + 7, 10, 0, 0, 2047, 2048, 7, 8, 0, 0, 2048, 2049, 7, 0, 0, 0, 2049, 2050, + 7, 3, 0, 0, 2050, 2051, 7, 6, 0, 0, 2051, 204, 1, 0, 0, 0, 2052, 2053, + 7, 12, 0, 0, 2053, 2054, 7, 6, 0, 0, 2054, 2055, 7, 14, 0, 0, 2055, 2056, + 7, 0, 0, 0, 2056, 2057, 7, 9, 0, 0, 2057, 2058, 7, 8, 0, 0, 2058, 2059, + 7, 4, 0, 0, 2059, 206, 1, 0, 0, 0, 2060, 2061, 7, 12, 0, 0, 2061, 2062, + 7, 6, 0, 0, 2062, 2063, 7, 14, 0, 0, 2063, 2064, 7, 0, 0, 0, 2064, 2065, + 7, 9, 0, 0, 2065, 2066, 7, 8, 0, 0, 2066, 2067, 7, 4, 0, 0, 2067, 2068, + 7, 5, 0, 0, 2068, 208, 1, 0, 0, 0, 2069, 2070, 7, 12, 0, 0, 2070, 2071, + 7, 6, 0, 0, 2071, 2072, 7, 14, 0, 0, 2072, 2073, 7, 6, 0, 0, 2073, 2074, + 7, 3, 0, 0, 2074, 2075, 7, 3, 0, 0, 2075, 2076, 7, 0, 0, 0, 2076, 2077, + 7, 1, 0, 0, 2077, 2078, 7, 8, 0, 0, 2078, 2079, 7, 6, 0, 0, 2079, 210, + 1, 0, 0, 0, 2080, 2081, 7, 12, 0, 0, 2081, 2082, 7, 6, 0, 0, 2082, 2083, + 7, 14, 0, 0, 2083, 2084, 7, 6, 0, 0, 2084, 2085, 7, 3, 0, 0, 2085, 2086, + 7, 3, 0, 0, 2086, 2087, 7, 6, 0, 0, 2087, 2088, 7, 12, 0, 0, 2088, 212, + 1, 0, 0, 0, 2089, 2090, 7, 12, 0, 0, 2090, 2091, 7, 6, 0, 0, 2091, 2092, + 7, 14, 0, 0, 2092, 2093, 7, 11, 0, 0, 2093, 2094, 7, 7, 0, 0, 2094, 2095, + 7, 6, 0, 0, 2095, 2096, 7, 3, 0, 0, 2096, 214, 1, 0, 0, 0, 2097, 2098, + 7, 12, 0, 0, 2098, 2099, 7, 6, 0, 0, 2099, 2100, 7, 8, 0, 0, 2100, 2101, + 7, 6, 0, 0, 2101, 2102, 7, 4, 0, 0, 2102, 2103, 7, 6, 0, 0, 2103, 216, + 1, 0, 0, 0, 2104, 2105, 7, 12, 0, 0, 2105, 2106, 7, 6, 0, 0, 2106, 2107, + 7, 8, 0, 0, 2107, 2108, 7, 11, 0, 0, 2108, 2109, 7, 13, 0, 0, 2109, 2110, + 7, 11, 0, 0, 2110, 2111, 7, 4, 0, 0, 2111, 2112, 7, 6, 0, 0, 2112, 2113, + 7, 3, 0, 0, 2113, 218, 1, 0, 0, 0, 2114, 2115, 7, 12, 0, 0, 2115, 2116, + 7, 6, 0, 0, 2116, 2117, 7, 8, 0, 0, 2117, 2118, 7, 11, 0, 0, 2118, 2119, + 7, 13, 0, 0, 2119, 2120, 7, 11, 0, 0, 2120, 2121, 7, 4, 0, 0, 2121, 2122, + 7, 6, 0, 0, 2122, 2123, 7, 3, 0, 0, 2123, 2124, 7, 5, 0, 0, 2124, 220, + 1, 0, 0, 0, 2125, 2126, 7, 12, 0, 0, 2126, 2127, 7, 6, 0, 0, 2127, 2128, + 7, 22, 0, 0, 2128, 2129, 7, 6, 0, 0, 2129, 2130, 7, 7, 0, 0, 2130, 2131, + 7, 12, 0, 0, 2131, 2132, 7, 5, 0, 0, 2132, 222, 1, 0, 0, 0, 2133, 2134, + 7, 12, 0, 0, 2134, 2135, 7, 6, 0, 0, 2135, 2136, 7, 22, 0, 0, 2136, 2137, + 7, 4, 0, 0, 2137, 2138, 7, 20, 0, 0, 2138, 224, 1, 0, 0, 0, 2139, 2140, + 7, 12, 0, 0, 2140, 2141, 7, 6, 0, 0, 2141, 2142, 7, 5, 0, 0, 2142, 2143, + 7, 10, 0, 0, 2143, 226, 1, 0, 0, 0, 2144, 2145, 7, 12, 0, 0, 2145, 2146, + 7, 6, 0, 0, 2146, 2147, 7, 4, 0, 0, 2147, 2148, 7, 0, 0, 0, 2148, 2149, + 7, 10, 0, 0, 2149, 2150, 7, 20, 0, 0, 2150, 228, 1, 0, 0, 0, 2151, 2152, + 7, 12, 0, 0, 2152, 2153, 7, 11, 0, 0, 2153, 2154, 7, 10, 0, 0, 2154, 2155, + 7, 4, 0, 0, 2155, 2156, 7, 11, 0, 0, 2156, 2157, 7, 2, 0, 0, 2157, 2158, + 7, 7, 0, 0, 2158, 2159, 7, 0, 0, 0, 2159, 2160, 7, 3, 0, 0, 2160, 2161, + 7, 17, 0, 0, 2161, 230, 1, 0, 0, 0, 2162, 2163, 7, 12, 0, 0, 2163, 2164, + 7, 11, 0, 0, 2164, 2165, 7, 5, 0, 0, 2165, 2166, 7, 0, 0, 0, 2166, 2167, + 7, 1, 0, 0, 2167, 2168, 7, 8, 0, 0, 2168, 2169, 7, 6, 0, 0, 2169, 232, + 1, 0, 0, 0, 2170, 2171, 7, 12, 0, 0, 2171, 2172, 7, 11, 0, 0, 2172, 2173, + 7, 5, 0, 0, 2173, 2174, 7, 10, 0, 0, 2174, 2175, 7, 0, 0, 0, 2175, 2176, + 7, 3, 0, 0, 2176, 2177, 7, 12, 0, 0, 2177, 234, 1, 0, 0, 0, 2178, 2179, + 7, 12, 0, 0, 2179, 2180, 7, 11, 0, 0, 2180, 2181, 7, 5, 0, 0, 2181, 2182, + 7, 4, 0, 0, 2182, 2183, 7, 11, 0, 0, 2183, 2184, 7, 7, 0, 0, 2184, 2185, + 7, 10, 0, 0, 2185, 2186, 7, 4, 0, 0, 2186, 236, 1, 0, 0, 0, 2187, 2188, + 7, 12, 0, 0, 2188, 2189, 7, 2, 0, 0, 2189, 238, 1, 0, 0, 0, 2190, 2191, + 7, 12, 0, 0, 2191, 2192, 7, 2, 0, 0, 2192, 2193, 7, 10, 0, 0, 2193, 2194, + 7, 9, 0, 0, 2194, 2195, 7, 13, 0, 0, 2195, 2196, 7, 6, 0, 0, 2196, 2197, + 7, 7, 0, 0, 2197, 2198, 7, 4, 0, 0, 2198, 240, 1, 0, 0, 0, 2199, 2200, + 7, 12, 0, 0, 2200, 2201, 7, 2, 0, 0, 2201, 2202, 7, 13, 0, 0, 2202, 2203, + 7, 0, 0, 0, 2203, 2204, 7, 11, 0, 0, 2204, 2205, 7, 7, 0, 0, 2205, 242, + 1, 0, 0, 0, 2206, 2207, 7, 12, 0, 0, 2207, 2208, 7, 2, 0, 0, 2208, 2209, + 7, 9, 0, 0, 2209, 2210, 7, 1, 0, 0, 2210, 2211, 7, 8, 0, 0, 2211, 2212, + 7, 6, 0, 0, 2212, 244, 1, 0, 0, 0, 2213, 2214, 7, 12, 0, 0, 2214, 2215, + 7, 3, 0, 0, 2215, 2216, 7, 2, 0, 0, 2216, 2217, 7, 22, 0, 0, 2217, 246, + 1, 0, 0, 0, 2218, 2219, 7, 6, 0, 0, 2219, 2220, 7, 0, 0, 0, 2220, 2221, + 7, 10, 0, 0, 2221, 2222, 7, 20, 0, 0, 2222, 248, 1, 0, 0, 0, 2223, 2224, + 7, 6, 0, 0, 2224, 2225, 7, 8, 0, 0, 2225, 2226, 7, 5, 0, 0, 2226, 2227, + 7, 6, 0, 0, 2227, 250, 1, 0, 0, 0, 2228, 2229, 7, 6, 0, 0, 2229, 2230, + 7, 13, 0, 0, 2230, 2231, 7, 22, 0, 0, 2231, 2232, 7, 4, 0, 0, 2232, 2233, + 7, 17, 0, 0, 2233, 252, 1, 0, 0, 0, 2234, 2235, 7, 6, 0, 0, 2235, 2236, + 7, 7, 0, 0, 2236, 2237, 7, 0, 0, 0, 2237, 2238, 7, 1, 0, 0, 2238, 2239, + 7, 8, 0, 0, 2239, 2240, 7, 6, 0, 0, 2240, 254, 1, 0, 0, 0, 2241, 2242, + 7, 6, 0, 0, 2242, 2243, 7, 7, 0, 0, 2243, 2244, 7, 10, 0, 0, 2244, 2245, + 7, 2, 0, 0, 2245, 2246, 7, 12, 0, 0, 2246, 2247, 7, 11, 0, 0, 2247, 2248, + 7, 7, 0, 0, 2248, 2249, 7, 15, 0, 0, 2249, 256, 1, 0, 0, 0, 2250, 2251, + 7, 6, 0, 0, 2251, 2252, 7, 7, 0, 0, 2252, 2253, 7, 10, 0, 0, 2253, 2254, + 7, 3, 0, 0, 2254, 2255, 7, 17, 0, 0, 2255, 2256, 7, 22, 0, 0, 2256, 2257, + 7, 4, 0, 0, 2257, 2258, 7, 6, 0, 0, 2258, 2259, 7, 12, 0, 0, 2259, 258, + 1, 0, 0, 0, 2260, 2261, 7, 6, 0, 0, 2261, 2262, 7, 7, 0, 0, 2262, 2263, + 7, 12, 0, 0, 2263, 260, 1, 0, 0, 0, 2264, 2265, 7, 6, 0, 0, 2265, 2266, + 7, 7, 0, 0, 2266, 2267, 7, 14, 0, 0, 2267, 2268, 7, 2, 0, 0, 2268, 2269, + 7, 3, 0, 0, 2269, 2270, 7, 10, 0, 0, 2270, 2271, 7, 6, 0, 0, 2271, 2272, + 7, 12, 0, 0, 2272, 262, 1, 0, 0, 0, 2273, 2274, 7, 6, 0, 0, 2274, 2275, + 7, 7, 0, 0, 2275, 2276, 7, 9, 0, 0, 2276, 2277, 7, 13, 0, 0, 2277, 264, + 1, 0, 0, 0, 2278, 2279, 7, 6, 0, 0, 2279, 2280, 7, 3, 0, 0, 2280, 2281, + 7, 3, 0, 0, 2281, 2282, 7, 2, 0, 0, 2282, 2283, 7, 3, 0, 0, 2283, 266, + 1, 0, 0, 0, 2284, 2285, 7, 6, 0, 0, 2285, 2286, 7, 5, 0, 0, 2286, 2287, + 7, 10, 0, 0, 2287, 2288, 7, 0, 0, 0, 2288, 2289, 7, 22, 0, 0, 2289, 2290, + 7, 6, 0, 0, 2290, 268, 1, 0, 0, 0, 2291, 2292, 7, 6, 0, 0, 2292, 2293, + 7, 19, 0, 0, 2293, 2294, 7, 6, 0, 0, 2294, 2295, 7, 7, 0, 0, 2295, 2296, + 7, 4, 0, 0, 2296, 270, 1, 0, 0, 0, 2297, 2298, 7, 6, 0, 0, 2298, 2299, + 7, 23, 0, 0, 2299, 2300, 7, 10, 0, 0, 2300, 2301, 7, 6, 0, 0, 2301, 2302, + 7, 22, 0, 0, 2302, 2303, 7, 4, 0, 0, 2303, 272, 1, 0, 0, 0, 2304, 2305, + 7, 6, 0, 0, 2305, 2306, 7, 23, 0, 0, 2306, 2307, 7, 10, 0, 0, 2307, 2308, + 7, 8, 0, 0, 2308, 2309, 7, 9, 0, 0, 2309, 2310, 7, 12, 0, 0, 2310, 2311, + 7, 6, 0, 0, 2311, 274, 1, 0, 0, 0, 2312, 2313, 7, 6, 0, 0, 2313, 2314, + 7, 23, 0, 0, 2314, 2315, 7, 10, 0, 0, 2315, 2316, 7, 8, 0, 0, 2316, 2317, + 7, 9, 0, 0, 2317, 2318, 7, 12, 0, 0, 2318, 2319, 7, 11, 0, 0, 2319, 2320, + 7, 7, 0, 0, 2320, 2321, 7, 15, 0, 0, 2321, 276, 1, 0, 0, 0, 2322, 2323, + 7, 6, 0, 0, 2323, 2324, 7, 23, 0, 0, 2324, 2325, 7, 10, 0, 0, 2325, 2326, + 7, 8, 0, 0, 2326, 2327, 7, 9, 0, 0, 2327, 2328, 7, 5, 0, 0, 2328, 2329, + 7, 11, 0, 0, 2329, 2330, 7, 19, 0, 0, 2330, 2331, 7, 6, 0, 0, 2331, 278, + 1, 0, 0, 0, 2332, 2333, 7, 6, 0, 0, 2333, 2334, 7, 23, 0, 0, 2334, 2335, + 7, 6, 0, 0, 2335, 2336, 7, 10, 0, 0, 2336, 2337, 7, 9, 0, 0, 2337, 2338, + 7, 4, 0, 0, 2338, 2339, 7, 6, 0, 0, 2339, 280, 1, 0, 0, 0, 2340, 2341, + 7, 6, 0, 0, 2341, 2342, 7, 23, 0, 0, 2342, 2343, 7, 11, 0, 0, 2343, 2344, + 7, 5, 0, 0, 2344, 2345, 7, 4, 0, 0, 2345, 2346, 7, 5, 0, 0, 2346, 282, + 1, 0, 0, 0, 2347, 2348, 7, 6, 0, 0, 2348, 2349, 7, 23, 0, 0, 2349, 2350, + 7, 22, 0, 0, 2350, 2351, 7, 8, 0, 0, 2351, 2352, 7, 0, 0, 0, 2352, 2353, + 7, 11, 0, 0, 2353, 2354, 7, 7, 0, 0, 2354, 284, 1, 0, 0, 0, 2355, 2356, + 7, 6, 0, 0, 2356, 2357, 7, 23, 0, 0, 2357, 2358, 7, 22, 0, 0, 2358, 2359, + 7, 3, 0, 0, 2359, 2360, 7, 6, 0, 0, 2360, 2361, 7, 5, 0, 0, 2361, 2362, + 7, 5, 0, 0, 2362, 2363, 7, 11, 0, 0, 2363, 2364, 7, 2, 0, 0, 2364, 2365, + 7, 7, 0, 0, 2365, 286, 1, 0, 0, 0, 2366, 2367, 7, 6, 0, 0, 2367, 2368, + 7, 23, 0, 0, 2368, 2369, 7, 4, 0, 0, 2369, 2370, 7, 6, 0, 0, 2370, 2371, + 7, 7, 0, 0, 2371, 2372, 7, 5, 0, 0, 2372, 2373, 7, 11, 0, 0, 2373, 2374, + 7, 2, 0, 0, 2374, 2375, 7, 7, 0, 0, 2375, 288, 1, 0, 0, 0, 2376, 2377, + 7, 6, 0, 0, 2377, 2378, 7, 23, 0, 0, 2378, 2379, 7, 4, 0, 0, 2379, 2380, + 7, 6, 0, 0, 2380, 2381, 7, 3, 0, 0, 2381, 2382, 7, 7, 0, 0, 2382, 2383, + 7, 0, 0, 0, 2383, 2384, 7, 8, 0, 0, 2384, 290, 1, 0, 0, 0, 2385, 2386, + 7, 6, 0, 0, 2386, 2387, 7, 23, 0, 0, 2387, 2388, 7, 4, 0, 0, 2388, 2389, + 7, 3, 0, 0, 2389, 2390, 7, 0, 0, 0, 2390, 2391, 7, 10, 0, 0, 2391, 2392, + 7, 4, 0, 0, 2392, 292, 1, 0, 0, 0, 2393, 2394, 7, 14, 0, 0, 2394, 2395, + 7, 0, 0, 0, 2395, 2396, 7, 8, 0, 0, 2396, 2397, 7, 5, 0, 0, 2397, 2398, + 7, 6, 0, 0, 2398, 294, 1, 0, 0, 0, 2399, 2400, 7, 14, 0, 0, 2400, 2401, + 7, 0, 0, 0, 2401, 2402, 7, 13, 0, 0, 2402, 2403, 7, 11, 0, 0, 2403, 2404, + 7, 8, 0, 0, 2404, 2405, 7, 17, 0, 0, 2405, 296, 1, 0, 0, 0, 2406, 2407, + 7, 14, 0, 0, 2407, 2408, 7, 6, 0, 0, 2408, 2409, 7, 4, 0, 0, 2409, 2410, + 7, 10, 0, 0, 2410, 2411, 7, 20, 0, 0, 2411, 298, 1, 0, 0, 0, 2412, 2413, + 7, 14, 0, 0, 2413, 2414, 7, 11, 0, 0, 2414, 2415, 7, 8, 0, 0, 2415, 2416, + 7, 4, 0, 0, 2416, 2417, 7, 6, 0, 0, 2417, 2418, 7, 3, 0, 0, 2418, 300, + 1, 0, 0, 0, 2419, 2420, 7, 14, 0, 0, 2420, 2421, 7, 11, 0, 0, 2421, 2422, + 7, 7, 0, 0, 2422, 2423, 7, 0, 0, 0, 2423, 2424, 7, 8, 0, 0, 2424, 2425, + 7, 11, 0, 0, 2425, 2426, 7, 18, 0, 0, 2426, 2427, 7, 6, 0, 0, 2427, 302, + 1, 0, 0, 0, 2428, 2429, 7, 14, 0, 0, 2429, 2430, 7, 11, 0, 0, 2430, 2431, + 7, 3, 0, 0, 2431, 2432, 7, 5, 0, 0, 2432, 2433, 7, 4, 0, 0, 2433, 304, + 1, 0, 0, 0, 2434, 2435, 7, 14, 0, 0, 2435, 2436, 7, 8, 0, 0, 2436, 2437, + 7, 2, 0, 0, 2437, 2438, 7, 0, 0, 0, 2438, 2439, 7, 4, 0, 0, 2439, 306, + 1, 0, 0, 0, 2440, 2441, 7, 14, 0, 0, 2441, 2442, 7, 2, 0, 0, 2442, 2443, + 7, 8, 0, 0, 2443, 2444, 7, 8, 0, 0, 2444, 2445, 7, 2, 0, 0, 2445, 2446, + 7, 16, 0, 0, 2446, 2447, 7, 11, 0, 0, 2447, 2448, 7, 7, 0, 0, 2448, 2449, + 7, 15, 0, 0, 2449, 308, 1, 0, 0, 0, 2450, 2451, 7, 14, 0, 0, 2451, 2452, + 7, 2, 0, 0, 2452, 2453, 7, 3, 0, 0, 2453, 310, 1, 0, 0, 0, 2454, 2455, + 7, 14, 0, 0, 2455, 2456, 7, 2, 0, 0, 2456, 2457, 7, 3, 0, 0, 2457, 2458, + 7, 10, 0, 0, 2458, 2459, 7, 6, 0, 0, 2459, 312, 1, 0, 0, 0, 2460, 2461, + 7, 14, 0, 0, 2461, 2462, 7, 2, 0, 0, 2462, 2463, 7, 3, 0, 0, 2463, 2464, + 7, 6, 0, 0, 2464, 2465, 7, 11, 0, 0, 2465, 2466, 7, 15, 0, 0, 2466, 2467, + 7, 7, 0, 0, 2467, 314, 1, 0, 0, 0, 2468, 2469, 7, 14, 0, 0, 2469, 2470, + 7, 2, 0, 0, 2470, 2471, 7, 3, 0, 0, 2471, 2472, 7, 13, 0, 0, 2472, 2473, + 7, 0, 0, 0, 2473, 2474, 7, 4, 0, 0, 2474, 316, 1, 0, 0, 0, 2475, 2476, + 7, 14, 0, 0, 2476, 2477, 7, 2, 0, 0, 2477, 2478, 7, 3, 0, 0, 2478, 2479, + 7, 16, 0, 0, 2479, 2480, 7, 0, 0, 0, 2480, 2481, 7, 3, 0, 0, 2481, 2482, + 7, 12, 0, 0, 2482, 318, 1, 0, 0, 0, 2483, 2484, 7, 14, 0, 0, 2484, 2485, + 7, 3, 0, 0, 2485, 2486, 7, 6, 0, 0, 2486, 2487, 7, 6, 0, 0, 2487, 2488, + 7, 18, 0, 0, 2488, 2489, 7, 6, 0, 0, 2489, 320, 1, 0, 0, 0, 2490, 2491, + 7, 14, 0, 0, 2491, 2492, 7, 3, 0, 0, 2492, 2493, 7, 2, 0, 0, 2493, 2494, + 7, 13, 0, 0, 2494, 322, 1, 0, 0, 0, 2495, 2496, 7, 14, 0, 0, 2496, 2497, + 7, 9, 0, 0, 2497, 2498, 7, 8, 0, 0, 2498, 2499, 7, 8, 0, 0, 2499, 324, + 1, 0, 0, 0, 2500, 2501, 7, 14, 0, 0, 2501, 2502, 7, 9, 0, 0, 2502, 2503, + 7, 7, 0, 0, 2503, 2504, 7, 10, 0, 0, 2504, 2505, 7, 4, 0, 0, 2505, 2506, + 7, 11, 0, 0, 2506, 2507, 7, 2, 0, 0, 2507, 2508, 7, 7, 0, 0, 2508, 326, + 1, 0, 0, 0, 2509, 2510, 7, 14, 0, 0, 2510, 2511, 7, 9, 0, 0, 2511, 2512, + 7, 7, 0, 0, 2512, 2513, 7, 10, 0, 0, 2513, 2514, 7, 4, 0, 0, 2514, 2515, + 7, 11, 0, 0, 2515, 2516, 7, 2, 0, 0, 2516, 2517, 7, 7, 0, 0, 2517, 2518, + 7, 5, 0, 0, 2518, 328, 1, 0, 0, 0, 2519, 2520, 7, 15, 0, 0, 2520, 2521, + 7, 6, 0, 0, 2521, 2522, 7, 7, 0, 0, 2522, 2523, 7, 6, 0, 0, 2523, 2524, + 7, 3, 0, 0, 2524, 2525, 7, 0, 0, 0, 2525, 2526, 7, 4, 0, 0, 2526, 2527, + 7, 6, 0, 0, 2527, 2528, 7, 12, 0, 0, 2528, 330, 1, 0, 0, 0, 2529, 2530, + 7, 15, 0, 0, 2530, 2531, 7, 8, 0, 0, 2531, 2532, 7, 2, 0, 0, 2532, 2533, + 7, 1, 0, 0, 2533, 2534, 7, 0, 0, 0, 2534, 2535, 7, 8, 0, 0, 2535, 332, + 1, 0, 0, 0, 2536, 2537, 7, 15, 0, 0, 2537, 2538, 7, 3, 0, 0, 2538, 2539, + 7, 0, 0, 0, 2539, 2540, 7, 7, 0, 0, 2540, 2541, 7, 4, 0, 0, 2541, 334, + 1, 0, 0, 0, 2542, 2543, 7, 15, 0, 0, 2543, 2544, 7, 3, 0, 0, 2544, 2545, + 7, 0, 0, 0, 2545, 2546, 7, 7, 0, 0, 2546, 2547, 7, 4, 0, 0, 2547, 2548, + 7, 6, 0, 0, 2548, 2549, 7, 12, 0, 0, 2549, 336, 1, 0, 0, 0, 2550, 2551, + 7, 15, 0, 0, 2551, 2552, 7, 3, 0, 0, 2552, 2553, 7, 6, 0, 0, 2553, 2554, + 7, 0, 0, 0, 2554, 2555, 7, 4, 0, 0, 2555, 2556, 7, 6, 0, 0, 2556, 2557, + 7, 5, 0, 0, 2557, 2558, 7, 4, 0, 0, 2558, 338, 1, 0, 0, 0, 2559, 2560, + 7, 15, 0, 0, 2560, 2561, 7, 3, 0, 0, 2561, 2562, 7, 2, 0, 0, 2562, 2563, + 7, 9, 0, 0, 2563, 2564, 7, 22, 0, 0, 2564, 340, 1, 0, 0, 0, 2565, 2566, + 7, 15, 0, 0, 2566, 2567, 7, 3, 0, 0, 2567, 2568, 7, 2, 0, 0, 2568, 2569, + 7, 9, 0, 0, 2569, 2570, 7, 22, 0, 0, 2570, 2571, 7, 11, 0, 0, 2571, 2572, + 7, 7, 0, 0, 2572, 2573, 7, 15, 0, 0, 2573, 342, 1, 0, 0, 0, 2574, 2575, + 7, 15, 0, 0, 2575, 2576, 7, 3, 0, 0, 2576, 2577, 7, 2, 0, 0, 2577, 2578, + 7, 9, 0, 0, 2578, 2579, 7, 22, 0, 0, 2579, 2580, 7, 5, 0, 0, 2580, 344, + 1, 0, 0, 0, 2581, 2582, 7, 20, 0, 0, 2582, 2583, 7, 0, 0, 0, 2583, 2584, + 7, 7, 0, 0, 2584, 2585, 7, 12, 0, 0, 2585, 2586, 7, 8, 0, 0, 2586, 2587, + 7, 6, 0, 0, 2587, 2588, 7, 3, 0, 0, 2588, 346, 1, 0, 0, 0, 2589, 2590, + 7, 20, 0, 0, 2590, 2591, 7, 0, 0, 0, 2591, 2592, 7, 19, 0, 0, 2592, 2593, + 7, 11, 0, 0, 2593, 2594, 7, 7, 0, 0, 2594, 2595, 7, 15, 0, 0, 2595, 348, + 1, 0, 0, 0, 2596, 2597, 7, 20, 0, 0, 2597, 2598, 7, 6, 0, 0, 2598, 2599, + 7, 0, 0, 0, 2599, 2600, 7, 12, 0, 0, 2600, 2601, 7, 6, 0, 0, 2601, 2602, + 7, 3, 0, 0, 2602, 350, 1, 0, 0, 0, 2603, 2604, 7, 20, 0, 0, 2604, 2605, + 7, 2, 0, 0, 2605, 2606, 7, 8, 0, 0, 2606, 2607, 7, 12, 0, 0, 2607, 352, + 1, 0, 0, 0, 2608, 2609, 7, 20, 0, 0, 2609, 2610, 7, 2, 0, 0, 2610, 2611, + 7, 9, 0, 0, 2611, 2612, 7, 3, 0, 0, 2612, 354, 1, 0, 0, 0, 2613, 2614, + 7, 11, 0, 0, 2614, 2615, 7, 12, 0, 0, 2615, 2616, 7, 6, 0, 0, 2616, 2617, + 7, 7, 0, 0, 2617, 2618, 7, 4, 0, 0, 2618, 2619, 7, 11, 0, 0, 2619, 2620, + 7, 4, 0, 0, 2620, 2621, 7, 17, 0, 0, 2621, 356, 1, 0, 0, 0, 2622, 2623, + 7, 11, 0, 0, 2623, 2624, 7, 14, 0, 0, 2624, 358, 1, 0, 0, 0, 2625, 2626, + 7, 11, 0, 0, 2626, 2627, 7, 8, 0, 0, 2627, 2628, 7, 11, 0, 0, 2628, 2629, + 7, 21, 0, 0, 2629, 2630, 7, 6, 0, 0, 2630, 360, 1, 0, 0, 0, 2631, 2632, + 7, 11, 0, 0, 2632, 2633, 7, 13, 0, 0, 2633, 2634, 7, 13, 0, 0, 2634, 2635, + 7, 6, 0, 0, 2635, 2636, 7, 12, 0, 0, 2636, 2637, 7, 11, 0, 0, 2637, 2638, + 7, 0, 0, 0, 2638, 2639, 7, 4, 0, 0, 2639, 2640, 7, 6, 0, 0, 2640, 362, + 1, 0, 0, 0, 2641, 2642, 7, 11, 0, 0, 2642, 2643, 7, 13, 0, 0, 2643, 2644, + 7, 13, 0, 0, 2644, 2645, 7, 9, 0, 0, 2645, 2646, 7, 4, 0, 0, 2646, 2647, + 7, 0, 0, 0, 2647, 2648, 7, 1, 0, 0, 2648, 2649, 7, 8, 0, 0, 2649, 2650, + 7, 6, 0, 0, 2650, 364, 1, 0, 0, 0, 2651, 2652, 7, 11, 0, 0, 2652, 2653, + 7, 13, 0, 0, 2653, 2654, 7, 22, 0, 0, 2654, 2655, 7, 8, 0, 0, 2655, 2656, + 7, 11, 0, 0, 2656, 2657, 7, 10, 0, 0, 2657, 2658, 7, 11, 0, 0, 2658, 2659, + 7, 4, 0, 0, 2659, 366, 1, 0, 0, 0, 2660, 2661, 7, 11, 0, 0, 2661, 2662, + 7, 13, 0, 0, 2662, 2663, 7, 22, 0, 0, 2663, 2664, 7, 2, 0, 0, 2664, 2665, + 7, 3, 0, 0, 2665, 2666, 7, 4, 0, 0, 2666, 368, 1, 0, 0, 0, 2667, 2668, + 7, 11, 0, 0, 2668, 2669, 7, 7, 0, 0, 2669, 370, 1, 0, 0, 0, 2670, 2671, + 7, 11, 0, 0, 2671, 2672, 7, 7, 0, 0, 2672, 2673, 7, 10, 0, 0, 2673, 2674, + 7, 8, 0, 0, 2674, 2675, 7, 9, 0, 0, 2675, 2676, 7, 12, 0, 0, 2676, 2677, + 7, 6, 0, 0, 2677, 372, 1, 0, 0, 0, 2678, 2679, 7, 11, 0, 0, 2679, 2680, + 7, 7, 0, 0, 2680, 2681, 7, 10, 0, 0, 2681, 2682, 7, 8, 0, 0, 2682, 2683, + 7, 9, 0, 0, 2683, 2684, 7, 12, 0, 0, 2684, 2685, 7, 11, 0, 0, 2685, 2686, + 7, 7, 0, 0, 2686, 2687, 7, 15, 0, 0, 2687, 374, 1, 0, 0, 0, 2688, 2689, + 7, 11, 0, 0, 2689, 2690, 7, 7, 0, 0, 2690, 2691, 7, 10, 0, 0, 2691, 2692, + 7, 3, 0, 0, 2692, 2693, 7, 6, 0, 0, 2693, 2694, 7, 13, 0, 0, 2694, 2695, + 7, 6, 0, 0, 2695, 2696, 7, 7, 0, 0, 2696, 2697, 7, 4, 0, 0, 2697, 376, + 1, 0, 0, 0, 2698, 2699, 7, 11, 0, 0, 2699, 2700, 7, 7, 0, 0, 2700, 2701, + 7, 12, 0, 0, 2701, 2702, 7, 6, 0, 0, 2702, 2703, 7, 7, 0, 0, 2703, 2704, + 7, 4, 0, 0, 2704, 378, 1, 0, 0, 0, 2705, 2706, 7, 11, 0, 0, 2706, 2707, + 7, 7, 0, 0, 2707, 2708, 7, 12, 0, 0, 2708, 2709, 7, 6, 0, 0, 2709, 2710, + 7, 23, 0, 0, 2710, 380, 1, 0, 0, 0, 2711, 2712, 7, 11, 0, 0, 2712, 2713, + 7, 7, 0, 0, 2713, 2714, 7, 12, 0, 0, 2714, 2715, 7, 6, 0, 0, 2715, 2716, + 7, 23, 0, 0, 2716, 2717, 7, 6, 0, 0, 2717, 2718, 7, 5, 0, 0, 2718, 382, + 1, 0, 0, 0, 2719, 2720, 7, 11, 0, 0, 2720, 2721, 7, 7, 0, 0, 2721, 2722, + 7, 20, 0, 0, 2722, 2723, 7, 6, 0, 0, 2723, 2724, 7, 3, 0, 0, 2724, 2725, + 7, 11, 0, 0, 2725, 2726, 7, 4, 0, 0, 2726, 384, 1, 0, 0, 0, 2727, 2728, + 7, 11, 0, 0, 2728, 2729, 7, 7, 0, 0, 2729, 2730, 7, 20, 0, 0, 2730, 2731, + 7, 6, 0, 0, 2731, 2732, 7, 3, 0, 0, 2732, 2733, 7, 11, 0, 0, 2733, 2734, + 7, 4, 0, 0, 2734, 2735, 7, 5, 0, 0, 2735, 386, 1, 0, 0, 0, 2736, 2737, + 7, 11, 0, 0, 2737, 2738, 7, 7, 0, 0, 2738, 2739, 7, 11, 0, 0, 2739, 2740, + 7, 4, 0, 0, 2740, 2741, 7, 11, 0, 0, 2741, 2742, 7, 0, 0, 0, 2742, 2743, + 7, 8, 0, 0, 2743, 2744, 7, 8, 0, 0, 2744, 2745, 7, 17, 0, 0, 2745, 388, + 1, 0, 0, 0, 2746, 2747, 7, 11, 0, 0, 2747, 2748, 7, 7, 0, 0, 2748, 2749, + 7, 8, 0, 0, 2749, 2750, 7, 11, 0, 0, 2750, 2751, 7, 7, 0, 0, 2751, 2752, + 7, 6, 0, 0, 2752, 390, 1, 0, 0, 0, 2753, 2754, 7, 11, 0, 0, 2754, 2755, + 7, 7, 0, 0, 2755, 2756, 7, 7, 0, 0, 2756, 2757, 7, 6, 0, 0, 2757, 2758, + 7, 3, 0, 0, 2758, 392, 1, 0, 0, 0, 2759, 2760, 7, 11, 0, 0, 2760, 2761, + 7, 7, 0, 0, 2761, 2762, 7, 2, 0, 0, 2762, 2763, 7, 9, 0, 0, 2763, 2764, + 7, 4, 0, 0, 2764, 394, 1, 0, 0, 0, 2765, 2766, 7, 11, 0, 0, 2766, 2767, + 7, 7, 0, 0, 2767, 2768, 7, 22, 0, 0, 2768, 2769, 7, 9, 0, 0, 2769, 2770, + 7, 4, 0, 0, 2770, 396, 1, 0, 0, 0, 2771, 2772, 7, 11, 0, 0, 2772, 2773, + 7, 7, 0, 0, 2773, 2774, 7, 5, 0, 0, 2774, 2775, 7, 6, 0, 0, 2775, 2776, + 7, 7, 0, 0, 2776, 2777, 7, 5, 0, 0, 2777, 2778, 7, 11, 0, 0, 2778, 2779, + 7, 4, 0, 0, 2779, 2780, 7, 11, 0, 0, 2780, 2781, 7, 19, 0, 0, 2781, 2782, + 7, 6, 0, 0, 2782, 398, 1, 0, 0, 0, 2783, 2784, 7, 11, 0, 0, 2784, 2785, + 7, 7, 0, 0, 2785, 2786, 7, 5, 0, 0, 2786, 2787, 7, 6, 0, 0, 2787, 2788, + 7, 3, 0, 0, 2788, 2789, 7, 4, 0, 0, 2789, 400, 1, 0, 0, 0, 2790, 2791, + 7, 11, 0, 0, 2791, 2792, 7, 7, 0, 0, 2792, 2793, 7, 5, 0, 0, 2793, 2794, + 7, 4, 0, 0, 2794, 2795, 7, 6, 0, 0, 2795, 2796, 7, 0, 0, 0, 2796, 2797, + 7, 12, 0, 0, 2797, 402, 1, 0, 0, 0, 2798, 2799, 7, 11, 0, 0, 2799, 2800, + 7, 7, 0, 0, 2800, 2801, 7, 4, 0, 0, 2801, 404, 1, 0, 0, 0, 2802, 2803, + 7, 11, 0, 0, 2803, 2804, 7, 7, 0, 0, 2804, 2805, 7, 4, 0, 0, 2805, 2806, + 7, 6, 0, 0, 2806, 2807, 7, 15, 0, 0, 2807, 2808, 7, 6, 0, 0, 2808, 2809, + 7, 3, 0, 0, 2809, 406, 1, 0, 0, 0, 2810, 2811, 7, 11, 0, 0, 2811, 2812, + 7, 7, 0, 0, 2812, 2813, 7, 4, 0, 0, 2813, 2814, 7, 6, 0, 0, 2814, 2815, + 7, 3, 0, 0, 2815, 2816, 7, 5, 0, 0, 2816, 2817, 7, 6, 0, 0, 2817, 2818, + 7, 10, 0, 0, 2818, 2819, 7, 4, 0, 0, 2819, 408, 1, 0, 0, 0, 2820, 2821, + 7, 11, 0, 0, 2821, 2822, 7, 7, 0, 0, 2822, 2823, 7, 4, 0, 0, 2823, 2824, + 7, 6, 0, 0, 2824, 2825, 7, 3, 0, 0, 2825, 2826, 7, 19, 0, 0, 2826, 2827, + 7, 0, 0, 0, 2827, 2828, 7, 8, 0, 0, 2828, 410, 1, 0, 0, 0, 2829, 2830, + 7, 11, 0, 0, 2830, 2831, 7, 7, 0, 0, 2831, 2832, 7, 4, 0, 0, 2832, 2833, + 7, 2, 0, 0, 2833, 412, 1, 0, 0, 0, 2834, 2835, 7, 11, 0, 0, 2835, 2836, + 7, 7, 0, 0, 2836, 2837, 7, 19, 0, 0, 2837, 2838, 7, 2, 0, 0, 2838, 2839, + 7, 21, 0, 0, 2839, 2840, 7, 6, 0, 0, 2840, 2841, 7, 3, 0, 0, 2841, 414, + 1, 0, 0, 0, 2842, 2843, 7, 11, 0, 0, 2843, 2844, 7, 5, 0, 0, 2844, 416, + 1, 0, 0, 0, 2845, 2846, 7, 11, 0, 0, 2846, 2847, 7, 5, 0, 0, 2847, 2848, + 7, 7, 0, 0, 2848, 2849, 7, 9, 0, 0, 2849, 2850, 7, 8, 0, 0, 2850, 2851, + 7, 8, 0, 0, 2851, 418, 1, 0, 0, 0, 2852, 2853, 7, 11, 0, 0, 2853, 2854, + 7, 5, 0, 0, 2854, 2855, 7, 2, 0, 0, 2855, 2856, 7, 8, 0, 0, 2856, 2857, + 7, 0, 0, 0, 2857, 2858, 7, 4, 0, 0, 2858, 2859, 7, 11, 0, 0, 2859, 2860, + 7, 2, 0, 0, 2860, 2861, 7, 7, 0, 0, 2861, 420, 1, 0, 0, 0, 2862, 2863, + 7, 24, 0, 0, 2863, 2864, 7, 2, 0, 0, 2864, 2865, 7, 11, 0, 0, 2865, 2866, + 7, 7, 0, 0, 2866, 422, 1, 0, 0, 0, 2867, 2868, 7, 24, 0, 0, 2868, 2869, + 7, 5, 0, 0, 2869, 2870, 7, 2, 0, 0, 2870, 2871, 7, 7, 0, 0, 2871, 424, + 1, 0, 0, 0, 2872, 2873, 7, 24, 0, 0, 2873, 2874, 7, 5, 0, 0, 2874, 2875, + 7, 2, 0, 0, 2875, 2876, 7, 7, 0, 0, 2876, 2877, 5, 95, 0, 0, 2877, 2878, + 7, 0, 0, 0, 2878, 2879, 7, 3, 0, 0, 2879, 2880, 7, 3, 0, 0, 2880, 2881, + 7, 0, 0, 0, 2881, 2882, 7, 17, 0, 0, 2882, 426, 1, 0, 0, 0, 2883, 2884, + 7, 24, 0, 0, 2884, 2885, 7, 5, 0, 0, 2885, 2886, 7, 2, 0, 0, 2886, 2887, + 7, 7, 0, 0, 2887, 2888, 5, 95, 0, 0, 2888, 2889, 7, 0, 0, 0, 2889, 2890, + 7, 3, 0, 0, 2890, 2891, 7, 3, 0, 0, 2891, 2892, 7, 0, 0, 0, 2892, 2893, + 7, 17, 0, 0, 2893, 2894, 7, 0, 0, 0, 2894, 2895, 7, 15, 0, 0, 2895, 2896, + 7, 15, 0, 0, 2896, 428, 1, 0, 0, 0, 2897, 2898, 7, 24, 0, 0, 2898, 2899, + 7, 5, 0, 0, 2899, 2900, 7, 2, 0, 0, 2900, 2901, 7, 7, 0, 0, 2901, 2902, + 5, 95, 0, 0, 2902, 2903, 7, 6, 0, 0, 2903, 2904, 7, 23, 0, 0, 2904, 2905, + 7, 11, 0, 0, 2905, 2906, 7, 5, 0, 0, 2906, 2907, 7, 4, 0, 0, 2907, 2908, + 7, 5, 0, 0, 2908, 430, 1, 0, 0, 0, 2909, 2910, 7, 24, 0, 0, 2910, 2911, + 7, 5, 0, 0, 2911, 2912, 7, 2, 0, 0, 2912, 2913, 7, 7, 0, 0, 2913, 2914, + 5, 95, 0, 0, 2914, 2915, 7, 2, 0, 0, 2915, 2916, 7, 1, 0, 0, 2916, 2917, + 7, 24, 0, 0, 2917, 2918, 7, 6, 0, 0, 2918, 2919, 7, 10, 0, 0, 2919, 2920, + 7, 4, 0, 0, 2920, 432, 1, 0, 0, 0, 2921, 2922, 7, 24, 0, 0, 2922, 2923, + 7, 5, 0, 0, 2923, 2924, 7, 2, 0, 0, 2924, 2925, 7, 7, 0, 0, 2925, 2926, + 5, 95, 0, 0, 2926, 2927, 7, 2, 0, 0, 2927, 2928, 7, 1, 0, 0, 2928, 2929, + 7, 24, 0, 0, 2929, 2930, 7, 6, 0, 0, 2930, 2931, 7, 10, 0, 0, 2931, 2932, + 7, 4, 0, 0, 2932, 2933, 7, 0, 0, 0, 2933, 2934, 7, 15, 0, 0, 2934, 2935, + 7, 15, 0, 0, 2935, 434, 1, 0, 0, 0, 2936, 2937, 7, 24, 0, 0, 2937, 2938, + 7, 5, 0, 0, 2938, 2939, 7, 2, 0, 0, 2939, 2940, 7, 7, 0, 0, 2940, 2941, + 5, 95, 0, 0, 2941, 2942, 7, 25, 0, 0, 2942, 2943, 7, 9, 0, 0, 2943, 2944, + 7, 6, 0, 0, 2944, 2945, 7, 3, 0, 0, 2945, 2946, 7, 17, 0, 0, 2946, 436, + 1, 0, 0, 0, 2947, 2948, 7, 24, 0, 0, 2948, 2949, 7, 5, 0, 0, 2949, 2950, + 7, 2, 0, 0, 2950, 2951, 7, 7, 0, 0, 2951, 2952, 5, 95, 0, 0, 2952, 2953, + 7, 5, 0, 0, 2953, 2954, 7, 10, 0, 0, 2954, 2955, 7, 0, 0, 0, 2955, 2956, + 7, 8, 0, 0, 2956, 2957, 7, 0, 0, 0, 2957, 2958, 7, 3, 0, 0, 2958, 438, + 1, 0, 0, 0, 2959, 2960, 7, 24, 0, 0, 2960, 2961, 7, 5, 0, 0, 2961, 2962, + 7, 2, 0, 0, 2962, 2963, 7, 7, 0, 0, 2963, 2964, 5, 95, 0, 0, 2964, 2965, + 7, 5, 0, 0, 2965, 2966, 7, 6, 0, 0, 2966, 2967, 7, 3, 0, 0, 2967, 2968, + 7, 11, 0, 0, 2968, 2969, 7, 0, 0, 0, 2969, 2970, 7, 8, 0, 0, 2970, 2971, + 7, 11, 0, 0, 2971, 2972, 7, 18, 0, 0, 2972, 2973, 7, 6, 0, 0, 2973, 440, + 1, 0, 0, 0, 2974, 2975, 7, 24, 0, 0, 2975, 2976, 7, 5, 0, 0, 2976, 2977, + 7, 2, 0, 0, 2977, 2978, 7, 7, 0, 0, 2978, 2979, 5, 95, 0, 0, 2979, 2980, + 7, 4, 0, 0, 2980, 2981, 7, 0, 0, 0, 2981, 2982, 7, 1, 0, 0, 2982, 2983, + 7, 8, 0, 0, 2983, 2984, 7, 6, 0, 0, 2984, 442, 1, 0, 0, 0, 2985, 2986, + 7, 24, 0, 0, 2986, 2987, 7, 5, 0, 0, 2987, 2988, 7, 2, 0, 0, 2988, 2989, + 7, 7, 0, 0, 2989, 2990, 5, 95, 0, 0, 2990, 2991, 7, 19, 0, 0, 2991, 2992, + 7, 0, 0, 0, 2992, 2993, 7, 8, 0, 0, 2993, 2994, 7, 9, 0, 0, 2994, 2995, + 7, 6, 0, 0, 2995, 444, 1, 0, 0, 0, 2996, 2997, 7, 21, 0, 0, 2997, 2998, + 7, 6, 0, 0, 2998, 2999, 7, 6, 0, 0, 2999, 3000, 7, 22, 0, 0, 3000, 446, + 1, 0, 0, 0, 3001, 3002, 7, 21, 0, 0, 3002, 3003, 7, 6, 0, 0, 3003, 3004, + 7, 17, 0, 0, 3004, 448, 1, 0, 0, 0, 3005, 3006, 7, 21, 0, 0, 3006, 3007, + 7, 6, 0, 0, 3007, 3008, 7, 17, 0, 0, 3008, 3009, 7, 5, 0, 0, 3009, 450, + 1, 0, 0, 0, 3010, 3011, 7, 8, 0, 0, 3011, 3012, 7, 0, 0, 0, 3012, 3013, + 7, 1, 0, 0, 3013, 3014, 7, 6, 0, 0, 3014, 3015, 7, 8, 0, 0, 3015, 452, + 1, 0, 0, 0, 3016, 3017, 7, 8, 0, 0, 3017, 3018, 7, 0, 0, 0, 3018, 3019, + 7, 7, 0, 0, 3019, 3020, 7, 15, 0, 0, 3020, 3021, 7, 9, 0, 0, 3021, 3022, + 7, 0, 0, 0, 3022, 3023, 7, 15, 0, 0, 3023, 3024, 7, 6, 0, 0, 3024, 454, + 1, 0, 0, 0, 3025, 3026, 7, 8, 0, 0, 3026, 3027, 7, 0, 0, 0, 3027, 3028, + 7, 3, 0, 0, 3028, 3029, 7, 15, 0, 0, 3029, 3030, 7, 6, 0, 0, 3030, 456, + 1, 0, 0, 0, 3031, 3032, 7, 8, 0, 0, 3032, 3033, 7, 0, 0, 0, 3033, 3034, + 7, 5, 0, 0, 3034, 3035, 7, 4, 0, 0, 3035, 458, 1, 0, 0, 0, 3036, 3037, + 7, 8, 0, 0, 3037, 3038, 7, 0, 0, 0, 3038, 3039, 7, 4, 0, 0, 3039, 3040, + 7, 6, 0, 0, 3040, 3041, 7, 3, 0, 0, 3041, 3042, 7, 0, 0, 0, 3042, 3043, + 7, 8, 0, 0, 3043, 460, 1, 0, 0, 0, 3044, 3045, 7, 8, 0, 0, 3045, 3046, + 7, 6, 0, 0, 3046, 3047, 7, 0, 0, 0, 3047, 3048, 7, 12, 0, 0, 3048, 3049, + 7, 11, 0, 0, 3049, 3050, 7, 7, 0, 0, 3050, 3051, 7, 15, 0, 0, 3051, 462, + 1, 0, 0, 0, 3052, 3053, 7, 8, 0, 0, 3053, 3054, 7, 6, 0, 0, 3054, 3055, + 7, 0, 0, 0, 3055, 3056, 7, 21, 0, 0, 3056, 3057, 7, 22, 0, 0, 3057, 3058, + 7, 3, 0, 0, 3058, 3059, 7, 2, 0, 0, 3059, 3060, 7, 2, 0, 0, 3060, 3061, + 7, 14, 0, 0, 3061, 464, 1, 0, 0, 0, 3062, 3063, 7, 8, 0, 0, 3063, 3064, + 7, 6, 0, 0, 3064, 3065, 7, 0, 0, 0, 3065, 3066, 7, 5, 0, 0, 3066, 3067, + 7, 4, 0, 0, 3067, 466, 1, 0, 0, 0, 3068, 3069, 7, 8, 0, 0, 3069, 3070, + 7, 6, 0, 0, 3070, 3071, 7, 14, 0, 0, 3071, 3072, 7, 4, 0, 0, 3072, 468, + 1, 0, 0, 0, 3073, 3074, 7, 8, 0, 0, 3074, 3075, 7, 6, 0, 0, 3075, 3076, + 7, 19, 0, 0, 3076, 3077, 7, 6, 0, 0, 3077, 3078, 7, 8, 0, 0, 3078, 470, + 1, 0, 0, 0, 3079, 3080, 7, 8, 0, 0, 3080, 3081, 7, 11, 0, 0, 3081, 3082, + 7, 21, 0, 0, 3082, 3083, 7, 6, 0, 0, 3083, 472, 1, 0, 0, 0, 3084, 3085, + 7, 8, 0, 0, 3085, 3086, 7, 11, 0, 0, 3086, 3087, 7, 13, 0, 0, 3087, 3088, + 7, 11, 0, 0, 3088, 3089, 7, 4, 0, 0, 3089, 474, 1, 0, 0, 0, 3090, 3091, + 7, 8, 0, 0, 3091, 3092, 7, 11, 0, 0, 3092, 3093, 7, 5, 0, 0, 3093, 3094, + 7, 4, 0, 0, 3094, 3095, 7, 6, 0, 0, 3095, 3096, 7, 7, 0, 0, 3096, 476, + 1, 0, 0, 0, 3097, 3098, 7, 8, 0, 0, 3098, 3099, 7, 2, 0, 0, 3099, 3100, + 7, 0, 0, 0, 3100, 3101, 7, 12, 0, 0, 3101, 478, 1, 0, 0, 0, 3102, 3103, + 7, 8, 0, 0, 3103, 3104, 7, 2, 0, 0, 3104, 3105, 7, 10, 0, 0, 3105, 3106, + 7, 0, 0, 0, 3106, 3107, 7, 8, 0, 0, 3107, 480, 1, 0, 0, 0, 3108, 3109, + 7, 8, 0, 0, 3109, 3110, 7, 2, 0, 0, 3110, 3111, 7, 10, 0, 0, 3111, 3112, + 7, 0, 0, 0, 3112, 3113, 7, 8, 0, 0, 3113, 3114, 7, 4, 0, 0, 3114, 3115, + 7, 11, 0, 0, 3115, 3116, 7, 13, 0, 0, 3116, 3117, 7, 6, 0, 0, 3117, 482, + 1, 0, 0, 0, 3118, 3119, 7, 8, 0, 0, 3119, 3120, 7, 2, 0, 0, 3120, 3121, + 7, 10, 0, 0, 3121, 3122, 7, 0, 0, 0, 3122, 3123, 7, 8, 0, 0, 3123, 3124, + 7, 4, 0, 0, 3124, 3125, 7, 11, 0, 0, 3125, 3126, 7, 13, 0, 0, 3126, 3127, + 7, 6, 0, 0, 3127, 3128, 7, 5, 0, 0, 3128, 3129, 7, 4, 0, 0, 3129, 3130, + 7, 0, 0, 0, 3130, 3131, 7, 13, 0, 0, 3131, 3132, 7, 22, 0, 0, 3132, 484, + 1, 0, 0, 0, 3133, 3134, 7, 8, 0, 0, 3134, 3135, 7, 2, 0, 0, 3135, 3136, + 7, 10, 0, 0, 3136, 3137, 7, 0, 0, 0, 3137, 3138, 7, 4, 0, 0, 3138, 3139, + 7, 11, 0, 0, 3139, 3140, 7, 2, 0, 0, 3140, 3141, 7, 7, 0, 0, 3141, 486, + 1, 0, 0, 0, 3142, 3143, 7, 8, 0, 0, 3143, 3144, 7, 2, 0, 0, 3144, 3145, + 7, 10, 0, 0, 3145, 3146, 7, 21, 0, 0, 3146, 488, 1, 0, 0, 0, 3147, 3148, + 7, 8, 0, 0, 3148, 3149, 7, 2, 0, 0, 3149, 3150, 7, 10, 0, 0, 3150, 3151, + 7, 21, 0, 0, 3151, 3152, 7, 6, 0, 0, 3152, 3153, 7, 12, 0, 0, 3153, 490, + 1, 0, 0, 0, 3154, 3155, 7, 8, 0, 0, 3155, 3156, 7, 2, 0, 0, 3156, 3157, + 7, 15, 0, 0, 3157, 3158, 7, 15, 0, 0, 3158, 3159, 7, 6, 0, 0, 3159, 3160, + 7, 12, 0, 0, 3160, 492, 1, 0, 0, 0, 3161, 3162, 7, 13, 0, 0, 3162, 3163, + 7, 0, 0, 0, 3163, 3164, 7, 22, 0, 0, 3164, 3165, 7, 22, 0, 0, 3165, 3166, + 7, 11, 0, 0, 3166, 3167, 7, 7, 0, 0, 3167, 3168, 7, 15, 0, 0, 3168, 494, + 1, 0, 0, 0, 3169, 3170, 7, 13, 0, 0, 3170, 3171, 7, 0, 0, 0, 3171, 3172, + 7, 4, 0, 0, 3172, 3173, 7, 10, 0, 0, 3173, 3174, 7, 20, 0, 0, 3174, 496, + 1, 0, 0, 0, 3175, 3176, 7, 13, 0, 0, 3176, 3177, 7, 0, 0, 0, 3177, 3178, + 7, 4, 0, 0, 3178, 3179, 7, 10, 0, 0, 3179, 3180, 7, 20, 0, 0, 3180, 3181, + 7, 6, 0, 0, 3181, 3182, 7, 12, 0, 0, 3182, 498, 1, 0, 0, 0, 3183, 3184, + 7, 13, 0, 0, 3184, 3185, 7, 0, 0, 0, 3185, 3186, 7, 4, 0, 0, 3186, 3187, + 7, 6, 0, 0, 3187, 3188, 7, 3, 0, 0, 3188, 3189, 7, 11, 0, 0, 3189, 3190, + 7, 0, 0, 0, 3190, 3191, 7, 8, 0, 0, 3191, 3192, 7, 11, 0, 0, 3192, 3193, + 7, 18, 0, 0, 3193, 3194, 7, 6, 0, 0, 3194, 3195, 7, 12, 0, 0, 3195, 500, + 1, 0, 0, 0, 3196, 3197, 7, 13, 0, 0, 3197, 3198, 7, 0, 0, 0, 3198, 3199, + 7, 23, 0, 0, 3199, 3200, 7, 19, 0, 0, 3200, 3201, 7, 0, 0, 0, 3201, 3202, + 7, 8, 0, 0, 3202, 3203, 7, 9, 0, 0, 3203, 3204, 7, 6, 0, 0, 3204, 502, + 1, 0, 0, 0, 3205, 3206, 7, 13, 0, 0, 3206, 3207, 7, 6, 0, 0, 3207, 3208, + 7, 3, 0, 0, 3208, 3209, 7, 15, 0, 0, 3209, 3210, 7, 6, 0, 0, 3210, 504, + 1, 0, 0, 0, 3211, 3212, 7, 13, 0, 0, 3212, 3213, 7, 6, 0, 0, 3213, 3214, + 7, 3, 0, 0, 3214, 3215, 7, 15, 0, 0, 3215, 3216, 7, 6, 0, 0, 3216, 3217, + 5, 95, 0, 0, 3217, 3218, 7, 0, 0, 0, 3218, 3219, 7, 10, 0, 0, 3219, 3220, + 7, 4, 0, 0, 3220, 3221, 7, 11, 0, 0, 3221, 3222, 7, 2, 0, 0, 3222, 3223, + 7, 7, 0, 0, 3223, 506, 1, 0, 0, 0, 3224, 3225, 7, 13, 0, 0, 3225, 3226, + 7, 6, 0, 0, 3226, 3227, 7, 4, 0, 0, 3227, 3228, 7, 20, 0, 0, 3228, 3229, + 7, 2, 0, 0, 3229, 3230, 7, 12, 0, 0, 3230, 508, 1, 0, 0, 0, 3231, 3232, + 7, 13, 0, 0, 3232, 3233, 7, 11, 0, 0, 3233, 3234, 7, 7, 0, 0, 3234, 3235, + 7, 9, 0, 0, 3235, 3236, 7, 4, 0, 0, 3236, 3237, 7, 6, 0, 0, 3237, 510, + 1, 0, 0, 0, 3238, 3239, 7, 13, 0, 0, 3239, 3240, 7, 11, 0, 0, 3240, 3241, + 7, 7, 0, 0, 3241, 3242, 7, 19, 0, 0, 3242, 3243, 7, 0, 0, 0, 3243, 3244, + 7, 8, 0, 0, 3244, 3245, 7, 9, 0, 0, 3245, 3246, 7, 6, 0, 0, 3246, 512, + 1, 0, 0, 0, 3247, 3248, 7, 13, 0, 0, 3248, 3249, 7, 2, 0, 0, 3249, 3250, + 7, 12, 0, 0, 3250, 3251, 7, 6, 0, 0, 3251, 514, 1, 0, 0, 0, 3252, 3253, + 7, 13, 0, 0, 3253, 3254, 7, 2, 0, 0, 3254, 3255, 7, 7, 0, 0, 3255, 3256, + 7, 4, 0, 0, 3256, 3257, 7, 20, 0, 0, 3257, 516, 1, 0, 0, 0, 3258, 3259, + 7, 13, 0, 0, 3259, 3260, 7, 2, 0, 0, 3260, 3261, 7, 19, 0, 0, 3261, 3262, + 7, 6, 0, 0, 3262, 518, 1, 0, 0, 0, 3263, 3264, 7, 7, 0, 0, 3264, 3265, + 7, 0, 0, 0, 3265, 3266, 7, 13, 0, 0, 3266, 3267, 7, 6, 0, 0, 3267, 520, + 1, 0, 0, 0, 3268, 3269, 7, 7, 0, 0, 3269, 3270, 7, 0, 0, 0, 3270, 3271, + 7, 13, 0, 0, 3271, 3272, 7, 6, 0, 0, 3272, 3273, 7, 5, 0, 0, 3273, 522, + 1, 0, 0, 0, 3274, 3275, 7, 7, 0, 0, 3275, 3276, 7, 0, 0, 0, 3276, 3277, + 7, 4, 0, 0, 3277, 3278, 7, 11, 0, 0, 3278, 3279, 7, 2, 0, 0, 3279, 3280, + 7, 7, 0, 0, 3280, 3281, 7, 0, 0, 0, 3281, 3282, 7, 8, 0, 0, 3282, 524, + 1, 0, 0, 0, 3283, 3284, 7, 7, 0, 0, 3284, 3285, 7, 0, 0, 0, 3285, 3286, + 7, 4, 0, 0, 3286, 3287, 7, 9, 0, 0, 3287, 3288, 7, 3, 0, 0, 3288, 3289, + 7, 0, 0, 0, 3289, 3290, 7, 8, 0, 0, 3290, 526, 1, 0, 0, 0, 3291, 3292, + 7, 7, 0, 0, 3292, 3293, 7, 10, 0, 0, 3293, 3294, 7, 20, 0, 0, 3294, 3295, + 7, 0, 0, 0, 3295, 3296, 7, 3, 0, 0, 3296, 528, 1, 0, 0, 0, 3297, 3298, + 7, 7, 0, 0, 3298, 3299, 7, 6, 0, 0, 3299, 3300, 7, 5, 0, 0, 3300, 3301, + 7, 4, 0, 0, 3301, 3302, 7, 6, 0, 0, 3302, 3303, 7, 12, 0, 0, 3303, 530, + 1, 0, 0, 0, 3304, 3305, 7, 7, 0, 0, 3305, 3306, 7, 6, 0, 0, 3306, 3307, + 7, 16, 0, 0, 3307, 532, 1, 0, 0, 0, 3308, 3309, 7, 7, 0, 0, 3309, 3310, + 7, 6, 0, 0, 3310, 3311, 7, 23, 0, 0, 3311, 3312, 7, 4, 0, 0, 3312, 534, + 1, 0, 0, 0, 3313, 3314, 7, 7, 0, 0, 3314, 3315, 7, 14, 0, 0, 3315, 3316, + 7, 10, 0, 0, 3316, 536, 1, 0, 0, 0, 3317, 3318, 7, 7, 0, 0, 3318, 3319, + 7, 14, 0, 0, 3319, 3320, 7, 12, 0, 0, 3320, 538, 1, 0, 0, 0, 3321, 3322, + 7, 7, 0, 0, 3322, 3323, 7, 14, 0, 0, 3323, 3324, 7, 21, 0, 0, 3324, 3325, + 7, 10, 0, 0, 3325, 540, 1, 0, 0, 0, 3326, 3327, 7, 7, 0, 0, 3327, 3328, + 7, 14, 0, 0, 3328, 3329, 7, 21, 0, 0, 3329, 3330, 7, 12, 0, 0, 3330, 542, + 1, 0, 0, 0, 3331, 3332, 7, 7, 0, 0, 3332, 3333, 7, 2, 0, 0, 3333, 544, + 1, 0, 0, 0, 3334, 3335, 7, 7, 0, 0, 3335, 3336, 7, 2, 0, 0, 3336, 3337, + 7, 7, 0, 0, 3337, 3338, 7, 6, 0, 0, 3338, 546, 1, 0, 0, 0, 3339, 3340, + 7, 7, 0, 0, 3340, 3341, 7, 2, 0, 0, 3341, 3342, 7, 3, 0, 0, 3342, 3343, + 7, 13, 0, 0, 3343, 3344, 7, 0, 0, 0, 3344, 3345, 7, 8, 0, 0, 3345, 3346, + 7, 11, 0, 0, 3346, 3347, 7, 18, 0, 0, 3347, 3348, 7, 6, 0, 0, 3348, 548, + 1, 0, 0, 0, 3349, 3350, 7, 7, 0, 0, 3350, 3351, 7, 2, 0, 0, 3351, 3352, + 7, 3, 0, 0, 3352, 3353, 7, 13, 0, 0, 3353, 3354, 7, 0, 0, 0, 3354, 3355, + 7, 8, 0, 0, 3355, 3356, 7, 11, 0, 0, 3356, 3357, 7, 18, 0, 0, 3357, 3358, + 7, 6, 0, 0, 3358, 3359, 7, 12, 0, 0, 3359, 550, 1, 0, 0, 0, 3360, 3361, + 7, 7, 0, 0, 3361, 3362, 7, 2, 0, 0, 3362, 3363, 7, 4, 0, 0, 3363, 552, + 1, 0, 0, 0, 3364, 3365, 7, 7, 0, 0, 3365, 3366, 7, 2, 0, 0, 3366, 3367, + 7, 4, 0, 0, 3367, 3368, 7, 20, 0, 0, 3368, 3369, 7, 11, 0, 0, 3369, 3370, + 7, 7, 0, 0, 3370, 3371, 7, 15, 0, 0, 3371, 554, 1, 0, 0, 0, 3372, 3373, + 7, 7, 0, 0, 3373, 3374, 7, 2, 0, 0, 3374, 3375, 7, 4, 0, 0, 3375, 3376, + 7, 11, 0, 0, 3376, 3377, 7, 14, 0, 0, 3377, 3378, 7, 17, 0, 0, 3378, 556, + 1, 0, 0, 0, 3379, 3380, 7, 7, 0, 0, 3380, 3381, 7, 2, 0, 0, 3381, 3382, + 7, 4, 0, 0, 3382, 3383, 7, 7, 0, 0, 3383, 3384, 7, 9, 0, 0, 3384, 3385, + 7, 8, 0, 0, 3385, 3386, 7, 8, 0, 0, 3386, 558, 1, 0, 0, 0, 3387, 3388, + 7, 7, 0, 0, 3388, 3389, 7, 2, 0, 0, 3389, 3390, 7, 16, 0, 0, 3390, 3391, + 7, 0, 0, 0, 3391, 3392, 7, 11, 0, 0, 3392, 3393, 7, 4, 0, 0, 3393, 560, + 1, 0, 0, 0, 3394, 3395, 7, 7, 0, 0, 3395, 3396, 7, 9, 0, 0, 3396, 3397, + 7, 8, 0, 0, 3397, 3398, 7, 8, 0, 0, 3398, 562, 1, 0, 0, 0, 3399, 3400, + 7, 7, 0, 0, 3400, 3401, 7, 9, 0, 0, 3401, 3402, 7, 8, 0, 0, 3402, 3403, + 7, 8, 0, 0, 3403, 3404, 7, 11, 0, 0, 3404, 3405, 7, 14, 0, 0, 3405, 564, + 1, 0, 0, 0, 3406, 3407, 7, 7, 0, 0, 3407, 3408, 7, 9, 0, 0, 3408, 3409, + 7, 8, 0, 0, 3409, 3410, 7, 8, 0, 0, 3410, 3411, 7, 5, 0, 0, 3411, 566, + 1, 0, 0, 0, 3412, 3413, 7, 7, 0, 0, 3413, 3414, 7, 9, 0, 0, 3414, 3415, + 7, 13, 0, 0, 3415, 3416, 7, 6, 0, 0, 3416, 3417, 7, 3, 0, 0, 3417, 3418, + 7, 11, 0, 0, 3418, 3419, 7, 10, 0, 0, 3419, 568, 1, 0, 0, 0, 3420, 3421, + 7, 2, 0, 0, 3421, 3422, 7, 1, 0, 0, 3422, 3423, 7, 24, 0, 0, 3423, 3424, + 7, 6, 0, 0, 3424, 3425, 7, 10, 0, 0, 3425, 3426, 7, 4, 0, 0, 3426, 570, + 1, 0, 0, 0, 3427, 3428, 7, 2, 0, 0, 3428, 3429, 7, 1, 0, 0, 3429, 3430, + 7, 24, 0, 0, 3430, 3431, 7, 6, 0, 0, 3431, 3432, 7, 10, 0, 0, 3432, 3433, + 7, 4, 0, 0, 3433, 3434, 7, 5, 0, 0, 3434, 572, 1, 0, 0, 0, 3435, 3436, + 7, 2, 0, 0, 3436, 3437, 7, 14, 0, 0, 3437, 574, 1, 0, 0, 0, 3438, 3439, + 7, 2, 0, 0, 3439, 3440, 7, 14, 0, 0, 3440, 3441, 7, 14, 0, 0, 3441, 576, + 1, 0, 0, 0, 3442, 3443, 7, 2, 0, 0, 3443, 3444, 7, 14, 0, 0, 3444, 3445, + 7, 14, 0, 0, 3445, 3446, 7, 5, 0, 0, 3446, 3447, 7, 6, 0, 0, 3447, 3448, + 7, 4, 0, 0, 3448, 578, 1, 0, 0, 0, 3449, 3450, 7, 2, 0, 0, 3450, 3451, + 7, 11, 0, 0, 3451, 3452, 7, 12, 0, 0, 3452, 3453, 7, 5, 0, 0, 3453, 580, + 1, 0, 0, 0, 3454, 3455, 7, 2, 0, 0, 3455, 3456, 7, 8, 0, 0, 3456, 3457, + 7, 12, 0, 0, 3457, 582, 1, 0, 0, 0, 3458, 3459, 7, 2, 0, 0, 3459, 3460, + 7, 13, 0, 0, 3460, 3461, 7, 11, 0, 0, 3461, 3462, 7, 4, 0, 0, 3462, 584, + 1, 0, 0, 0, 3463, 3464, 7, 2, 0, 0, 3464, 3465, 7, 7, 0, 0, 3465, 586, + 1, 0, 0, 0, 3466, 3467, 7, 2, 0, 0, 3467, 3468, 7, 7, 0, 0, 3468, 3469, + 7, 8, 0, 0, 3469, 3470, 7, 17, 0, 0, 3470, 588, 1, 0, 0, 0, 3471, 3472, + 7, 2, 0, 0, 3472, 3473, 7, 22, 0, 0, 3473, 3474, 7, 6, 0, 0, 3474, 3475, + 7, 3, 0, 0, 3475, 3476, 7, 0, 0, 0, 3476, 3477, 7, 4, 0, 0, 3477, 3478, + 7, 2, 0, 0, 3478, 3479, 7, 3, 0, 0, 3479, 590, 1, 0, 0, 0, 3480, 3481, + 7, 2, 0, 0, 3481, 3482, 7, 22, 0, 0, 3482, 3483, 7, 4, 0, 0, 3483, 3484, + 7, 11, 0, 0, 3484, 3485, 7, 2, 0, 0, 3485, 3486, 7, 7, 0, 0, 3486, 592, + 1, 0, 0, 0, 3487, 3488, 7, 2, 0, 0, 3488, 3489, 7, 22, 0, 0, 3489, 3490, + 7, 4, 0, 0, 3490, 3491, 7, 11, 0, 0, 3491, 3492, 7, 2, 0, 0, 3492, 3493, + 7, 7, 0, 0, 3493, 3494, 7, 5, 0, 0, 3494, 594, 1, 0, 0, 0, 3495, 3496, + 7, 2, 0, 0, 3496, 3497, 7, 3, 0, 0, 3497, 596, 1, 0, 0, 0, 3498, 3499, + 7, 2, 0, 0, 3499, 3500, 7, 3, 0, 0, 3500, 3501, 7, 12, 0, 0, 3501, 3502, + 7, 6, 0, 0, 3502, 3503, 7, 3, 0, 0, 3503, 598, 1, 0, 0, 0, 3504, 3505, + 7, 2, 0, 0, 3505, 3506, 7, 3, 0, 0, 3506, 3507, 7, 12, 0, 0, 3507, 3508, + 7, 11, 0, 0, 3508, 3509, 7, 7, 0, 0, 3509, 3510, 7, 0, 0, 0, 3510, 3511, + 7, 8, 0, 0, 3511, 3512, 7, 11, 0, 0, 3512, 3513, 7, 4, 0, 0, 3513, 3514, + 7, 17, 0, 0, 3514, 600, 1, 0, 0, 0, 3515, 3516, 7, 2, 0, 0, 3516, 3517, + 7, 4, 0, 0, 3517, 3518, 7, 20, 0, 0, 3518, 3519, 7, 6, 0, 0, 3519, 3520, + 7, 3, 0, 0, 3520, 3521, 7, 5, 0, 0, 3521, 602, 1, 0, 0, 0, 3522, 3523, + 7, 2, 0, 0, 3523, 3524, 7, 9, 0, 0, 3524, 3525, 7, 4, 0, 0, 3525, 604, + 1, 0, 0, 0, 3526, 3527, 7, 2, 0, 0, 3527, 3528, 7, 9, 0, 0, 3528, 3529, + 7, 4, 0, 0, 3529, 3530, 7, 6, 0, 0, 3530, 3531, 7, 3, 0, 0, 3531, 606, + 1, 0, 0, 0, 3532, 3533, 7, 2, 0, 0, 3533, 3534, 7, 19, 0, 0, 3534, 3535, + 7, 6, 0, 0, 3535, 3536, 7, 3, 0, 0, 3536, 608, 1, 0, 0, 0, 3537, 3538, + 7, 2, 0, 0, 3538, 3539, 7, 19, 0, 0, 3539, 3540, 7, 6, 0, 0, 3540, 3541, + 7, 3, 0, 0, 3541, 3542, 7, 8, 0, 0, 3542, 3543, 7, 0, 0, 0, 3543, 3544, + 7, 22, 0, 0, 3544, 3545, 7, 5, 0, 0, 3545, 610, 1, 0, 0, 0, 3546, 3547, + 7, 2, 0, 0, 3547, 3548, 7, 19, 0, 0, 3548, 3549, 7, 6, 0, 0, 3549, 3550, + 7, 3, 0, 0, 3550, 3551, 7, 8, 0, 0, 3551, 3552, 7, 0, 0, 0, 3552, 3553, + 7, 17, 0, 0, 3553, 612, 1, 0, 0, 0, 3554, 3555, 7, 2, 0, 0, 3555, 3556, + 7, 19, 0, 0, 3556, 3557, 7, 6, 0, 0, 3557, 3558, 7, 3, 0, 0, 3558, 3559, + 7, 3, 0, 0, 3559, 3560, 7, 11, 0, 0, 3560, 3561, 7, 12, 0, 0, 3561, 3562, + 7, 11, 0, 0, 3562, 3563, 7, 7, 0, 0, 3563, 3564, 7, 15, 0, 0, 3564, 614, + 1, 0, 0, 0, 3565, 3566, 7, 2, 0, 0, 3566, 3567, 7, 16, 0, 0, 3567, 3568, + 7, 7, 0, 0, 3568, 3569, 7, 6, 0, 0, 3569, 3570, 7, 12, 0, 0, 3570, 616, + 1, 0, 0, 0, 3571, 3572, 7, 2, 0, 0, 3572, 3573, 7, 16, 0, 0, 3573, 3574, + 7, 7, 0, 0, 3574, 3575, 7, 6, 0, 0, 3575, 3576, 7, 3, 0, 0, 3576, 618, + 1, 0, 0, 0, 3577, 3578, 7, 22, 0, 0, 3578, 3579, 7, 0, 0, 0, 3579, 3580, + 7, 3, 0, 0, 3580, 3581, 7, 0, 0, 0, 3581, 3582, 7, 8, 0, 0, 3582, 3583, + 7, 8, 0, 0, 3583, 3584, 7, 6, 0, 0, 3584, 3585, 7, 8, 0, 0, 3585, 620, + 1, 0, 0, 0, 3586, 3587, 7, 22, 0, 0, 3587, 3588, 7, 0, 0, 0, 3588, 3589, + 7, 3, 0, 0, 3589, 3590, 7, 0, 0, 0, 3590, 3591, 7, 13, 0, 0, 3591, 3592, + 7, 6, 0, 0, 3592, 3593, 7, 4, 0, 0, 3593, 3594, 7, 6, 0, 0, 3594, 3595, + 7, 3, 0, 0, 3595, 622, 1, 0, 0, 0, 3596, 3597, 7, 22, 0, 0, 3597, 3598, + 7, 0, 0, 0, 3598, 3599, 7, 3, 0, 0, 3599, 3600, 7, 5, 0, 0, 3600, 3601, + 7, 6, 0, 0, 3601, 3602, 7, 3, 0, 0, 3602, 624, 1, 0, 0, 0, 3603, 3604, + 7, 22, 0, 0, 3604, 3605, 7, 0, 0, 0, 3605, 3606, 7, 3, 0, 0, 3606, 3607, + 7, 4, 0, 0, 3607, 3608, 7, 11, 0, 0, 3608, 3609, 7, 0, 0, 0, 3609, 3610, + 7, 8, 0, 0, 3610, 626, 1, 0, 0, 0, 3611, 3612, 7, 22, 0, 0, 3612, 3613, + 7, 0, 0, 0, 3613, 3614, 7, 3, 0, 0, 3614, 3615, 7, 4, 0, 0, 3615, 3616, + 7, 11, 0, 0, 3616, 3617, 7, 4, 0, 0, 3617, 3618, 7, 11, 0, 0, 3618, 3619, + 7, 2, 0, 0, 3619, 3620, 7, 7, 0, 0, 3620, 628, 1, 0, 0, 0, 3621, 3622, + 7, 22, 0, 0, 3622, 3623, 7, 0, 0, 0, 3623, 3624, 7, 5, 0, 0, 3624, 3625, + 7, 5, 0, 0, 3625, 3626, 7, 11, 0, 0, 3626, 3627, 7, 7, 0, 0, 3627, 3628, + 7, 15, 0, 0, 3628, 630, 1, 0, 0, 0, 3629, 3630, 7, 22, 0, 0, 3630, 3631, + 7, 0, 0, 0, 3631, 3632, 7, 5, 0, 0, 3632, 3633, 7, 5, 0, 0, 3633, 3634, + 7, 16, 0, 0, 3634, 3635, 7, 2, 0, 0, 3635, 3636, 7, 3, 0, 0, 3636, 3637, + 7, 12, 0, 0, 3637, 632, 1, 0, 0, 0, 3638, 3639, 7, 22, 0, 0, 3639, 3640, + 7, 0, 0, 0, 3640, 3641, 7, 4, 0, 0, 3641, 3642, 7, 20, 0, 0, 3642, 634, + 1, 0, 0, 0, 3643, 3644, 7, 22, 0, 0, 3644, 3645, 7, 6, 0, 0, 3645, 3646, + 7, 3, 0, 0, 3646, 3647, 7, 11, 0, 0, 3647, 3648, 7, 2, 0, 0, 3648, 3649, + 7, 12, 0, 0, 3649, 636, 1, 0, 0, 0, 3650, 3651, 7, 22, 0, 0, 3651, 3652, + 7, 8, 0, 0, 3652, 3653, 7, 0, 0, 0, 3653, 3654, 7, 10, 0, 0, 3654, 3655, + 7, 11, 0, 0, 3655, 3656, 7, 7, 0, 0, 3656, 3657, 7, 15, 0, 0, 3657, 638, + 1, 0, 0, 0, 3658, 3659, 7, 22, 0, 0, 3659, 3660, 7, 8, 0, 0, 3660, 3661, + 7, 0, 0, 0, 3661, 3662, 7, 7, 0, 0, 3662, 640, 1, 0, 0, 0, 3663, 3664, + 7, 22, 0, 0, 3664, 3665, 7, 8, 0, 0, 3665, 3666, 7, 0, 0, 0, 3666, 3667, + 7, 7, 0, 0, 3667, 3668, 7, 5, 0, 0, 3668, 642, 1, 0, 0, 0, 3669, 3670, + 7, 22, 0, 0, 3670, 3671, 7, 2, 0, 0, 3671, 3672, 7, 8, 0, 0, 3672, 3673, + 7, 11, 0, 0, 3673, 3674, 7, 10, 0, 0, 3674, 3675, 7, 17, 0, 0, 3675, 644, + 1, 0, 0, 0, 3676, 3677, 7, 22, 0, 0, 3677, 3678, 7, 2, 0, 0, 3678, 3679, + 7, 5, 0, 0, 3679, 3680, 7, 11, 0, 0, 3680, 3681, 7, 4, 0, 0, 3681, 3682, + 7, 11, 0, 0, 3682, 3683, 7, 2, 0, 0, 3683, 3684, 7, 7, 0, 0, 3684, 646, + 1, 0, 0, 0, 3685, 3686, 7, 22, 0, 0, 3686, 3687, 7, 3, 0, 0, 3687, 3688, + 7, 6, 0, 0, 3688, 3689, 7, 10, 0, 0, 3689, 3690, 7, 6, 0, 0, 3690, 3691, + 7, 12, 0, 0, 3691, 3692, 7, 11, 0, 0, 3692, 3693, 7, 7, 0, 0, 3693, 3694, + 7, 15, 0, 0, 3694, 648, 1, 0, 0, 0, 3695, 3696, 7, 22, 0, 0, 3696, 3697, + 7, 3, 0, 0, 3697, 3698, 7, 6, 0, 0, 3698, 3699, 7, 10, 0, 0, 3699, 3700, + 7, 11, 0, 0, 3700, 3701, 7, 5, 0, 0, 3701, 3702, 7, 11, 0, 0, 3702, 3703, + 7, 2, 0, 0, 3703, 3704, 7, 7, 0, 0, 3704, 650, 1, 0, 0, 0, 3705, 3706, + 7, 22, 0, 0, 3706, 3707, 7, 3, 0, 0, 3707, 3708, 7, 6, 0, 0, 3708, 3709, + 7, 22, 0, 0, 3709, 3710, 7, 0, 0, 0, 3710, 3711, 7, 3, 0, 0, 3711, 3712, + 7, 6, 0, 0, 3712, 652, 1, 0, 0, 0, 3713, 3714, 7, 22, 0, 0, 3714, 3715, + 7, 3, 0, 0, 3715, 3716, 7, 6, 0, 0, 3716, 3717, 7, 22, 0, 0, 3717, 3718, + 7, 0, 0, 0, 3718, 3719, 7, 3, 0, 0, 3719, 3720, 7, 6, 0, 0, 3720, 3721, + 7, 12, 0, 0, 3721, 654, 1, 0, 0, 0, 3722, 3723, 7, 22, 0, 0, 3723, 3724, + 7, 3, 0, 0, 3724, 3725, 7, 6, 0, 0, 3725, 3726, 7, 5, 0, 0, 3726, 3727, + 7, 6, 0, 0, 3727, 3728, 7, 3, 0, 0, 3728, 3729, 7, 19, 0, 0, 3729, 3730, + 7, 6, 0, 0, 3730, 656, 1, 0, 0, 0, 3731, 3732, 7, 22, 0, 0, 3732, 3733, + 7, 3, 0, 0, 3733, 3734, 7, 11, 0, 0, 3734, 3735, 7, 13, 0, 0, 3735, 3736, + 7, 0, 0, 0, 3736, 3737, 7, 3, 0, 0, 3737, 3738, 7, 17, 0, 0, 3738, 658, + 1, 0, 0, 0, 3739, 3740, 7, 22, 0, 0, 3740, 3741, 7, 3, 0, 0, 3741, 3742, + 7, 11, 0, 0, 3742, 3743, 7, 2, 0, 0, 3743, 3744, 7, 3, 0, 0, 3744, 660, + 1, 0, 0, 0, 3745, 3746, 7, 22, 0, 0, 3746, 3747, 7, 3, 0, 0, 3747, 3748, + 7, 11, 0, 0, 3748, 3749, 7, 19, 0, 0, 3749, 3750, 7, 11, 0, 0, 3750, 3751, + 7, 8, 0, 0, 3751, 3752, 7, 6, 0, 0, 3752, 3753, 7, 15, 0, 0, 3753, 3754, + 7, 6, 0, 0, 3754, 3755, 7, 5, 0, 0, 3755, 662, 1, 0, 0, 0, 3756, 3757, + 7, 22, 0, 0, 3757, 3758, 7, 3, 0, 0, 3758, 3759, 7, 2, 0, 0, 3759, 3760, + 7, 10, 0, 0, 3760, 3761, 7, 6, 0, 0, 3761, 3762, 7, 12, 0, 0, 3762, 3763, + 7, 9, 0, 0, 3763, 3764, 7, 3, 0, 0, 3764, 3765, 7, 0, 0, 0, 3765, 3766, + 7, 8, 0, 0, 3766, 664, 1, 0, 0, 0, 3767, 3768, 7, 22, 0, 0, 3768, 3769, + 7, 3, 0, 0, 3769, 3770, 7, 2, 0, 0, 3770, 3771, 7, 10, 0, 0, 3771, 3772, + 7, 6, 0, 0, 3772, 3773, 7, 12, 0, 0, 3773, 3774, 7, 9, 0, 0, 3774, 3775, + 7, 3, 0, 0, 3775, 3776, 7, 6, 0, 0, 3776, 666, 1, 0, 0, 0, 3777, 3778, + 7, 22, 0, 0, 3778, 3779, 7, 3, 0, 0, 3779, 3780, 7, 2, 0, 0, 3780, 3781, + 7, 10, 0, 0, 3781, 3782, 7, 6, 0, 0, 3782, 3783, 7, 12, 0, 0, 3783, 3784, + 7, 9, 0, 0, 3784, 3785, 7, 3, 0, 0, 3785, 3786, 7, 6, 0, 0, 3786, 3787, + 7, 5, 0, 0, 3787, 668, 1, 0, 0, 0, 3788, 3789, 7, 22, 0, 0, 3789, 3790, + 7, 3, 0, 0, 3790, 3791, 7, 2, 0, 0, 3791, 3792, 7, 15, 0, 0, 3792, 3793, + 7, 3, 0, 0, 3793, 3794, 7, 0, 0, 0, 3794, 3795, 7, 13, 0, 0, 3795, 670, + 1, 0, 0, 0, 3796, 3797, 7, 22, 0, 0, 3797, 3798, 7, 9, 0, 0, 3798, 3799, + 7, 1, 0, 0, 3799, 3800, 7, 8, 0, 0, 3800, 3801, 7, 11, 0, 0, 3801, 3802, + 7, 10, 0, 0, 3802, 3803, 7, 0, 0, 0, 3803, 3804, 7, 4, 0, 0, 3804, 3805, + 7, 11, 0, 0, 3805, 3806, 7, 2, 0, 0, 3806, 3807, 7, 7, 0, 0, 3807, 672, + 1, 0, 0, 0, 3808, 3809, 7, 25, 0, 0, 3809, 3810, 7, 9, 0, 0, 3810, 3811, + 7, 2, 0, 0, 3811, 3812, 7, 4, 0, 0, 3812, 3813, 7, 6, 0, 0, 3813, 674, + 1, 0, 0, 0, 3814, 3815, 7, 25, 0, 0, 3815, 3816, 7, 9, 0, 0, 3816, 3817, + 7, 2, 0, 0, 3817, 3818, 7, 4, 0, 0, 3818, 3819, 7, 6, 0, 0, 3819, 3820, + 7, 5, 0, 0, 3820, 676, 1, 0, 0, 0, 3821, 3822, 7, 3, 0, 0, 3822, 3823, + 7, 0, 0, 0, 3823, 3824, 7, 7, 0, 0, 3824, 3825, 7, 15, 0, 0, 3825, 3826, + 7, 6, 0, 0, 3826, 678, 1, 0, 0, 0, 3827, 3828, 7, 3, 0, 0, 3828, 3829, + 7, 6, 0, 0, 3829, 3830, 7, 0, 0, 0, 3830, 3831, 7, 12, 0, 0, 3831, 680, + 1, 0, 0, 0, 3832, 3833, 7, 3, 0, 0, 3833, 3834, 7, 6, 0, 0, 3834, 3835, + 7, 0, 0, 0, 3835, 3836, 7, 8, 0, 0, 3836, 682, 1, 0, 0, 0, 3837, 3838, + 7, 3, 0, 0, 3838, 3839, 7, 6, 0, 0, 3839, 3840, 7, 0, 0, 0, 3840, 3841, + 7, 5, 0, 0, 3841, 3842, 7, 5, 0, 0, 3842, 3843, 7, 11, 0, 0, 3843, 3844, + 7, 15, 0, 0, 3844, 3845, 7, 7, 0, 0, 3845, 684, 1, 0, 0, 0, 3846, 3847, + 7, 3, 0, 0, 3847, 3848, 7, 6, 0, 0, 3848, 3849, 7, 10, 0, 0, 3849, 3850, + 7, 9, 0, 0, 3850, 3851, 7, 3, 0, 0, 3851, 3852, 7, 5, 0, 0, 3852, 3853, + 7, 11, 0, 0, 3853, 3854, 7, 19, 0, 0, 3854, 3855, 7, 6, 0, 0, 3855, 686, + 1, 0, 0, 0, 3856, 3857, 7, 3, 0, 0, 3857, 3858, 7, 6, 0, 0, 3858, 3859, + 7, 14, 0, 0, 3859, 688, 1, 0, 0, 0, 3860, 3861, 7, 3, 0, 0, 3861, 3862, + 7, 6, 0, 0, 3862, 3863, 7, 14, 0, 0, 3863, 3864, 7, 6, 0, 0, 3864, 3865, + 7, 3, 0, 0, 3865, 3866, 7, 6, 0, 0, 3866, 3867, 7, 7, 0, 0, 3867, 3868, + 7, 10, 0, 0, 3868, 3869, 7, 6, 0, 0, 3869, 3870, 7, 5, 0, 0, 3870, 690, + 1, 0, 0, 0, 3871, 3872, 7, 3, 0, 0, 3872, 3873, 7, 6, 0, 0, 3873, 3874, + 7, 14, 0, 0, 3874, 3875, 7, 6, 0, 0, 3875, 3876, 7, 3, 0, 0, 3876, 3877, + 7, 6, 0, 0, 3877, 3878, 7, 7, 0, 0, 3878, 3879, 7, 10, 0, 0, 3879, 3880, + 7, 11, 0, 0, 3880, 3881, 7, 7, 0, 0, 3881, 3882, 7, 15, 0, 0, 3882, 692, + 1, 0, 0, 0, 3883, 3884, 7, 3, 0, 0, 3884, 3885, 7, 6, 0, 0, 3885, 3886, + 7, 14, 0, 0, 3886, 3887, 7, 3, 0, 0, 3887, 3888, 7, 6, 0, 0, 3888, 3889, + 7, 5, 0, 0, 3889, 3890, 7, 20, 0, 0, 3890, 694, 1, 0, 0, 0, 3891, 3892, + 7, 3, 0, 0, 3892, 3893, 7, 6, 0, 0, 3893, 3894, 7, 11, 0, 0, 3894, 3895, + 7, 7, 0, 0, 3895, 3896, 7, 12, 0, 0, 3896, 3897, 7, 6, 0, 0, 3897, 3898, + 7, 23, 0, 0, 3898, 696, 1, 0, 0, 0, 3899, 3900, 7, 3, 0, 0, 3900, 3901, + 7, 6, 0, 0, 3901, 3902, 7, 8, 0, 0, 3902, 3903, 7, 0, 0, 0, 3903, 3904, + 7, 4, 0, 0, 3904, 3905, 7, 11, 0, 0, 3905, 3906, 7, 19, 0, 0, 3906, 3907, + 7, 6, 0, 0, 3907, 698, 1, 0, 0, 0, 3908, 3909, 7, 3, 0, 0, 3909, 3910, + 7, 6, 0, 0, 3910, 3911, 7, 8, 0, 0, 3911, 3912, 7, 6, 0, 0, 3912, 3913, + 7, 0, 0, 0, 3913, 3914, 7, 5, 0, 0, 3914, 3915, 7, 6, 0, 0, 3915, 700, + 1, 0, 0, 0, 3916, 3917, 7, 3, 0, 0, 3917, 3918, 7, 6, 0, 0, 3918, 3919, + 7, 7, 0, 0, 3919, 3920, 7, 0, 0, 0, 3920, 3921, 7, 13, 0, 0, 3921, 3922, + 7, 6, 0, 0, 3922, 702, 1, 0, 0, 0, 3923, 3924, 7, 3, 0, 0, 3924, 3925, + 7, 6, 0, 0, 3925, 3926, 7, 22, 0, 0, 3926, 3927, 7, 6, 0, 0, 3927, 3928, + 7, 0, 0, 0, 3928, 3929, 7, 4, 0, 0, 3929, 3930, 7, 0, 0, 0, 3930, 3931, + 7, 1, 0, 0, 3931, 3932, 7, 8, 0, 0, 3932, 3933, 7, 6, 0, 0, 3933, 704, + 1, 0, 0, 0, 3934, 3935, 7, 3, 0, 0, 3935, 3936, 7, 6, 0, 0, 3936, 3937, + 7, 22, 0, 0, 3937, 3938, 7, 8, 0, 0, 3938, 3939, 7, 0, 0, 0, 3939, 3940, + 7, 10, 0, 0, 3940, 3941, 7, 6, 0, 0, 3941, 706, 1, 0, 0, 0, 3942, 3943, + 7, 3, 0, 0, 3943, 3944, 7, 6, 0, 0, 3944, 3945, 7, 22, 0, 0, 3945, 3946, + 7, 8, 0, 0, 3946, 3947, 7, 11, 0, 0, 3947, 3948, 7, 10, 0, 0, 3948, 3949, + 7, 0, 0, 0, 3949, 708, 1, 0, 0, 0, 3950, 3951, 7, 3, 0, 0, 3951, 3952, + 7, 6, 0, 0, 3952, 3953, 7, 5, 0, 0, 3953, 3954, 7, 6, 0, 0, 3954, 3955, + 7, 4, 0, 0, 3955, 710, 1, 0, 0, 0, 3956, 3957, 7, 3, 0, 0, 3957, 3958, + 7, 6, 0, 0, 3958, 3959, 7, 5, 0, 0, 3959, 3960, 7, 4, 0, 0, 3960, 3961, + 7, 0, 0, 0, 3961, 3962, 7, 3, 0, 0, 3962, 3963, 7, 4, 0, 0, 3963, 712, + 1, 0, 0, 0, 3964, 3965, 7, 3, 0, 0, 3965, 3966, 7, 6, 0, 0, 3966, 3967, + 7, 5, 0, 0, 3967, 3968, 7, 4, 0, 0, 3968, 3969, 7, 3, 0, 0, 3969, 3970, + 7, 11, 0, 0, 3970, 3971, 7, 10, 0, 0, 3971, 3972, 7, 4, 0, 0, 3972, 714, + 1, 0, 0, 0, 3973, 3974, 7, 3, 0, 0, 3974, 3975, 7, 6, 0, 0, 3975, 3976, + 7, 4, 0, 0, 3976, 3977, 7, 9, 0, 0, 3977, 3978, 7, 3, 0, 0, 3978, 3979, + 7, 7, 0, 0, 3979, 716, 1, 0, 0, 0, 3980, 3981, 7, 3, 0, 0, 3981, 3982, + 7, 6, 0, 0, 3982, 3983, 7, 4, 0, 0, 3983, 3984, 7, 9, 0, 0, 3984, 3985, + 7, 3, 0, 0, 3985, 3986, 7, 7, 0, 0, 3986, 3987, 7, 11, 0, 0, 3987, 3988, + 7, 7, 0, 0, 3988, 3989, 7, 15, 0, 0, 3989, 718, 1, 0, 0, 0, 3990, 3991, + 7, 3, 0, 0, 3991, 3992, 7, 6, 0, 0, 3992, 3993, 7, 4, 0, 0, 3993, 3994, + 7, 9, 0, 0, 3994, 3995, 7, 3, 0, 0, 3995, 3996, 7, 7, 0, 0, 3996, 3997, + 7, 5, 0, 0, 3997, 720, 1, 0, 0, 0, 3998, 3999, 7, 3, 0, 0, 3999, 4000, + 7, 6, 0, 0, 4000, 4001, 7, 19, 0, 0, 4001, 4002, 7, 2, 0, 0, 4002, 4003, + 7, 21, 0, 0, 4003, 4004, 7, 6, 0, 0, 4004, 722, 1, 0, 0, 0, 4005, 4006, + 7, 3, 0, 0, 4006, 4007, 7, 11, 0, 0, 4007, 4008, 7, 15, 0, 0, 4008, 4009, + 7, 20, 0, 0, 4009, 4010, 7, 4, 0, 0, 4010, 724, 1, 0, 0, 0, 4011, 4012, + 7, 3, 0, 0, 4012, 4013, 7, 2, 0, 0, 4013, 4014, 7, 8, 0, 0, 4014, 4015, + 7, 6, 0, 0, 4015, 726, 1, 0, 0, 0, 4016, 4017, 7, 3, 0, 0, 4017, 4018, + 7, 2, 0, 0, 4018, 4019, 7, 8, 0, 0, 4019, 4020, 7, 8, 0, 0, 4020, 4021, + 7, 1, 0, 0, 4021, 4022, 7, 0, 0, 0, 4022, 4023, 7, 10, 0, 0, 4023, 4024, + 7, 21, 0, 0, 4024, 728, 1, 0, 0, 0, 4025, 4026, 7, 3, 0, 0, 4026, 4027, + 7, 2, 0, 0, 4027, 4028, 7, 8, 0, 0, 4028, 4029, 7, 8, 0, 0, 4029, 4030, + 7, 9, 0, 0, 4030, 4031, 7, 22, 0, 0, 4031, 730, 1, 0, 0, 0, 4032, 4033, + 7, 3, 0, 0, 4033, 4034, 7, 2, 0, 0, 4034, 4035, 7, 9, 0, 0, 4035, 4036, + 7, 4, 0, 0, 4036, 4037, 7, 11, 0, 0, 4037, 4038, 7, 7, 0, 0, 4038, 4039, + 7, 6, 0, 0, 4039, 732, 1, 0, 0, 0, 4040, 4041, 7, 3, 0, 0, 4041, 4042, + 7, 2, 0, 0, 4042, 4043, 7, 9, 0, 0, 4043, 4044, 7, 4, 0, 0, 4044, 4045, + 7, 11, 0, 0, 4045, 4046, 7, 7, 0, 0, 4046, 4047, 7, 6, 0, 0, 4047, 4048, + 7, 5, 0, 0, 4048, 734, 1, 0, 0, 0, 4049, 4050, 7, 3, 0, 0, 4050, 4051, + 7, 2, 0, 0, 4051, 4052, 7, 16, 0, 0, 4052, 736, 1, 0, 0, 0, 4053, 4054, + 7, 3, 0, 0, 4054, 4055, 7, 2, 0, 0, 4055, 4056, 7, 16, 0, 0, 4056, 4057, + 7, 5, 0, 0, 4057, 738, 1, 0, 0, 0, 4058, 4059, 7, 3, 0, 0, 4059, 4060, + 7, 9, 0, 0, 4060, 4061, 7, 8, 0, 0, 4061, 4062, 7, 6, 0, 0, 4062, 740, + 1, 0, 0, 0, 4063, 4064, 7, 5, 0, 0, 4064, 4065, 7, 0, 0, 0, 4065, 4066, + 7, 19, 0, 0, 4066, 4067, 7, 6, 0, 0, 4067, 4068, 7, 22, 0, 0, 4068, 4069, + 7, 2, 0, 0, 4069, 4070, 7, 11, 0, 0, 4070, 4071, 7, 7, 0, 0, 4071, 4072, + 7, 4, 0, 0, 4072, 742, 1, 0, 0, 0, 4073, 4074, 7, 5, 0, 0, 4074, 4075, + 7, 10, 0, 0, 4075, 4076, 7, 0, 0, 0, 4076, 4077, 7, 8, 0, 0, 4077, 4078, + 7, 0, 0, 0, 4078, 4079, 7, 3, 0, 0, 4079, 744, 1, 0, 0, 0, 4080, 4081, + 7, 5, 0, 0, 4081, 4082, 7, 10, 0, 0, 4082, 4083, 7, 20, 0, 0, 4083, 4084, + 7, 6, 0, 0, 4084, 4085, 7, 13, 0, 0, 4085, 4086, 7, 0, 0, 0, 4086, 746, + 1, 0, 0, 0, 4087, 4088, 7, 5, 0, 0, 4088, 4089, 7, 10, 0, 0, 4089, 4090, + 7, 20, 0, 0, 4090, 4091, 7, 6, 0, 0, 4091, 4092, 7, 13, 0, 0, 4092, 4093, + 7, 0, 0, 0, 4093, 4094, 7, 5, 0, 0, 4094, 748, 1, 0, 0, 0, 4095, 4096, + 7, 5, 0, 0, 4096, 4097, 7, 10, 0, 0, 4097, 4098, 7, 3, 0, 0, 4098, 4099, + 7, 2, 0, 0, 4099, 4100, 7, 8, 0, 0, 4100, 4101, 7, 8, 0, 0, 4101, 750, + 1, 0, 0, 0, 4102, 4103, 7, 5, 0, 0, 4103, 4104, 7, 6, 0, 0, 4104, 4105, + 7, 0, 0, 0, 4105, 4106, 7, 3, 0, 0, 4106, 4107, 7, 10, 0, 0, 4107, 4108, + 7, 20, 0, 0, 4108, 752, 1, 0, 0, 0, 4109, 4110, 7, 5, 0, 0, 4110, 4111, + 7, 6, 0, 0, 4111, 4112, 7, 10, 0, 0, 4112, 4113, 7, 2, 0, 0, 4113, 4114, + 7, 7, 0, 0, 4114, 4115, 7, 12, 0, 0, 4115, 754, 1, 0, 0, 0, 4116, 4117, + 7, 5, 0, 0, 4117, 4118, 7, 6, 0, 0, 4118, 4119, 7, 10, 0, 0, 4119, 4120, + 7, 9, 0, 0, 4120, 4121, 7, 3, 0, 0, 4121, 4122, 7, 11, 0, 0, 4122, 4123, + 7, 4, 0, 0, 4123, 4124, 7, 17, 0, 0, 4124, 756, 1, 0, 0, 0, 4125, 4126, + 7, 5, 0, 0, 4126, 4127, 7, 6, 0, 0, 4127, 4128, 7, 8, 0, 0, 4128, 4129, + 7, 6, 0, 0, 4129, 4130, 7, 10, 0, 0, 4130, 4131, 7, 4, 0, 0, 4131, 758, + 1, 0, 0, 0, 4132, 4133, 7, 5, 0, 0, 4133, 4134, 7, 6, 0, 0, 4134, 4135, + 7, 25, 0, 0, 4135, 4136, 7, 9, 0, 0, 4136, 4137, 7, 6, 0, 0, 4137, 4138, + 7, 7, 0, 0, 4138, 4139, 7, 10, 0, 0, 4139, 4140, 7, 6, 0, 0, 4140, 760, + 1, 0, 0, 0, 4141, 4142, 7, 5, 0, 0, 4142, 4143, 7, 6, 0, 0, 4143, 4144, + 7, 25, 0, 0, 4144, 4145, 7, 9, 0, 0, 4145, 4146, 7, 6, 0, 0, 4146, 4147, + 7, 7, 0, 0, 4147, 4148, 7, 10, 0, 0, 4148, 4149, 7, 6, 0, 0, 4149, 4150, + 7, 5, 0, 0, 4150, 762, 1, 0, 0, 0, 4151, 4152, 7, 5, 0, 0, 4152, 4153, + 7, 6, 0, 0, 4153, 4154, 7, 3, 0, 0, 4154, 4155, 7, 11, 0, 0, 4155, 4156, + 7, 0, 0, 0, 4156, 4157, 7, 8, 0, 0, 4157, 4158, 7, 11, 0, 0, 4158, 4159, + 7, 18, 0, 0, 4159, 4160, 7, 0, 0, 0, 4160, 4161, 7, 1, 0, 0, 4161, 4162, + 7, 8, 0, 0, 4162, 4163, 7, 6, 0, 0, 4163, 764, 1, 0, 0, 0, 4164, 4165, + 7, 5, 0, 0, 4165, 4166, 7, 6, 0, 0, 4166, 4167, 7, 3, 0, 0, 4167, 4168, + 7, 19, 0, 0, 4168, 4169, 7, 6, 0, 0, 4169, 4170, 7, 3, 0, 0, 4170, 766, + 1, 0, 0, 0, 4171, 4172, 7, 5, 0, 0, 4172, 4173, 7, 6, 0, 0, 4173, 4174, + 7, 5, 0, 0, 4174, 4175, 7, 5, 0, 0, 4175, 4176, 7, 11, 0, 0, 4176, 4177, + 7, 2, 0, 0, 4177, 4178, 7, 7, 0, 0, 4178, 768, 1, 0, 0, 0, 4179, 4180, + 7, 5, 0, 0, 4180, 4181, 7, 6, 0, 0, 4181, 4182, 7, 5, 0, 0, 4182, 4183, + 7, 5, 0, 0, 4183, 4184, 7, 11, 0, 0, 4184, 4185, 7, 2, 0, 0, 4185, 4186, + 7, 7, 0, 0, 4186, 4187, 5, 95, 0, 0, 4187, 4188, 7, 9, 0, 0, 4188, 4189, + 7, 5, 0, 0, 4189, 4190, 7, 6, 0, 0, 4190, 4191, 7, 3, 0, 0, 4191, 770, + 1, 0, 0, 0, 4192, 4193, 7, 5, 0, 0, 4193, 4194, 7, 6, 0, 0, 4194, 4195, + 7, 4, 0, 0, 4195, 772, 1, 0, 0, 0, 4196, 4197, 7, 5, 0, 0, 4197, 4198, + 7, 6, 0, 0, 4198, 4199, 7, 4, 0, 0, 4199, 4200, 7, 2, 0, 0, 4200, 4201, + 7, 14, 0, 0, 4201, 774, 1, 0, 0, 0, 4202, 4203, 7, 5, 0, 0, 4203, 4204, + 7, 6, 0, 0, 4204, 4205, 7, 4, 0, 0, 4205, 4206, 7, 5, 0, 0, 4206, 776, + 1, 0, 0, 0, 4207, 4208, 7, 5, 0, 0, 4208, 4209, 7, 20, 0, 0, 4209, 4210, + 7, 0, 0, 0, 4210, 4211, 7, 3, 0, 0, 4211, 4212, 7, 6, 0, 0, 4212, 778, + 1, 0, 0, 0, 4213, 4214, 7, 5, 0, 0, 4214, 4215, 7, 20, 0, 0, 4215, 4216, + 7, 2, 0, 0, 4216, 4217, 7, 16, 0, 0, 4217, 780, 1, 0, 0, 0, 4218, 4219, + 7, 5, 0, 0, 4219, 4220, 7, 11, 0, 0, 4220, 4221, 7, 13, 0, 0, 4221, 4222, + 7, 11, 0, 0, 4222, 4223, 7, 8, 0, 0, 4223, 4224, 7, 0, 0, 0, 4224, 4225, + 7, 3, 0, 0, 4225, 782, 1, 0, 0, 0, 4226, 4227, 7, 5, 0, 0, 4227, 4228, + 7, 11, 0, 0, 4228, 4229, 7, 13, 0, 0, 4229, 4230, 7, 22, 0, 0, 4230, 4231, + 7, 8, 0, 0, 4231, 4232, 7, 6, 0, 0, 4232, 784, 1, 0, 0, 0, 4233, 4234, + 7, 5, 0, 0, 4234, 4235, 7, 21, 0, 0, 4235, 4236, 7, 11, 0, 0, 4236, 4237, + 7, 22, 0, 0, 4237, 786, 1, 0, 0, 0, 4238, 4239, 7, 5, 0, 0, 4239, 4240, + 7, 13, 0, 0, 4240, 4241, 7, 0, 0, 0, 4241, 4242, 7, 8, 0, 0, 4242, 4243, + 7, 8, 0, 0, 4243, 4244, 7, 11, 0, 0, 4244, 4245, 7, 7, 0, 0, 4245, 4246, + 7, 4, 0, 0, 4246, 788, 1, 0, 0, 0, 4247, 4248, 7, 5, 0, 0, 4248, 4249, + 7, 7, 0, 0, 4249, 4250, 7, 0, 0, 0, 4250, 4251, 7, 22, 0, 0, 4251, 4252, + 7, 5, 0, 0, 4252, 4253, 7, 20, 0, 0, 4253, 4254, 7, 2, 0, 0, 4254, 4255, + 7, 4, 0, 0, 4255, 790, 1, 0, 0, 0, 4256, 4257, 7, 5, 0, 0, 4257, 4258, + 7, 2, 0, 0, 4258, 4259, 7, 13, 0, 0, 4259, 4260, 7, 6, 0, 0, 4260, 792, + 1, 0, 0, 0, 4261, 4262, 7, 5, 0, 0, 4262, 4263, 7, 2, 0, 0, 4263, 4264, + 7, 9, 0, 0, 4264, 4265, 7, 3, 0, 0, 4265, 4266, 7, 10, 0, 0, 4266, 4267, + 7, 6, 0, 0, 4267, 794, 1, 0, 0, 0, 4268, 4269, 7, 5, 0, 0, 4269, 4270, + 7, 25, 0, 0, 4270, 4271, 7, 8, 0, 0, 4271, 796, 1, 0, 0, 0, 4272, 4273, + 7, 5, 0, 0, 4273, 4274, 7, 4, 0, 0, 4274, 4275, 7, 0, 0, 0, 4275, 4276, + 7, 1, 0, 0, 4276, 4277, 7, 8, 0, 0, 4277, 4278, 7, 6, 0, 0, 4278, 798, + 1, 0, 0, 0, 4279, 4280, 7, 5, 0, 0, 4280, 4281, 7, 4, 0, 0, 4281, 4282, + 7, 0, 0, 0, 4282, 4283, 7, 7, 0, 0, 4283, 4284, 7, 12, 0, 0, 4284, 4285, + 7, 0, 0, 0, 4285, 4286, 7, 8, 0, 0, 4286, 4287, 7, 2, 0, 0, 4287, 4288, + 7, 7, 0, 0, 4288, 4289, 7, 6, 0, 0, 4289, 800, 1, 0, 0, 0, 4290, 4291, + 7, 5, 0, 0, 4291, 4292, 7, 4, 0, 0, 4292, 4293, 7, 0, 0, 0, 4293, 4294, + 7, 3, 0, 0, 4294, 4295, 7, 4, 0, 0, 4295, 802, 1, 0, 0, 0, 4296, 4297, + 7, 5, 0, 0, 4297, 4298, 7, 4, 0, 0, 4298, 4299, 7, 0, 0, 0, 4299, 4300, + 7, 4, 0, 0, 4300, 4301, 7, 6, 0, 0, 4301, 4302, 7, 13, 0, 0, 4302, 4303, + 7, 6, 0, 0, 4303, 4304, 7, 7, 0, 0, 4304, 4305, 7, 4, 0, 0, 4305, 804, + 1, 0, 0, 0, 4306, 4307, 7, 5, 0, 0, 4307, 4308, 7, 4, 0, 0, 4308, 4309, + 7, 0, 0, 0, 4309, 4310, 7, 4, 0, 0, 4310, 4311, 7, 11, 0, 0, 4311, 4312, + 7, 5, 0, 0, 4312, 4313, 7, 4, 0, 0, 4313, 4314, 7, 11, 0, 0, 4314, 4315, + 7, 10, 0, 0, 4315, 4316, 7, 5, 0, 0, 4316, 806, 1, 0, 0, 0, 4317, 4318, + 7, 5, 0, 0, 4318, 4319, 7, 4, 0, 0, 4319, 4320, 7, 12, 0, 0, 4320, 4321, + 7, 11, 0, 0, 4321, 4322, 7, 7, 0, 0, 4322, 808, 1, 0, 0, 0, 4323, 4324, + 7, 5, 0, 0, 4324, 4325, 7, 4, 0, 0, 4325, 4326, 7, 12, 0, 0, 4326, 4327, + 7, 2, 0, 0, 4327, 4328, 7, 9, 0, 0, 4328, 4329, 7, 4, 0, 0, 4329, 810, + 1, 0, 0, 0, 4330, 4331, 7, 5, 0, 0, 4331, 4332, 7, 4, 0, 0, 4332, 4333, + 7, 2, 0, 0, 4333, 4334, 7, 3, 0, 0, 4334, 4335, 7, 0, 0, 0, 4335, 4336, + 7, 15, 0, 0, 4336, 4337, 7, 6, 0, 0, 4337, 812, 1, 0, 0, 0, 4338, 4339, + 7, 5, 0, 0, 4339, 4340, 7, 4, 0, 0, 4340, 4341, 7, 2, 0, 0, 4341, 4342, + 7, 3, 0, 0, 4342, 4343, 7, 6, 0, 0, 4343, 4344, 7, 12, 0, 0, 4344, 814, + 1, 0, 0, 0, 4345, 4346, 7, 5, 0, 0, 4346, 4347, 7, 4, 0, 0, 4347, 4348, + 7, 3, 0, 0, 4348, 4349, 7, 11, 0, 0, 4349, 4350, 7, 10, 0, 0, 4350, 4351, + 7, 4, 0, 0, 4351, 816, 1, 0, 0, 0, 4352, 4353, 7, 5, 0, 0, 4353, 4354, + 7, 4, 0, 0, 4354, 4355, 7, 3, 0, 0, 4355, 4356, 7, 11, 0, 0, 4356, 4357, + 7, 7, 0, 0, 4357, 4358, 7, 15, 0, 0, 4358, 818, 1, 0, 0, 0, 4359, 4360, + 7, 5, 0, 0, 4360, 4361, 7, 4, 0, 0, 4361, 4362, 7, 3, 0, 0, 4362, 4363, + 7, 11, 0, 0, 4363, 4364, 7, 22, 0, 0, 4364, 820, 1, 0, 0, 0, 4365, 4366, + 7, 5, 0, 0, 4366, 4367, 7, 9, 0, 0, 4367, 4368, 7, 1, 0, 0, 4368, 4369, + 7, 5, 0, 0, 4369, 4370, 7, 10, 0, 0, 4370, 4371, 7, 3, 0, 0, 4371, 4372, + 7, 11, 0, 0, 4372, 4373, 7, 22, 0, 0, 4373, 4374, 7, 4, 0, 0, 4374, 4375, + 7, 11, 0, 0, 4375, 4376, 7, 2, 0, 0, 4376, 4377, 7, 7, 0, 0, 4377, 822, + 1, 0, 0, 0, 4378, 4379, 7, 5, 0, 0, 4379, 4380, 7, 9, 0, 0, 4380, 4381, + 7, 1, 0, 0, 4381, 4382, 7, 5, 0, 0, 4382, 4383, 7, 4, 0, 0, 4383, 4384, + 7, 3, 0, 0, 4384, 4385, 7, 11, 0, 0, 4385, 4386, 7, 7, 0, 0, 4386, 4387, + 7, 15, 0, 0, 4387, 824, 1, 0, 0, 0, 4388, 4389, 7, 5, 0, 0, 4389, 4390, + 7, 9, 0, 0, 4390, 4391, 7, 22, 0, 0, 4391, 4392, 7, 22, 0, 0, 4392, 4393, + 7, 2, 0, 0, 4393, 4394, 7, 3, 0, 0, 4394, 4395, 7, 4, 0, 0, 4395, 826, + 1, 0, 0, 0, 4396, 4397, 7, 5, 0, 0, 4397, 4398, 7, 17, 0, 0, 4398, 4399, + 7, 13, 0, 0, 4399, 4400, 7, 13, 0, 0, 4400, 4401, 7, 6, 0, 0, 4401, 4402, + 7, 4, 0, 0, 4402, 4403, 7, 3, 0, 0, 4403, 4404, 7, 11, 0, 0, 4404, 4405, + 7, 10, 0, 0, 4405, 828, 1, 0, 0, 0, 4406, 4407, 7, 5, 0, 0, 4407, 4408, + 7, 17, 0, 0, 4408, 4409, 7, 5, 0, 0, 4409, 4410, 7, 11, 0, 0, 4410, 4411, + 7, 12, 0, 0, 4411, 830, 1, 0, 0, 0, 4412, 4413, 7, 5, 0, 0, 4413, 4414, + 7, 17, 0, 0, 4414, 4415, 7, 5, 0, 0, 4415, 4416, 7, 4, 0, 0, 4416, 4417, + 7, 6, 0, 0, 4417, 4418, 7, 13, 0, 0, 4418, 832, 1, 0, 0, 0, 4419, 4420, + 7, 5, 0, 0, 4420, 4421, 7, 17, 0, 0, 4421, 4422, 7, 5, 0, 0, 4422, 4423, + 7, 4, 0, 0, 4423, 4424, 7, 6, 0, 0, 4424, 4425, 7, 13, 0, 0, 4425, 4426, + 5, 95, 0, 0, 4426, 4427, 7, 9, 0, 0, 4427, 4428, 7, 5, 0, 0, 4428, 4429, + 7, 6, 0, 0, 4429, 4430, 7, 3, 0, 0, 4430, 834, 1, 0, 0, 0, 4431, 4432, + 7, 4, 0, 0, 4432, 4433, 7, 0, 0, 0, 4433, 4434, 7, 1, 0, 0, 4434, 4435, + 7, 8, 0, 0, 4435, 4436, 7, 6, 0, 0, 4436, 836, 1, 0, 0, 0, 4437, 4438, + 7, 4, 0, 0, 4438, 4439, 7, 0, 0, 0, 4439, 4440, 7, 1, 0, 0, 4440, 4441, + 7, 8, 0, 0, 4441, 4442, 7, 6, 0, 0, 4442, 4443, 7, 5, 0, 0, 4443, 838, + 1, 0, 0, 0, 4444, 4445, 7, 4, 0, 0, 4445, 4446, 7, 0, 0, 0, 4446, 4447, + 7, 1, 0, 0, 4447, 4448, 7, 8, 0, 0, 4448, 4449, 7, 6, 0, 0, 4449, 4450, + 7, 5, 0, 0, 4450, 4451, 7, 0, 0, 0, 4451, 4452, 7, 13, 0, 0, 4452, 4453, + 7, 22, 0, 0, 4453, 4454, 7, 8, 0, 0, 4454, 4455, 7, 6, 0, 0, 4455, 840, + 1, 0, 0, 0, 4456, 4457, 7, 4, 0, 0, 4457, 4458, 7, 0, 0, 0, 4458, 4459, + 7, 1, 0, 0, 4459, 4460, 7, 8, 0, 0, 4460, 4461, 7, 6, 0, 0, 4461, 4462, + 7, 5, 0, 0, 4462, 4463, 7, 22, 0, 0, 4463, 4464, 7, 0, 0, 0, 4464, 4465, + 7, 10, 0, 0, 4465, 4466, 7, 6, 0, 0, 4466, 842, 1, 0, 0, 0, 4467, 4468, + 7, 4, 0, 0, 4468, 4469, 7, 0, 0, 0, 4469, 4470, 7, 3, 0, 0, 4470, 4471, + 7, 15, 0, 0, 4471, 4472, 7, 6, 0, 0, 4472, 4473, 7, 4, 0, 0, 4473, 844, + 1, 0, 0, 0, 4474, 4475, 7, 4, 0, 0, 4475, 4476, 7, 6, 0, 0, 4476, 4477, + 7, 13, 0, 0, 4477, 4478, 7, 22, 0, 0, 4478, 846, 1, 0, 0, 0, 4479, 4480, + 7, 4, 0, 0, 4480, 4481, 7, 6, 0, 0, 4481, 4482, 7, 13, 0, 0, 4482, 4483, + 7, 22, 0, 0, 4483, 4484, 7, 8, 0, 0, 4484, 4485, 7, 0, 0, 0, 4485, 4486, + 7, 4, 0, 0, 4486, 4487, 7, 6, 0, 0, 4487, 848, 1, 0, 0, 0, 4488, 4489, + 7, 4, 0, 0, 4489, 4490, 7, 6, 0, 0, 4490, 4491, 7, 13, 0, 0, 4491, 4492, + 7, 22, 0, 0, 4492, 4493, 7, 2, 0, 0, 4493, 4494, 7, 3, 0, 0, 4494, 4495, + 7, 0, 0, 0, 4495, 4496, 7, 3, 0, 0, 4496, 4497, 7, 17, 0, 0, 4497, 850, + 1, 0, 0, 0, 4498, 4499, 7, 4, 0, 0, 4499, 4500, 7, 6, 0, 0, 4500, 4501, + 7, 23, 0, 0, 4501, 4502, 7, 4, 0, 0, 4502, 852, 1, 0, 0, 0, 4503, 4504, + 7, 4, 0, 0, 4504, 4505, 7, 20, 0, 0, 4505, 4506, 7, 6, 0, 0, 4506, 4507, + 7, 7, 0, 0, 4507, 854, 1, 0, 0, 0, 4508, 4509, 7, 4, 0, 0, 4509, 4510, + 7, 11, 0, 0, 4510, 4511, 7, 6, 0, 0, 4511, 4512, 7, 5, 0, 0, 4512, 856, + 1, 0, 0, 0, 4513, 4514, 7, 4, 0, 0, 4514, 4515, 7, 11, 0, 0, 4515, 4516, + 7, 13, 0, 0, 4516, 4517, 7, 6, 0, 0, 4517, 858, 1, 0, 0, 0, 4518, 4519, + 7, 4, 0, 0, 4519, 4520, 7, 11, 0, 0, 4520, 4521, 7, 13, 0, 0, 4521, 4522, + 7, 6, 0, 0, 4522, 4523, 7, 5, 0, 0, 4523, 4524, 7, 4, 0, 0, 4524, 4525, + 7, 0, 0, 0, 4525, 4526, 7, 13, 0, 0, 4526, 4527, 7, 22, 0, 0, 4527, 860, + 1, 0, 0, 0, 4528, 4529, 7, 4, 0, 0, 4529, 4530, 7, 2, 0, 0, 4530, 862, + 1, 0, 0, 0, 4531, 4532, 7, 4, 0, 0, 4532, 4533, 7, 3, 0, 0, 4533, 4534, + 7, 0, 0, 0, 4534, 4535, 7, 11, 0, 0, 4535, 4536, 7, 8, 0, 0, 4536, 4537, + 7, 11, 0, 0, 4537, 4538, 7, 7, 0, 0, 4538, 4539, 7, 15, 0, 0, 4539, 864, + 1, 0, 0, 0, 4540, 4541, 7, 4, 0, 0, 4541, 4542, 7, 3, 0, 0, 4542, 4543, + 7, 0, 0, 0, 4543, 4544, 7, 7, 0, 0, 4544, 4545, 7, 5, 0, 0, 4545, 4546, + 7, 0, 0, 0, 4546, 4547, 7, 10, 0, 0, 4547, 4548, 7, 4, 0, 0, 4548, 4549, + 7, 11, 0, 0, 4549, 4550, 7, 2, 0, 0, 4550, 4551, 7, 7, 0, 0, 4551, 866, + 1, 0, 0, 0, 4552, 4553, 7, 4, 0, 0, 4553, 4554, 7, 3, 0, 0, 4554, 4555, + 7, 0, 0, 0, 4555, 4556, 7, 7, 0, 0, 4556, 4557, 7, 5, 0, 0, 4557, 4558, + 7, 14, 0, 0, 4558, 4559, 7, 2, 0, 0, 4559, 4560, 7, 3, 0, 0, 4560, 4561, + 7, 13, 0, 0, 4561, 868, 1, 0, 0, 0, 4562, 4563, 7, 4, 0, 0, 4563, 4564, + 7, 3, 0, 0, 4564, 4565, 7, 6, 0, 0, 4565, 4566, 7, 0, 0, 0, 4566, 4567, + 7, 4, 0, 0, 4567, 870, 1, 0, 0, 0, 4568, 4569, 7, 4, 0, 0, 4569, 4570, + 7, 3, 0, 0, 4570, 4571, 7, 11, 0, 0, 4571, 4572, 7, 15, 0, 0, 4572, 4573, + 7, 15, 0, 0, 4573, 4574, 7, 6, 0, 0, 4574, 4575, 7, 3, 0, 0, 4575, 872, + 1, 0, 0, 0, 4576, 4577, 7, 4, 0, 0, 4577, 4578, 7, 3, 0, 0, 4578, 4579, + 7, 11, 0, 0, 4579, 4580, 7, 13, 0, 0, 4580, 874, 1, 0, 0, 0, 4581, 4582, + 7, 4, 0, 0, 4582, 4583, 7, 3, 0, 0, 4583, 4584, 7, 9, 0, 0, 4584, 4585, + 7, 6, 0, 0, 4585, 876, 1, 0, 0, 0, 4586, 4587, 7, 4, 0, 0, 4587, 4588, + 7, 3, 0, 0, 4588, 4589, 7, 9, 0, 0, 4589, 4590, 7, 7, 0, 0, 4590, 4591, + 7, 10, 0, 0, 4591, 4592, 7, 0, 0, 0, 4592, 4593, 7, 4, 0, 0, 4593, 4594, + 7, 6, 0, 0, 4594, 878, 1, 0, 0, 0, 4595, 4596, 7, 4, 0, 0, 4596, 4597, + 7, 3, 0, 0, 4597, 4598, 7, 9, 0, 0, 4598, 4599, 7, 5, 0, 0, 4599, 4600, + 7, 4, 0, 0, 4600, 4601, 7, 6, 0, 0, 4601, 4602, 7, 12, 0, 0, 4602, 880, + 1, 0, 0, 0, 4603, 4604, 7, 4, 0, 0, 4604, 4605, 7, 17, 0, 0, 4605, 4606, + 7, 22, 0, 0, 4606, 4607, 7, 6, 0, 0, 4607, 882, 1, 0, 0, 0, 4608, 4609, + 7, 4, 0, 0, 4609, 4610, 7, 17, 0, 0, 4610, 4611, 7, 22, 0, 0, 4611, 4612, + 7, 6, 0, 0, 4612, 4613, 7, 5, 0, 0, 4613, 884, 1, 0, 0, 0, 4614, 4615, + 7, 9, 0, 0, 4615, 4616, 7, 6, 0, 0, 4616, 4617, 7, 5, 0, 0, 4617, 4618, + 7, 10, 0, 0, 4618, 4619, 7, 0, 0, 0, 4619, 4620, 7, 22, 0, 0, 4620, 4621, + 7, 6, 0, 0, 4621, 886, 1, 0, 0, 0, 4622, 4623, 7, 9, 0, 0, 4623, 4624, + 7, 7, 0, 0, 4624, 4625, 7, 1, 0, 0, 4625, 4626, 7, 2, 0, 0, 4626, 4627, + 7, 9, 0, 0, 4627, 4628, 7, 7, 0, 0, 4628, 4629, 7, 12, 0, 0, 4629, 4630, + 7, 6, 0, 0, 4630, 4631, 7, 12, 0, 0, 4631, 888, 1, 0, 0, 0, 4632, 4633, + 7, 9, 0, 0, 4633, 4634, 7, 7, 0, 0, 4634, 4635, 7, 10, 0, 0, 4635, 4636, + 7, 2, 0, 0, 4636, 4637, 7, 13, 0, 0, 4637, 4638, 7, 13, 0, 0, 4638, 4639, + 7, 11, 0, 0, 4639, 4640, 7, 4, 0, 0, 4640, 4641, 7, 4, 0, 0, 4641, 4642, + 7, 6, 0, 0, 4642, 4643, 7, 12, 0, 0, 4643, 890, 1, 0, 0, 0, 4644, 4645, + 7, 9, 0, 0, 4645, 4646, 7, 7, 0, 0, 4646, 4647, 7, 10, 0, 0, 4647, 4648, + 7, 2, 0, 0, 4648, 4649, 7, 7, 0, 0, 4649, 4650, 7, 12, 0, 0, 4650, 4651, + 7, 11, 0, 0, 4651, 4652, 7, 4, 0, 0, 4652, 4653, 7, 11, 0, 0, 4653, 4654, + 7, 2, 0, 0, 4654, 4655, 7, 7, 0, 0, 4655, 4656, 7, 0, 0, 0, 4656, 4657, + 7, 8, 0, 0, 4657, 892, 1, 0, 0, 0, 4658, 4659, 7, 9, 0, 0, 4659, 4660, + 7, 7, 0, 0, 4660, 4661, 7, 6, 0, 0, 4661, 4662, 7, 7, 0, 0, 4662, 4663, + 7, 10, 0, 0, 4663, 4664, 7, 3, 0, 0, 4664, 4665, 7, 17, 0, 0, 4665, 4666, + 7, 22, 0, 0, 4666, 4667, 7, 4, 0, 0, 4667, 4668, 7, 6, 0, 0, 4668, 4669, + 7, 12, 0, 0, 4669, 894, 1, 0, 0, 0, 4670, 4671, 7, 9, 0, 0, 4671, 4672, + 7, 7, 0, 0, 4672, 4673, 7, 11, 0, 0, 4673, 4674, 7, 2, 0, 0, 4674, 4675, + 7, 7, 0, 0, 4675, 896, 1, 0, 0, 0, 4676, 4677, 7, 9, 0, 0, 4677, 4678, + 7, 7, 0, 0, 4678, 4679, 7, 11, 0, 0, 4679, 4680, 7, 25, 0, 0, 4680, 4681, + 7, 9, 0, 0, 4681, 4682, 7, 6, 0, 0, 4682, 898, 1, 0, 0, 0, 4683, 4684, + 7, 9, 0, 0, 4684, 4685, 7, 7, 0, 0, 4685, 4686, 7, 21, 0, 0, 4686, 4687, + 7, 7, 0, 0, 4687, 4688, 7, 2, 0, 0, 4688, 4689, 7, 16, 0, 0, 4689, 4690, + 7, 7, 0, 0, 4690, 900, 1, 0, 0, 0, 4691, 4692, 7, 9, 0, 0, 4692, 4693, + 7, 7, 0, 0, 4693, 4694, 7, 8, 0, 0, 4694, 4695, 7, 11, 0, 0, 4695, 4696, + 7, 5, 0, 0, 4696, 4697, 7, 4, 0, 0, 4697, 4698, 7, 6, 0, 0, 4698, 4699, + 7, 7, 0, 0, 4699, 902, 1, 0, 0, 0, 4700, 4701, 7, 9, 0, 0, 4701, 4702, + 7, 7, 0, 0, 4702, 4703, 7, 8, 0, 0, 4703, 4704, 7, 2, 0, 0, 4704, 4705, + 7, 15, 0, 0, 4705, 4706, 7, 15, 0, 0, 4706, 4707, 7, 6, 0, 0, 4707, 4708, + 7, 12, 0, 0, 4708, 904, 1, 0, 0, 0, 4709, 4710, 7, 9, 0, 0, 4710, 4711, + 7, 7, 0, 0, 4711, 4712, 7, 4, 0, 0, 4712, 4713, 7, 11, 0, 0, 4713, 4714, + 7, 8, 0, 0, 4714, 906, 1, 0, 0, 0, 4715, 4716, 7, 9, 0, 0, 4716, 4717, + 7, 22, 0, 0, 4717, 4718, 7, 12, 0, 0, 4718, 4719, 7, 0, 0, 0, 4719, 4720, + 7, 4, 0, 0, 4720, 4721, 7, 6, 0, 0, 4721, 908, 1, 0, 0, 0, 4722, 4723, + 7, 9, 0, 0, 4723, 4724, 7, 5, 0, 0, 4724, 4725, 7, 6, 0, 0, 4725, 4726, + 7, 3, 0, 0, 4726, 910, 1, 0, 0, 0, 4727, 4728, 7, 9, 0, 0, 4728, 4729, + 7, 5, 0, 0, 4729, 4730, 7, 11, 0, 0, 4730, 4731, 7, 7, 0, 0, 4731, 4732, + 7, 15, 0, 0, 4732, 912, 1, 0, 0, 0, 4733, 4734, 7, 19, 0, 0, 4734, 4735, + 7, 0, 0, 0, 4735, 4736, 7, 10, 0, 0, 4736, 4737, 7, 9, 0, 0, 4737, 4738, + 7, 9, 0, 0, 4738, 4739, 7, 13, 0, 0, 4739, 914, 1, 0, 0, 0, 4740, 4741, + 7, 19, 0, 0, 4741, 4742, 7, 0, 0, 0, 4742, 4743, 7, 8, 0, 0, 4743, 4744, + 7, 11, 0, 0, 4744, 4745, 7, 12, 0, 0, 4745, 916, 1, 0, 0, 0, 4746, 4747, + 7, 19, 0, 0, 4747, 4748, 7, 0, 0, 0, 4748, 4749, 7, 8, 0, 0, 4749, 4750, + 7, 11, 0, 0, 4750, 4751, 7, 12, 0, 0, 4751, 4752, 7, 0, 0, 0, 4752, 4753, + 7, 4, 0, 0, 4753, 4754, 7, 6, 0, 0, 4754, 918, 1, 0, 0, 0, 4755, 4756, + 7, 19, 0, 0, 4756, 4757, 7, 0, 0, 0, 4757, 4758, 7, 8, 0, 0, 4758, 4759, + 7, 11, 0, 0, 4759, 4760, 7, 12, 0, 0, 4760, 4761, 7, 0, 0, 0, 4761, 4762, + 7, 4, 0, 0, 4762, 4763, 7, 2, 0, 0, 4763, 4764, 7, 3, 0, 0, 4764, 920, + 1, 0, 0, 0, 4765, 4766, 7, 19, 0, 0, 4766, 4767, 7, 0, 0, 0, 4767, 4768, + 7, 8, 0, 0, 4768, 4769, 7, 9, 0, 0, 4769, 4770, 7, 6, 0, 0, 4770, 922, + 1, 0, 0, 0, 4771, 4772, 7, 19, 0, 0, 4772, 4773, 7, 0, 0, 0, 4773, 4774, + 7, 8, 0, 0, 4774, 4775, 7, 9, 0, 0, 4775, 4776, 7, 6, 0, 0, 4776, 4777, + 7, 5, 0, 0, 4777, 924, 1, 0, 0, 0, 4778, 4779, 7, 19, 0, 0, 4779, 4780, + 7, 0, 0, 0, 4780, 4781, 7, 3, 0, 0, 4781, 4782, 7, 10, 0, 0, 4782, 4783, + 7, 20, 0, 0, 4783, 4784, 7, 0, 0, 0, 4784, 4785, 7, 3, 0, 0, 4785, 926, + 1, 0, 0, 0, 4786, 4787, 7, 19, 0, 0, 4787, 4788, 7, 0, 0, 0, 4788, 4789, + 7, 3, 0, 0, 4789, 4790, 7, 11, 0, 0, 4790, 4791, 7, 0, 0, 0, 4791, 4792, + 7, 12, 0, 0, 4792, 4793, 7, 11, 0, 0, 4793, 4794, 7, 10, 0, 0, 4794, 928, + 1, 0, 0, 0, 4795, 4796, 7, 19, 0, 0, 4796, 4797, 7, 0, 0, 0, 4797, 4798, + 7, 3, 0, 0, 4798, 4799, 7, 17, 0, 0, 4799, 4800, 7, 11, 0, 0, 4800, 4801, + 7, 7, 0, 0, 4801, 4802, 7, 15, 0, 0, 4802, 930, 1, 0, 0, 0, 4803, 4804, + 7, 19, 0, 0, 4804, 4805, 7, 6, 0, 0, 4805, 4806, 7, 3, 0, 0, 4806, 4807, + 7, 1, 0, 0, 4807, 4808, 7, 2, 0, 0, 4808, 4809, 7, 5, 0, 0, 4809, 4810, + 7, 6, 0, 0, 4810, 932, 1, 0, 0, 0, 4811, 4812, 7, 19, 0, 0, 4812, 4813, + 7, 6, 0, 0, 4813, 4814, 7, 3, 0, 0, 4814, 4815, 7, 5, 0, 0, 4815, 4816, + 7, 11, 0, 0, 4816, 4817, 7, 2, 0, 0, 4817, 4818, 7, 7, 0, 0, 4818, 934, + 1, 0, 0, 0, 4819, 4820, 7, 19, 0, 0, 4820, 4821, 7, 11, 0, 0, 4821, 4822, + 7, 6, 0, 0, 4822, 4823, 7, 16, 0, 0, 4823, 936, 1, 0, 0, 0, 4824, 4825, + 7, 19, 0, 0, 4825, 4826, 7, 11, 0, 0, 4826, 4827, 7, 6, 0, 0, 4827, 4828, + 7, 16, 0, 0, 4828, 4829, 7, 5, 0, 0, 4829, 938, 1, 0, 0, 0, 4830, 4831, + 7, 19, 0, 0, 4831, 4832, 7, 11, 0, 0, 4832, 4833, 7, 3, 0, 0, 4833, 4834, + 7, 4, 0, 0, 4834, 4835, 7, 9, 0, 0, 4835, 4836, 7, 0, 0, 0, 4836, 4837, + 7, 8, 0, 0, 4837, 940, 1, 0, 0, 0, 4838, 4839, 7, 19, 0, 0, 4839, 4840, + 7, 2, 0, 0, 4840, 4841, 7, 8, 0, 0, 4841, 4842, 7, 0, 0, 0, 4842, 4843, + 7, 4, 0, 0, 4843, 4844, 7, 11, 0, 0, 4844, 4845, 7, 8, 0, 0, 4845, 4846, + 7, 6, 0, 0, 4846, 942, 1, 0, 0, 0, 4847, 4848, 7, 16, 0, 0, 4848, 4849, + 7, 20, 0, 0, 4849, 4850, 7, 6, 0, 0, 4850, 4851, 7, 7, 0, 0, 4851, 944, + 1, 0, 0, 0, 4852, 4853, 7, 16, 0, 0, 4853, 4854, 7, 20, 0, 0, 4854, 4855, + 7, 6, 0, 0, 4855, 4856, 7, 3, 0, 0, 4856, 4857, 7, 6, 0, 0, 4857, 946, + 1, 0, 0, 0, 4858, 4859, 7, 16, 0, 0, 4859, 4860, 7, 20, 0, 0, 4860, 4861, + 7, 11, 0, 0, 4861, 4862, 7, 4, 0, 0, 4862, 4863, 7, 6, 0, 0, 4863, 4864, + 7, 5, 0, 0, 4864, 4865, 7, 22, 0, 0, 4865, 4866, 7, 0, 0, 0, 4866, 4867, + 7, 10, 0, 0, 4867, 4868, 7, 6, 0, 0, 4868, 948, 1, 0, 0, 0, 4869, 4870, + 7, 16, 0, 0, 4870, 4871, 7, 11, 0, 0, 4871, 4872, 7, 7, 0, 0, 4872, 4873, + 7, 12, 0, 0, 4873, 4874, 7, 2, 0, 0, 4874, 4875, 7, 16, 0, 0, 4875, 950, + 1, 0, 0, 0, 4876, 4877, 7, 16, 0, 0, 4877, 4878, 7, 11, 0, 0, 4878, 4879, + 7, 4, 0, 0, 4879, 4880, 7, 20, 0, 0, 4880, 952, 1, 0, 0, 0, 4881, 4882, + 7, 16, 0, 0, 4882, 4883, 7, 11, 0, 0, 4883, 4884, 7, 4, 0, 0, 4884, 4885, + 7, 20, 0, 0, 4885, 4886, 7, 11, 0, 0, 4886, 4887, 7, 7, 0, 0, 4887, 954, + 1, 0, 0, 0, 4888, 4889, 7, 16, 0, 0, 4889, 4890, 7, 11, 0, 0, 4890, 4891, + 7, 4, 0, 0, 4891, 4892, 7, 20, 0, 0, 4892, 4893, 7, 2, 0, 0, 4893, 4894, + 7, 9, 0, 0, 4894, 4895, 7, 4, 0, 0, 4895, 956, 1, 0, 0, 0, 4896, 4897, + 7, 16, 0, 0, 4897, 4898, 7, 2, 0, 0, 4898, 4899, 7, 3, 0, 0, 4899, 4900, + 7, 21, 0, 0, 4900, 958, 1, 0, 0, 0, 4901, 4902, 7, 16, 0, 0, 4902, 4903, + 7, 3, 0, 0, 4903, 4904, 7, 0, 0, 0, 4904, 4905, 7, 22, 0, 0, 4905, 4906, + 7, 22, 0, 0, 4906, 4907, 7, 6, 0, 0, 4907, 4908, 7, 3, 0, 0, 4908, 960, + 1, 0, 0, 0, 4909, 4910, 7, 16, 0, 0, 4910, 4911, 7, 3, 0, 0, 4911, 4912, + 7, 11, 0, 0, 4912, 4913, 7, 4, 0, 0, 4913, 4914, 7, 6, 0, 0, 4914, 962, + 1, 0, 0, 0, 4915, 4916, 7, 23, 0, 0, 4916, 4917, 7, 13, 0, 0, 4917, 4918, + 7, 8, 0, 0, 4918, 964, 1, 0, 0, 0, 4919, 4920, 7, 23, 0, 0, 4920, 4921, + 7, 13, 0, 0, 4921, 4922, 7, 8, 0, 0, 4922, 4923, 7, 0, 0, 0, 4923, 4924, + 7, 4, 0, 0, 4924, 4925, 7, 4, 0, 0, 4925, 4926, 7, 3, 0, 0, 4926, 4927, + 7, 11, 0, 0, 4927, 4928, 7, 1, 0, 0, 4928, 4929, 7, 9, 0, 0, 4929, 4930, + 7, 4, 0, 0, 4930, 4931, 7, 6, 0, 0, 4931, 4932, 7, 5, 0, 0, 4932, 966, + 1, 0, 0, 0, 4933, 4934, 7, 23, 0, 0, 4934, 4935, 7, 13, 0, 0, 4935, 4936, + 7, 8, 0, 0, 4936, 4937, 7, 10, 0, 0, 4937, 4938, 7, 2, 0, 0, 4938, 4939, + 7, 7, 0, 0, 4939, 4940, 7, 10, 0, 0, 4940, 4941, 7, 0, 0, 0, 4941, 4942, + 7, 4, 0, 0, 4942, 968, 1, 0, 0, 0, 4943, 4944, 7, 23, 0, 0, 4944, 4945, + 7, 13, 0, 0, 4945, 4946, 7, 8, 0, 0, 4946, 4947, 7, 6, 0, 0, 4947, 4948, + 7, 8, 0, 0, 4948, 4949, 7, 6, 0, 0, 4949, 4950, 7, 13, 0, 0, 4950, 4951, + 7, 6, 0, 0, 4951, 4952, 7, 7, 0, 0, 4952, 4953, 7, 4, 0, 0, 4953, 970, + 1, 0, 0, 0, 4954, 4955, 7, 23, 0, 0, 4955, 4956, 7, 13, 0, 0, 4956, 4957, + 7, 8, 0, 0, 4957, 4958, 7, 6, 0, 0, 4958, 4959, 7, 23, 0, 0, 4959, 4960, + 7, 11, 0, 0, 4960, 4961, 7, 5, 0, 0, 4961, 4962, 7, 4, 0, 0, 4962, 4963, + 7, 5, 0, 0, 4963, 972, 1, 0, 0, 0, 4964, 4965, 7, 23, 0, 0, 4965, 4966, + 7, 13, 0, 0, 4966, 4967, 7, 8, 0, 0, 4967, 4968, 7, 14, 0, 0, 4968, 4969, + 7, 2, 0, 0, 4969, 4970, 7, 3, 0, 0, 4970, 4971, 7, 6, 0, 0, 4971, 4972, + 7, 5, 0, 0, 4972, 4973, 7, 4, 0, 0, 4973, 974, 1, 0, 0, 0, 4974, 4975, + 7, 23, 0, 0, 4975, 4976, 7, 13, 0, 0, 4976, 4977, 7, 8, 0, 0, 4977, 4978, + 7, 7, 0, 0, 4978, 4979, 7, 0, 0, 0, 4979, 4980, 7, 13, 0, 0, 4980, 4981, + 7, 6, 0, 0, 4981, 4982, 7, 5, 0, 0, 4982, 4983, 7, 22, 0, 0, 4983, 4984, + 7, 0, 0, 0, 4984, 4985, 7, 10, 0, 0, 4985, 4986, 7, 6, 0, 0, 4986, 4987, + 7, 5, 0, 0, 4987, 976, 1, 0, 0, 0, 4988, 4989, 7, 23, 0, 0, 4989, 4990, + 7, 13, 0, 0, 4990, 4991, 7, 8, 0, 0, 4991, 4992, 7, 22, 0, 0, 4992, 4993, + 7, 0, 0, 0, 4993, 4994, 7, 3, 0, 0, 4994, 4995, 7, 5, 0, 0, 4995, 4996, + 7, 6, 0, 0, 4996, 978, 1, 0, 0, 0, 4997, 4998, 7, 23, 0, 0, 4998, 4999, + 7, 13, 0, 0, 4999, 5000, 7, 8, 0, 0, 5000, 5001, 7, 22, 0, 0, 5001, 5002, + 7, 11, 0, 0, 5002, 980, 1, 0, 0, 0, 5003, 5004, 7, 23, 0, 0, 5004, 5005, + 7, 13, 0, 0, 5005, 5006, 7, 8, 0, 0, 5006, 5007, 7, 3, 0, 0, 5007, 5008, + 7, 2, 0, 0, 5008, 5009, 7, 2, 0, 0, 5009, 5010, 7, 4, 0, 0, 5010, 982, + 1, 0, 0, 0, 5011, 5012, 7, 23, 0, 0, 5012, 5013, 7, 13, 0, 0, 5013, 5014, + 7, 8, 0, 0, 5014, 5015, 7, 5, 0, 0, 5015, 5016, 7, 6, 0, 0, 5016, 5017, + 7, 3, 0, 0, 5017, 5018, 7, 11, 0, 0, 5018, 5019, 7, 0, 0, 0, 5019, 5020, + 7, 8, 0, 0, 5020, 5021, 7, 11, 0, 0, 5021, 5022, 7, 18, 0, 0, 5022, 5023, + 7, 6, 0, 0, 5023, 984, 1, 0, 0, 0, 5024, 5025, 7, 23, 0, 0, 5025, 5026, + 7, 13, 0, 0, 5026, 5027, 7, 8, 0, 0, 5027, 5028, 7, 4, 0, 0, 5028, 5029, + 7, 0, 0, 0, 5029, 5030, 7, 1, 0, 0, 5030, 5031, 7, 8, 0, 0, 5031, 5032, + 7, 6, 0, 0, 5032, 986, 1, 0, 0, 0, 5033, 5034, 7, 17, 0, 0, 5034, 5035, + 7, 6, 0, 0, 5035, 5036, 7, 0, 0, 0, 5036, 5037, 7, 3, 0, 0, 5037, 988, + 1, 0, 0, 0, 5038, 5039, 7, 17, 0, 0, 5039, 5040, 7, 6, 0, 0, 5040, 5041, + 7, 5, 0, 0, 5041, 990, 1, 0, 0, 0, 5042, 5043, 7, 18, 0, 0, 5043, 5044, + 7, 2, 0, 0, 5044, 5045, 7, 7, 0, 0, 5045, 5046, 7, 6, 0, 0, 5046, 992, + 1, 0, 0, 0, 5047, 5048, 5, 36, 0, 0, 5048, 994, 1, 0, 0, 0, 5049, 5050, + 5, 40, 0, 0, 5050, 996, 1, 0, 0, 0, 5051, 5052, 5, 41, 0, 0, 5052, 998, + 1, 0, 0, 0, 5053, 5054, 5, 91, 0, 0, 5054, 1000, 1, 0, 0, 0, 5055, 5056, + 5, 93, 0, 0, 5056, 1002, 1, 0, 0, 0, 5057, 5058, 5, 44, 0, 0, 5058, 1004, + 1, 0, 0, 0, 5059, 5060, 5, 59, 0, 0, 5060, 1006, 1, 0, 0, 0, 5061, 5062, + 5, 58, 0, 0, 5062, 1008, 1, 0, 0, 0, 5063, 5064, 5, 42, 0, 0, 5064, 1010, + 1, 0, 0, 0, 5065, 5066, 5, 61, 0, 0, 5066, 1012, 1, 0, 0, 0, 5067, 5068, + 5, 46, 0, 0, 5068, 1014, 1, 0, 0, 0, 5069, 5070, 5, 43, 0, 0, 5070, 1016, + 1, 0, 0, 0, 5071, 5072, 5, 45, 0, 0, 5072, 1018, 1, 0, 0, 0, 5073, 5074, + 5, 47, 0, 0, 5074, 1020, 1, 0, 0, 0, 5075, 5076, 5, 94, 0, 0, 5076, 1022, + 1, 0, 0, 0, 5077, 5078, 5, 60, 0, 0, 5078, 1024, 1, 0, 0, 0, 5079, 5080, + 5, 62, 0, 0, 5080, 1026, 1, 0, 0, 0, 5081, 5082, 5, 60, 0, 0, 5082, 5083, + 5, 60, 0, 0, 5083, 1028, 1, 0, 0, 0, 5084, 5085, 5, 62, 0, 0, 5085, 5086, + 5, 62, 0, 0, 5086, 1030, 1, 0, 0, 0, 5087, 5088, 5, 58, 0, 0, 5088, 5089, + 5, 61, 0, 0, 5089, 1032, 1, 0, 0, 0, 5090, 5091, 5, 60, 0, 0, 5091, 5092, + 5, 61, 0, 0, 5092, 1034, 1, 0, 0, 0, 5093, 5094, 5, 61, 0, 0, 5094, 5095, + 5, 62, 0, 0, 5095, 1036, 1, 0, 0, 0, 5096, 5097, 5, 62, 0, 0, 5097, 5098, + 5, 61, 0, 0, 5098, 1038, 1, 0, 0, 0, 5099, 5100, 5, 46, 0, 0, 5100, 5101, + 5, 46, 0, 0, 5101, 1040, 1, 0, 0, 0, 5102, 5103, 5, 60, 0, 0, 5103, 5104, + 5, 62, 0, 0, 5104, 1042, 1, 0, 0, 0, 5105, 5106, 5, 58, 0, 0, 5106, 5107, + 5, 58, 0, 0, 5107, 1044, 1, 0, 0, 0, 5108, 5109, 5, 37, 0, 0, 5109, 1046, + 1, 0, 0, 0, 5110, 5112, 5, 36, 0, 0, 5111, 5113, 7, 26, 0, 0, 5112, 5111, + 1, 0, 0, 0, 5113, 5114, 1, 0, 0, 0, 5114, 5112, 1, 0, 0, 0, 5114, 5115, + 1, 0, 0, 0, 5115, 1048, 1, 0, 0, 0, 5116, 5132, 3, 1053, 524, 0, 5117, + 5121, 5, 43, 0, 0, 5118, 5119, 5, 45, 0, 0, 5119, 5121, 4, 522, 0, 0, 5120, + 5117, 1, 0, 0, 0, 5120, 5118, 1, 0, 0, 0, 5121, 5122, 1, 0, 0, 0, 5122, + 5120, 1, 0, 0, 0, 5122, 5123, 1, 0, 0, 0, 5123, 5127, 1, 0, 0, 0, 5124, + 5128, 3, 1053, 524, 0, 5125, 5126, 5, 47, 0, 0, 5126, 5128, 4, 522, 1, + 0, 5127, 5124, 1, 0, 0, 0, 5127, 5125, 1, 0, 0, 0, 5128, 5132, 1, 0, 0, + 0, 5129, 5130, 5, 47, 0, 0, 5130, 5132, 4, 522, 2, 0, 5131, 5116, 1, 0, + 0, 0, 5131, 5120, 1, 0, 0, 0, 5131, 5129, 1, 0, 0, 0, 5132, 5133, 1, 0, + 0, 0, 5133, 5131, 1, 0, 0, 0, 5133, 5134, 1, 0, 0, 0, 5134, 5137, 1, 0, + 0, 0, 5135, 5137, 7, 27, 0, 0, 5136, 5131, 1, 0, 0, 0, 5136, 5135, 1, 0, + 0, 0, 5137, 5138, 1, 0, 0, 0, 5138, 5139, 6, 522, 0, 0, 5139, 1050, 1, + 0, 0, 0, 5140, 5146, 3, 1055, 525, 0, 5141, 5142, 5, 45, 0, 0, 5142, 5146, + 4, 523, 3, 0, 5143, 5144, 5, 47, 0, 0, 5144, 5146, 4, 523, 4, 0, 5145, + 5140, 1, 0, 0, 0, 5145, 5141, 1, 0, 0, 0, 5145, 5143, 1, 0, 0, 0, 5146, + 5149, 1, 0, 0, 0, 5147, 5145, 1, 0, 0, 0, 5147, 5148, 1, 0, 0, 0, 5148, + 5150, 1, 0, 0, 0, 5149, 5147, 1, 0, 0, 0, 5150, 5152, 3, 1057, 526, 0, + 5151, 5153, 3, 1049, 522, 0, 5152, 5151, 1, 0, 0, 0, 5152, 5153, 1, 0, + 0, 0, 5153, 5157, 1, 0, 0, 0, 5154, 5158, 5, 43, 0, 0, 5155, 5156, 5, 45, + 0, 0, 5156, 5158, 4, 523, 5, 0, 5157, 5154, 1, 0, 0, 0, 5157, 5155, 1, + 0, 0, 0, 5158, 5159, 1, 0, 0, 0, 5159, 5157, 1, 0, 0, 0, 5159, 5160, 1, + 0, 0, 0, 5160, 5161, 1, 0, 0, 0, 5161, 5162, 6, 523, 1, 0, 5162, 1052, + 1, 0, 0, 0, 5163, 5164, 7, 28, 0, 0, 5164, 1054, 1, 0, 0, 0, 5165, 5166, + 7, 29, 0, 0, 5166, 1056, 1, 0, 0, 0, 5167, 5168, 7, 30, 0, 0, 5168, 1058, + 1, 0, 0, 0, 5169, 5170, 7, 3, 0, 0, 5170, 5171, 7, 6, 0, 0, 5171, 5172, + 7, 10, 0, 0, 5172, 5173, 7, 20, 0, 0, 5173, 5174, 7, 6, 0, 0, 5174, 5175, + 7, 10, 0, 0, 5175, 5176, 7, 21, 0, 0, 5176, 1060, 1, 0, 0, 0, 5177, 5178, + 7, 23, 0, 0, 5178, 5179, 7, 13, 0, 0, 5179, 5180, 7, 8, 0, 0, 5180, 5181, + 7, 10, 0, 0, 5181, 5182, 7, 2, 0, 0, 5182, 5183, 7, 13, 0, 0, 5183, 5184, + 7, 13, 0, 0, 5184, 5185, 7, 6, 0, 0, 5185, 5186, 7, 7, 0, 0, 5186, 5187, + 7, 4, 0, 0, 5187, 1062, 1, 0, 0, 0, 5188, 5189, 7, 23, 0, 0, 5189, 5190, + 7, 13, 0, 0, 5190, 5191, 7, 8, 0, 0, 5191, 5192, 7, 0, 0, 0, 5192, 5193, + 7, 15, 0, 0, 5193, 5194, 7, 15, 0, 0, 5194, 1064, 1, 0, 0, 0, 5195, 5196, + 7, 23, 0, 0, 5196, 5197, 7, 13, 0, 0, 5197, 5198, 7, 8, 0, 0, 5198, 5199, + 5, 95, 0, 0, 5199, 5200, 7, 11, 0, 0, 5200, 5201, 7, 5, 0, 0, 5201, 5202, + 5, 95, 0, 0, 5202, 5203, 7, 16, 0, 0, 5203, 5204, 7, 6, 0, 0, 5204, 5205, + 7, 8, 0, 0, 5205, 5206, 7, 8, 0, 0, 5206, 5207, 5, 95, 0, 0, 5207, 5208, + 7, 14, 0, 0, 5208, 5209, 7, 2, 0, 0, 5209, 5210, 7, 3, 0, 0, 5210, 5211, + 7, 13, 0, 0, 5211, 5212, 7, 6, 0, 0, 5212, 5213, 7, 12, 0, 0, 5213, 1066, + 1, 0, 0, 0, 5214, 5215, 7, 23, 0, 0, 5215, 5216, 7, 13, 0, 0, 5216, 5217, + 7, 8, 0, 0, 5217, 5218, 5, 95, 0, 0, 5218, 5219, 7, 11, 0, 0, 5219, 5220, + 7, 5, 0, 0, 5220, 5221, 5, 95, 0, 0, 5221, 5222, 7, 16, 0, 0, 5222, 5223, + 7, 6, 0, 0, 5223, 5224, 7, 8, 0, 0, 5224, 5225, 7, 8, 0, 0, 5225, 5226, + 5, 95, 0, 0, 5226, 5227, 7, 14, 0, 0, 5227, 5228, 7, 2, 0, 0, 5228, 5229, + 7, 3, 0, 0, 5229, 5230, 7, 13, 0, 0, 5230, 5231, 7, 6, 0, 0, 5231, 5232, + 7, 12, 0, 0, 5232, 5233, 5, 95, 0, 0, 5233, 5234, 7, 12, 0, 0, 5234, 5235, + 7, 2, 0, 0, 5235, 5236, 7, 10, 0, 0, 5236, 5237, 7, 9, 0, 0, 5237, 5238, + 7, 13, 0, 0, 5238, 5239, 7, 6, 0, 0, 5239, 5240, 7, 7, 0, 0, 5240, 5241, + 7, 4, 0, 0, 5241, 1068, 1, 0, 0, 0, 5242, 5243, 7, 23, 0, 0, 5243, 5244, + 7, 13, 0, 0, 5244, 5245, 7, 8, 0, 0, 5245, 5246, 5, 95, 0, 0, 5246, 5247, + 7, 11, 0, 0, 5247, 5248, 7, 5, 0, 0, 5248, 5249, 5, 95, 0, 0, 5249, 5250, + 7, 16, 0, 0, 5250, 5251, 7, 6, 0, 0, 5251, 5252, 7, 8, 0, 0, 5252, 5253, + 7, 8, 0, 0, 5253, 5254, 5, 95, 0, 0, 5254, 5255, 7, 14, 0, 0, 5255, 5256, + 7, 2, 0, 0, 5256, 5257, 7, 3, 0, 0, 5257, 5258, 7, 13, 0, 0, 5258, 5259, + 7, 6, 0, 0, 5259, 5260, 7, 12, 0, 0, 5260, 5261, 5, 95, 0, 0, 5261, 5262, + 7, 10, 0, 0, 5262, 5263, 7, 2, 0, 0, 5263, 5264, 7, 7, 0, 0, 5264, 5265, + 7, 4, 0, 0, 5265, 5266, 7, 6, 0, 0, 5266, 5267, 7, 7, 0, 0, 5267, 5268, + 7, 4, 0, 0, 5268, 1070, 1, 0, 0, 0, 5269, 5270, 7, 23, 0, 0, 5270, 5271, + 7, 22, 0, 0, 5271, 5272, 7, 0, 0, 0, 5272, 5273, 7, 4, 0, 0, 5273, 5274, + 7, 20, 0, 0, 5274, 1072, 1, 0, 0, 0, 5275, 5276, 7, 23, 0, 0, 5276, 5277, + 7, 22, 0, 0, 5277, 5278, 7, 0, 0, 0, 5278, 5279, 7, 4, 0, 0, 5279, 5280, + 7, 20, 0, 0, 5280, 5281, 5, 95, 0, 0, 5281, 5282, 7, 6, 0, 0, 5282, 5283, + 7, 23, 0, 0, 5283, 5284, 7, 11, 0, 0, 5284, 5285, 7, 5, 0, 0, 5285, 5286, + 7, 4, 0, 0, 5286, 5287, 7, 5, 0, 0, 5287, 1074, 1, 0, 0, 0, 5288, 5289, + 7, 3, 0, 0, 5289, 5290, 7, 2, 0, 0, 5290, 5291, 7, 16, 0, 0, 5291, 5292, + 7, 4, 0, 0, 5292, 5293, 7, 17, 0, 0, 5293, 5294, 7, 22, 0, 0, 5294, 5295, + 7, 6, 0, 0, 5295, 1076, 1, 0, 0, 0, 5296, 5297, 7, 12, 0, 0, 5297, 5298, + 7, 9, 0, 0, 5298, 5299, 7, 13, 0, 0, 5299, 5300, 7, 22, 0, 0, 5300, 1078, + 1, 0, 0, 0, 5301, 5302, 7, 22, 0, 0, 5302, 5303, 7, 3, 0, 0, 5303, 5304, + 7, 11, 0, 0, 5304, 5305, 7, 7, 0, 0, 5305, 5306, 7, 4, 0, 0, 5306, 5307, + 5, 95, 0, 0, 5307, 5308, 7, 5, 0, 0, 5308, 5309, 7, 4, 0, 0, 5309, 5310, + 7, 3, 0, 0, 5310, 5311, 7, 11, 0, 0, 5311, 5312, 7, 10, 0, 0, 5312, 5313, + 7, 4, 0, 0, 5313, 5314, 5, 95, 0, 0, 5314, 5315, 7, 22, 0, 0, 5315, 5316, + 7, 0, 0, 0, 5316, 5317, 7, 3, 0, 0, 5317, 5318, 7, 0, 0, 0, 5318, 5319, + 7, 13, 0, 0, 5319, 5320, 7, 5, 0, 0, 5320, 1080, 1, 0, 0, 0, 5321, 5322, + 7, 19, 0, 0, 5322, 5323, 7, 0, 0, 0, 5323, 5324, 7, 3, 0, 0, 5324, 5325, + 7, 11, 0, 0, 5325, 5326, 7, 0, 0, 0, 5326, 5327, 7, 1, 0, 0, 5327, 5328, + 7, 8, 0, 0, 5328, 5329, 7, 6, 0, 0, 5329, 5330, 5, 95, 0, 0, 5330, 5331, + 7, 10, 0, 0, 5331, 5332, 7, 2, 0, 0, 5332, 5333, 7, 7, 0, 0, 5333, 5334, + 7, 14, 0, 0, 5334, 5335, 7, 8, 0, 0, 5335, 5336, 7, 11, 0, 0, 5336, 5337, + 7, 10, 0, 0, 5337, 5338, 7, 4, 0, 0, 5338, 1082, 1, 0, 0, 0, 5339, 5340, + 7, 9, 0, 0, 5340, 5341, 7, 5, 0, 0, 5341, 5342, 7, 6, 0, 0, 5342, 5343, + 5, 95, 0, 0, 5343, 5344, 7, 19, 0, 0, 5344, 5345, 7, 0, 0, 0, 5345, 5346, + 7, 3, 0, 0, 5346, 5347, 7, 11, 0, 0, 5347, 5348, 7, 0, 0, 0, 5348, 5349, + 7, 1, 0, 0, 5349, 5350, 7, 8, 0, 0, 5350, 5351, 7, 6, 0, 0, 5351, 1084, + 1, 0, 0, 0, 5352, 5353, 7, 9, 0, 0, 5353, 5354, 7, 5, 0, 0, 5354, 5355, + 7, 6, 0, 0, 5355, 5356, 5, 95, 0, 0, 5356, 5357, 7, 10, 0, 0, 5357, 5358, + 7, 2, 0, 0, 5358, 5359, 7, 8, 0, 0, 5359, 5360, 7, 9, 0, 0, 5360, 5361, + 7, 13, 0, 0, 5361, 5362, 7, 7, 0, 0, 5362, 1086, 1, 0, 0, 0, 5363, 5364, + 7, 0, 0, 0, 5364, 5365, 7, 8, 0, 0, 5365, 5366, 7, 11, 0, 0, 5366, 5367, + 7, 0, 0, 0, 5367, 5368, 7, 5, 0, 0, 5368, 1088, 1, 0, 0, 0, 5369, 5370, + 7, 10, 0, 0, 5370, 5371, 7, 2, 0, 0, 5371, 5372, 7, 7, 0, 0, 5372, 5373, + 7, 5, 0, 0, 5373, 5374, 7, 4, 0, 0, 5374, 5375, 7, 0, 0, 0, 5375, 5376, + 7, 7, 0, 0, 5376, 5377, 7, 4, 0, 0, 5377, 1090, 1, 0, 0, 0, 5378, 5379, + 7, 22, 0, 0, 5379, 5380, 7, 6, 0, 0, 5380, 5381, 7, 3, 0, 0, 5381, 5382, + 7, 14, 0, 0, 5382, 5383, 7, 2, 0, 0, 5383, 5384, 7, 3, 0, 0, 5384, 5385, + 7, 13, 0, 0, 5385, 1092, 1, 0, 0, 0, 5386, 5387, 7, 15, 0, 0, 5387, 5388, + 7, 6, 0, 0, 5388, 5389, 7, 4, 0, 0, 5389, 1094, 1, 0, 0, 0, 5390, 5391, + 7, 12, 0, 0, 5391, 5392, 7, 11, 0, 0, 5392, 5393, 7, 0, 0, 0, 5393, 5394, + 7, 15, 0, 0, 5394, 5395, 7, 7, 0, 0, 5395, 5396, 7, 2, 0, 0, 5396, 5397, + 7, 5, 0, 0, 5397, 5398, 7, 4, 0, 0, 5398, 5399, 7, 11, 0, 0, 5399, 5400, + 7, 10, 0, 0, 5400, 5401, 7, 5, 0, 0, 5401, 1096, 1, 0, 0, 0, 5402, 5403, + 7, 5, 0, 0, 5403, 5404, 7, 4, 0, 0, 5404, 5405, 7, 0, 0, 0, 5405, 5406, + 7, 10, 0, 0, 5406, 5407, 7, 21, 0, 0, 5407, 5408, 7, 6, 0, 0, 5408, 5409, + 7, 12, 0, 0, 5409, 1098, 1, 0, 0, 0, 5410, 5411, 7, 6, 0, 0, 5411, 5412, + 7, 8, 0, 0, 5412, 5413, 7, 5, 0, 0, 5413, 5414, 7, 11, 0, 0, 5414, 5415, + 7, 14, 0, 0, 5415, 1100, 1, 0, 0, 0, 5416, 5417, 7, 16, 0, 0, 5417, 5418, + 7, 20, 0, 0, 5418, 5419, 7, 11, 0, 0, 5419, 5420, 7, 8, 0, 0, 5420, 5421, + 7, 6, 0, 0, 5421, 1102, 1, 0, 0, 0, 5422, 5423, 7, 3, 0, 0, 5423, 5424, + 7, 6, 0, 0, 5424, 5425, 7, 19, 0, 0, 5425, 5426, 7, 6, 0, 0, 5426, 5427, + 7, 3, 0, 0, 5427, 5428, 7, 5, 0, 0, 5428, 5429, 7, 6, 0, 0, 5429, 1104, + 1, 0, 0, 0, 5430, 5431, 7, 14, 0, 0, 5431, 5432, 7, 2, 0, 0, 5432, 5433, + 7, 3, 0, 0, 5433, 5434, 7, 6, 0, 0, 5434, 5435, 7, 0, 0, 0, 5435, 5436, + 7, 10, 0, 0, 5436, 5437, 7, 20, 0, 0, 5437, 1106, 1, 0, 0, 0, 5438, 5439, + 7, 5, 0, 0, 5439, 5440, 7, 8, 0, 0, 5440, 5441, 7, 11, 0, 0, 5441, 5442, + 7, 10, 0, 0, 5442, 5443, 7, 6, 0, 0, 5443, 1108, 1, 0, 0, 0, 5444, 5445, + 7, 6, 0, 0, 5445, 5446, 7, 23, 0, 0, 5446, 5447, 7, 11, 0, 0, 5447, 5448, + 7, 4, 0, 0, 5448, 1110, 1, 0, 0, 0, 5449, 5450, 7, 25, 0, 0, 5450, 5451, + 7, 9, 0, 0, 5451, 5452, 7, 6, 0, 0, 5452, 5453, 7, 3, 0, 0, 5453, 5454, + 7, 17, 0, 0, 5454, 1112, 1, 0, 0, 0, 5455, 5456, 7, 3, 0, 0, 5456, 5457, + 7, 0, 0, 0, 5457, 5458, 7, 11, 0, 0, 5458, 5459, 7, 5, 0, 0, 5459, 5460, + 7, 6, 0, 0, 5460, 1114, 1, 0, 0, 0, 5461, 5462, 7, 5, 0, 0, 5462, 5463, + 7, 25, 0, 0, 5463, 5464, 7, 8, 0, 0, 5464, 5465, 7, 5, 0, 0, 5465, 5466, + 7, 4, 0, 0, 5466, 5467, 7, 0, 0, 0, 5467, 5468, 7, 4, 0, 0, 5468, 5469, + 7, 6, 0, 0, 5469, 1116, 1, 0, 0, 0, 5470, 5471, 7, 12, 0, 0, 5471, 5472, + 7, 6, 0, 0, 5472, 5473, 7, 1, 0, 0, 5473, 5474, 7, 9, 0, 0, 5474, 5475, + 7, 15, 0, 0, 5475, 1118, 1, 0, 0, 0, 5476, 5477, 7, 8, 0, 0, 5477, 5478, + 7, 2, 0, 0, 5478, 5479, 7, 15, 0, 0, 5479, 1120, 1, 0, 0, 0, 5480, 5481, + 7, 11, 0, 0, 5481, 5482, 7, 7, 0, 0, 5482, 5483, 7, 14, 0, 0, 5483, 5484, + 7, 2, 0, 0, 5484, 1122, 1, 0, 0, 0, 5485, 5486, 7, 7, 0, 0, 5486, 5487, + 7, 2, 0, 0, 5487, 5488, 7, 4, 0, 0, 5488, 5489, 7, 11, 0, 0, 5489, 5490, + 7, 10, 0, 0, 5490, 5491, 7, 6, 0, 0, 5491, 1124, 1, 0, 0, 0, 5492, 5493, + 7, 16, 0, 0, 5493, 5494, 7, 0, 0, 0, 5494, 5495, 7, 3, 0, 0, 5495, 5496, + 7, 7, 0, 0, 5496, 5497, 7, 11, 0, 0, 5497, 5498, 7, 7, 0, 0, 5498, 5499, + 7, 15, 0, 0, 5499, 1126, 1, 0, 0, 0, 5500, 5501, 7, 6, 0, 0, 5501, 5502, + 7, 23, 0, 0, 5502, 5503, 7, 10, 0, 0, 5503, 5504, 7, 6, 0, 0, 5504, 5505, + 7, 22, 0, 0, 5505, 5506, 7, 4, 0, 0, 5506, 5507, 7, 11, 0, 0, 5507, 5508, + 7, 2, 0, 0, 5508, 5509, 7, 7, 0, 0, 5509, 1128, 1, 0, 0, 0, 5510, 5511, + 7, 0, 0, 0, 5511, 5512, 7, 5, 0, 0, 5512, 5513, 7, 5, 0, 0, 5513, 5514, + 7, 6, 0, 0, 5514, 5515, 7, 3, 0, 0, 5515, 5516, 7, 4, 0, 0, 5516, 1130, + 1, 0, 0, 0, 5517, 5518, 7, 8, 0, 0, 5518, 5519, 7, 2, 0, 0, 5519, 5520, + 7, 2, 0, 0, 5520, 5521, 7, 22, 0, 0, 5521, 1132, 1, 0, 0, 0, 5522, 5523, + 7, 2, 0, 0, 5523, 5524, 7, 22, 0, 0, 5524, 5525, 7, 6, 0, 0, 5525, 5526, + 7, 7, 0, 0, 5526, 1134, 1, 0, 0, 0, 5527, 5531, 3, 1137, 566, 0, 5528, + 5530, 3, 1139, 567, 0, 5529, 5528, 1, 0, 0, 0, 5530, 5533, 1, 0, 0, 0, + 5531, 5529, 1, 0, 0, 0, 5531, 5532, 1, 0, 0, 0, 5532, 1136, 1, 0, 0, 0, + 5533, 5531, 1, 0, 0, 0, 5534, 5541, 7, 31, 0, 0, 5535, 5536, 7, 32, 0, + 0, 5536, 5541, 4, 566, 6, 0, 5537, 5538, 7, 33, 0, 0, 5538, 5539, 7, 34, + 0, 0, 5539, 5541, 4, 566, 7, 0, 5540, 5534, 1, 0, 0, 0, 5540, 5535, 1, + 0, 0, 0, 5540, 5537, 1, 0, 0, 0, 5541, 1138, 1, 0, 0, 0, 5542, 5545, 3, + 1141, 568, 0, 5543, 5545, 5, 36, 0, 0, 5544, 5542, 1, 0, 0, 0, 5544, 5543, + 1, 0, 0, 0, 5545, 1140, 1, 0, 0, 0, 5546, 5549, 3, 1137, 566, 0, 5547, + 5549, 7, 26, 0, 0, 5548, 5546, 1, 0, 0, 0, 5548, 5547, 1, 0, 0, 0, 5549, + 1142, 1, 0, 0, 0, 5550, 5551, 3, 1145, 570, 0, 5551, 5552, 5, 34, 0, 0, + 5552, 1144, 1, 0, 0, 0, 5553, 5559, 5, 34, 0, 0, 5554, 5555, 5, 34, 0, + 0, 5555, 5558, 5, 34, 0, 0, 5556, 5558, 8, 35, 0, 0, 5557, 5554, 1, 0, + 0, 0, 5557, 5556, 1, 0, 0, 0, 5558, 5561, 1, 0, 0, 0, 5559, 5557, 1, 0, + 0, 0, 5559, 5560, 1, 0, 0, 0, 5560, 1146, 1, 0, 0, 0, 5561, 5559, 1, 0, + 0, 0, 5562, 5563, 3, 1149, 572, 0, 5563, 5564, 5, 34, 0, 0, 5564, 1148, + 1, 0, 0, 0, 5565, 5571, 5, 34, 0, 0, 5566, 5567, 5, 34, 0, 0, 5567, 5570, + 5, 34, 0, 0, 5568, 5570, 8, 36, 0, 0, 5569, 5566, 1, 0, 0, 0, 5569, 5568, + 1, 0, 0, 0, 5570, 5573, 1, 0, 0, 0, 5571, 5569, 1, 0, 0, 0, 5571, 5572, + 1, 0, 0, 0, 5572, 1150, 1, 0, 0, 0, 5573, 5571, 1, 0, 0, 0, 5574, 5575, + 7, 9, 0, 0, 5575, 5576, 5, 38, 0, 0, 5576, 5577, 3, 1143, 569, 0, 5577, + 1152, 1, 0, 0, 0, 5578, 5579, 7, 9, 0, 0, 5579, 5580, 5, 38, 0, 0, 5580, + 5581, 3, 1145, 570, 0, 5581, 1154, 1, 0, 0, 0, 5582, 5583, 7, 9, 0, 0, + 5583, 5584, 5, 38, 0, 0, 5584, 5585, 3, 1147, 571, 0, 5585, 1156, 1, 0, + 0, 0, 5586, 5587, 7, 9, 0, 0, 5587, 5588, 5, 38, 0, 0, 5588, 5589, 3, 1149, + 572, 0, 5589, 1158, 1, 0, 0, 0, 5590, 5591, 3, 1161, 578, 0, 5591, 5592, + 5, 39, 0, 0, 5592, 1160, 1, 0, 0, 0, 5593, 5599, 5, 39, 0, 0, 5594, 5595, + 5, 39, 0, 0, 5595, 5598, 5, 39, 0, 0, 5596, 5598, 8, 37, 0, 0, 5597, 5594, + 1, 0, 0, 0, 5597, 5596, 1, 0, 0, 0, 5598, 5601, 1, 0, 0, 0, 5599, 5597, + 1, 0, 0, 0, 5599, 5600, 1, 0, 0, 0, 5600, 1162, 1, 0, 0, 0, 5601, 5599, + 1, 0, 0, 0, 5602, 5603, 7, 6, 0, 0, 5603, 5604, 5, 39, 0, 0, 5604, 5605, + 1, 0, 0, 0, 5605, 5606, 6, 579, 2, 0, 5606, 5607, 6, 579, 3, 0, 5607, 1164, + 1, 0, 0, 0, 5608, 5609, 3, 1167, 581, 0, 5609, 5610, 5, 39, 0, 0, 5610, + 1166, 1, 0, 0, 0, 5611, 5612, 7, 9, 0, 0, 5612, 5613, 5, 38, 0, 0, 5613, + 5614, 3, 1161, 578, 0, 5614, 1168, 1, 0, 0, 0, 5615, 5617, 5, 36, 0, 0, + 5616, 5618, 3, 1171, 583, 0, 5617, 5616, 1, 0, 0, 0, 5617, 5618, 1, 0, + 0, 0, 5618, 5619, 1, 0, 0, 0, 5619, 5620, 5, 36, 0, 0, 5620, 5621, 6, 582, + 4, 0, 5621, 5622, 1, 0, 0, 0, 5622, 5623, 6, 582, 5, 0, 5623, 1170, 1, + 0, 0, 0, 5624, 5628, 3, 1137, 566, 0, 5625, 5627, 3, 1141, 568, 0, 5626, + 5625, 1, 0, 0, 0, 5627, 5630, 1, 0, 0, 0, 5628, 5626, 1, 0, 0, 0, 5628, + 5629, 1, 0, 0, 0, 5629, 1172, 1, 0, 0, 0, 5630, 5628, 1, 0, 0, 0, 5631, + 5632, 3, 1175, 585, 0, 5632, 5633, 5, 39, 0, 0, 5633, 1174, 1, 0, 0, 0, + 5634, 5635, 7, 1, 0, 0, 5635, 5639, 5, 39, 0, 0, 5636, 5638, 7, 38, 0, + 0, 5637, 5636, 1, 0, 0, 0, 5638, 5641, 1, 0, 0, 0, 5639, 5637, 1, 0, 0, + 0, 5639, 5640, 1, 0, 0, 0, 5640, 1176, 1, 0, 0, 0, 5641, 5639, 1, 0, 0, + 0, 5642, 5643, 3, 1179, 587, 0, 5643, 5644, 5, 39, 0, 0, 5644, 1178, 1, + 0, 0, 0, 5645, 5646, 7, 1, 0, 0, 5646, 5647, 3, 1161, 578, 0, 5647, 1180, + 1, 0, 0, 0, 5648, 5649, 3, 1183, 589, 0, 5649, 5650, 5, 39, 0, 0, 5650, + 1182, 1, 0, 0, 0, 5651, 5652, 7, 23, 0, 0, 5652, 5656, 5, 39, 0, 0, 5653, + 5655, 7, 39, 0, 0, 5654, 5653, 1, 0, 0, 0, 5655, 5658, 1, 0, 0, 0, 5656, + 5654, 1, 0, 0, 0, 5656, 5657, 1, 0, 0, 0, 5657, 1184, 1, 0, 0, 0, 5658, + 5656, 1, 0, 0, 0, 5659, 5660, 3, 1187, 591, 0, 5660, 5661, 5, 39, 0, 0, + 5661, 1186, 1, 0, 0, 0, 5662, 5663, 7, 23, 0, 0, 5663, 5664, 3, 1161, 578, + 0, 5664, 1188, 1, 0, 0, 0, 5665, 5666, 3, 1195, 595, 0, 5666, 1190, 1, + 0, 0, 0, 5667, 5668, 3, 1195, 595, 0, 5668, 5669, 5, 46, 0, 0, 5669, 5670, + 5, 46, 0, 0, 5670, 5671, 1, 0, 0, 0, 5671, 5672, 6, 593, 6, 0, 5672, 1192, + 1, 0, 0, 0, 5673, 5674, 3, 1195, 595, 0, 5674, 5676, 5, 46, 0, 0, 5675, + 5677, 3, 1195, 595, 0, 5676, 5675, 1, 0, 0, 0, 5676, 5677, 1, 0, 0, 0, + 5677, 5683, 1, 0, 0, 0, 5678, 5680, 7, 6, 0, 0, 5679, 5681, 7, 27, 0, 0, + 5680, 5679, 1, 0, 0, 0, 5680, 5681, 1, 0, 0, 0, 5681, 5682, 1, 0, 0, 0, + 5682, 5684, 3, 1195, 595, 0, 5683, 5678, 1, 0, 0, 0, 5683, 5684, 1, 0, + 0, 0, 5684, 5702, 1, 0, 0, 0, 5685, 5686, 5, 46, 0, 0, 5686, 5692, 3, 1195, + 595, 0, 5687, 5689, 7, 6, 0, 0, 5688, 5690, 7, 27, 0, 0, 5689, 5688, 1, + 0, 0, 0, 5689, 5690, 1, 0, 0, 0, 5690, 5691, 1, 0, 0, 0, 5691, 5693, 3, + 1195, 595, 0, 5692, 5687, 1, 0, 0, 0, 5692, 5693, 1, 0, 0, 0, 5693, 5702, + 1, 0, 0, 0, 5694, 5695, 3, 1195, 595, 0, 5695, 5697, 7, 6, 0, 0, 5696, + 5698, 7, 27, 0, 0, 5697, 5696, 1, 0, 0, 0, 5697, 5698, 1, 0, 0, 0, 5698, + 5699, 1, 0, 0, 0, 5699, 5700, 3, 1195, 595, 0, 5700, 5702, 1, 0, 0, 0, + 5701, 5673, 1, 0, 0, 0, 5701, 5685, 1, 0, 0, 0, 5701, 5694, 1, 0, 0, 0, + 5702, 1194, 1, 0, 0, 0, 5703, 5705, 7, 26, 0, 0, 5704, 5703, 1, 0, 0, 0, + 5705, 5706, 1, 0, 0, 0, 5706, 5704, 1, 0, 0, 0, 5706, 5707, 1, 0, 0, 0, + 5707, 1196, 1, 0, 0, 0, 5708, 5709, 5, 58, 0, 0, 5709, 5713, 7, 40, 0, + 0, 5710, 5712, 7, 41, 0, 0, 5711, 5710, 1, 0, 0, 0, 5712, 5715, 1, 0, 0, + 0, 5713, 5711, 1, 0, 0, 0, 5713, 5714, 1, 0, 0, 0, 5714, 1198, 1, 0, 0, + 0, 5715, 5713, 1, 0, 0, 0, 5716, 5717, 5, 58, 0, 0, 5717, 5718, 5, 34, + 0, 0, 5718, 5726, 1, 0, 0, 0, 5719, 5720, 5, 92, 0, 0, 5720, 5725, 9, 0, + 0, 0, 5721, 5722, 5, 34, 0, 0, 5722, 5725, 5, 34, 0, 0, 5723, 5725, 8, + 42, 0, 0, 5724, 5719, 1, 0, 0, 0, 5724, 5721, 1, 0, 0, 0, 5724, 5723, 1, + 0, 0, 0, 5725, 5728, 1, 0, 0, 0, 5726, 5724, 1, 0, 0, 0, 5726, 5727, 1, + 0, 0, 0, 5727, 5729, 1, 0, 0, 0, 5728, 5726, 1, 0, 0, 0, 5729, 5730, 5, + 34, 0, 0, 5730, 1200, 1, 0, 0, 0, 5731, 5732, 7, 43, 0, 0, 5732, 5733, + 1, 0, 0, 0, 5733, 5734, 6, 598, 7, 0, 5734, 1202, 1, 0, 0, 0, 5735, 5737, + 5, 13, 0, 0, 5736, 5738, 5, 10, 0, 0, 5737, 5736, 1, 0, 0, 0, 5737, 5738, + 1, 0, 0, 0, 5738, 5741, 1, 0, 0, 0, 5739, 5741, 5, 10, 0, 0, 5740, 5735, + 1, 0, 0, 0, 5740, 5739, 1, 0, 0, 0, 5741, 5742, 1, 0, 0, 0, 5742, 5743, + 6, 599, 7, 0, 5743, 1204, 1, 0, 0, 0, 5744, 5745, 5, 45, 0, 0, 5745, 5746, + 5, 45, 0, 0, 5746, 5750, 1, 0, 0, 0, 5747, 5749, 8, 44, 0, 0, 5748, 5747, + 1, 0, 0, 0, 5749, 5752, 1, 0, 0, 0, 5750, 5748, 1, 0, 0, 0, 5750, 5751, + 1, 0, 0, 0, 5751, 5753, 1, 0, 0, 0, 5752, 5750, 1, 0, 0, 0, 5753, 5754, + 6, 600, 7, 0, 5754, 1206, 1, 0, 0, 0, 5755, 5756, 5, 47, 0, 0, 5756, 5757, + 5, 42, 0, 0, 5757, 5780, 1, 0, 0, 0, 5758, 5760, 5, 47, 0, 0, 5759, 5758, + 1, 0, 0, 0, 5760, 5763, 1, 0, 0, 0, 5761, 5759, 1, 0, 0, 0, 5761, 5762, + 1, 0, 0, 0, 5762, 5764, 1, 0, 0, 0, 5763, 5761, 1, 0, 0, 0, 5764, 5779, + 3, 1207, 601, 0, 5765, 5779, 8, 45, 0, 0, 5766, 5768, 5, 47, 0, 0, 5767, + 5766, 1, 0, 0, 0, 5768, 5769, 1, 0, 0, 0, 5769, 5767, 1, 0, 0, 0, 5769, + 5770, 1, 0, 0, 0, 5770, 5771, 1, 0, 0, 0, 5771, 5779, 8, 45, 0, 0, 5772, + 5774, 5, 42, 0, 0, 5773, 5772, 1, 0, 0, 0, 5774, 5775, 1, 0, 0, 0, 5775, + 5773, 1, 0, 0, 0, 5775, 5776, 1, 0, 0, 0, 5776, 5777, 1, 0, 0, 0, 5777, + 5779, 8, 45, 0, 0, 5778, 5761, 1, 0, 0, 0, 5778, 5765, 1, 0, 0, 0, 5778, + 5767, 1, 0, 0, 0, 5778, 5773, 1, 0, 0, 0, 5779, 5782, 1, 0, 0, 0, 5780, + 5778, 1, 0, 0, 0, 5780, 5781, 1, 0, 0, 0, 5781, 5786, 1, 0, 0, 0, 5782, + 5780, 1, 0, 0, 0, 5783, 5785, 5, 42, 0, 0, 5784, 5783, 1, 0, 0, 0, 5785, + 5788, 1, 0, 0, 0, 5786, 5784, 1, 0, 0, 0, 5786, 5787, 1, 0, 0, 0, 5787, + 5789, 1, 0, 0, 0, 5788, 5786, 1, 0, 0, 0, 5789, 5790, 5, 42, 0, 0, 5790, + 5791, 5, 47, 0, 0, 5791, 5792, 1, 0, 0, 0, 5792, 5793, 6, 601, 7, 0, 5793, + 1208, 1, 0, 0, 0, 5794, 5795, 5, 47, 0, 0, 5795, 5796, 5, 42, 0, 0, 5796, + 5821, 1, 0, 0, 0, 5797, 5799, 5, 47, 0, 0, 5798, 5797, 1, 0, 0, 0, 5799, + 5802, 1, 0, 0, 0, 5800, 5798, 1, 0, 0, 0, 5800, 5801, 1, 0, 0, 0, 5801, + 5803, 1, 0, 0, 0, 5802, 5800, 1, 0, 0, 0, 5803, 5820, 3, 1207, 601, 0, + 5804, 5820, 8, 45, 0, 0, 5805, 5807, 5, 47, 0, 0, 5806, 5805, 1, 0, 0, + 0, 5807, 5808, 1, 0, 0, 0, 5808, 5806, 1, 0, 0, 0, 5808, 5809, 1, 0, 0, + 0, 5809, 5810, 1, 0, 0, 0, 5810, 5818, 8, 45, 0, 0, 5811, 5813, 5, 42, + 0, 0, 5812, 5811, 1, 0, 0, 0, 5813, 5814, 1, 0, 0, 0, 5814, 5812, 1, 0, + 0, 0, 5814, 5815, 1, 0, 0, 0, 5815, 5816, 1, 0, 0, 0, 5816, 5818, 8, 45, + 0, 0, 5817, 5806, 1, 0, 0, 0, 5817, 5812, 1, 0, 0, 0, 5818, 5820, 1, 0, + 0, 0, 5819, 5800, 1, 0, 0, 0, 5819, 5804, 1, 0, 0, 0, 5819, 5817, 1, 0, + 0, 0, 5820, 5823, 1, 0, 0, 0, 5821, 5819, 1, 0, 0, 0, 5821, 5822, 1, 0, + 0, 0, 5822, 5841, 1, 0, 0, 0, 5823, 5821, 1, 0, 0, 0, 5824, 5826, 5, 47, + 0, 0, 5825, 5824, 1, 0, 0, 0, 5826, 5827, 1, 0, 0, 0, 5827, 5825, 1, 0, + 0, 0, 5827, 5828, 1, 0, 0, 0, 5828, 5842, 1, 0, 0, 0, 5829, 5831, 5, 42, + 0, 0, 5830, 5829, 1, 0, 0, 0, 5831, 5832, 1, 0, 0, 0, 5832, 5830, 1, 0, + 0, 0, 5832, 5833, 1, 0, 0, 0, 5833, 5842, 1, 0, 0, 0, 5834, 5836, 5, 47, + 0, 0, 5835, 5834, 1, 0, 0, 0, 5836, 5839, 1, 0, 0, 0, 5837, 5835, 1, 0, + 0, 0, 5837, 5838, 1, 0, 0, 0, 5838, 5840, 1, 0, 0, 0, 5839, 5837, 1, 0, + 0, 0, 5840, 5842, 3, 1209, 602, 0, 5841, 5825, 1, 0, 0, 0, 5841, 5830, + 1, 0, 0, 0, 5841, 5837, 1, 0, 0, 0, 5841, 5842, 1, 0, 0, 0, 5842, 5843, + 1, 0, 0, 0, 5843, 5844, 6, 602, 8, 0, 5844, 1210, 1, 0, 0, 0, 5845, 5857, + 5, 92, 0, 0, 5846, 5856, 8, 46, 0, 0, 5847, 5851, 5, 34, 0, 0, 5848, 5850, + 8, 47, 0, 0, 5849, 5848, 1, 0, 0, 0, 5850, 5853, 1, 0, 0, 0, 5851, 5849, + 1, 0, 0, 0, 5851, 5852, 1, 0, 0, 0, 5852, 5854, 1, 0, 0, 0, 5853, 5851, + 1, 0, 0, 0, 5854, 5856, 5, 34, 0, 0, 5855, 5846, 1, 0, 0, 0, 5855, 5847, + 1, 0, 0, 0, 5856, 5859, 1, 0, 0, 0, 5857, 5855, 1, 0, 0, 0, 5857, 5858, + 1, 0, 0, 0, 5858, 5867, 1, 0, 0, 0, 5859, 5857, 1, 0, 0, 0, 5860, 5864, + 5, 34, 0, 0, 5861, 5863, 8, 47, 0, 0, 5862, 5861, 1, 0, 0, 0, 5863, 5866, + 1, 0, 0, 0, 5864, 5862, 1, 0, 0, 0, 5864, 5865, 1, 0, 0, 0, 5865, 5868, + 1, 0, 0, 0, 5866, 5864, 1, 0, 0, 0, 5867, 5860, 1, 0, 0, 0, 5867, 5868, + 1, 0, 0, 0, 5868, 1212, 1, 0, 0, 0, 5869, 5870, 5, 92, 0, 0, 5870, 5871, + 5, 92, 0, 0, 5871, 1214, 1, 0, 0, 0, 5872, 5873, 9, 0, 0, 0, 5873, 1216, + 1, 0, 0, 0, 5874, 5875, 3, 1221, 608, 0, 5875, 5876, 5, 39, 0, 0, 5876, + 5877, 1, 0, 0, 0, 5877, 5878, 6, 606, 9, 0, 5878, 1218, 1, 0, 0, 0, 5879, + 5881, 3, 1221, 608, 0, 5880, 5882, 5, 92, 0, 0, 5881, 5880, 1, 0, 0, 0, + 5881, 5882, 1, 0, 0, 0, 5882, 5883, 1, 0, 0, 0, 5883, 5884, 5, 0, 0, 1, + 5884, 1220, 1, 0, 0, 0, 5885, 5886, 5, 39, 0, 0, 5886, 5909, 5, 39, 0, + 0, 5887, 5905, 5, 92, 0, 0, 5888, 5889, 5, 120, 0, 0, 5889, 5906, 7, 39, + 0, 0, 5890, 5891, 5, 117, 0, 0, 5891, 5892, 7, 39, 0, 0, 5892, 5893, 7, + 39, 0, 0, 5893, 5894, 7, 39, 0, 0, 5894, 5906, 7, 39, 0, 0, 5895, 5896, + 5, 85, 0, 0, 5896, 5897, 7, 39, 0, 0, 5897, 5898, 7, 39, 0, 0, 5898, 5899, + 7, 39, 0, 0, 5899, 5900, 7, 39, 0, 0, 5900, 5901, 7, 39, 0, 0, 5901, 5902, + 7, 39, 0, 0, 5902, 5903, 7, 39, 0, 0, 5903, 5906, 7, 39, 0, 0, 5904, 5906, + 8, 48, 0, 0, 5905, 5888, 1, 0, 0, 0, 5905, 5890, 1, 0, 0, 0, 5905, 5895, + 1, 0, 0, 0, 5905, 5904, 1, 0, 0, 0, 5906, 5909, 1, 0, 0, 0, 5907, 5909, + 8, 49, 0, 0, 5908, 5885, 1, 0, 0, 0, 5908, 5887, 1, 0, 0, 0, 5908, 5907, + 1, 0, 0, 0, 5909, 5912, 1, 0, 0, 0, 5910, 5908, 1, 0, 0, 0, 5910, 5911, + 1, 0, 0, 0, 5911, 1222, 1, 0, 0, 0, 5912, 5910, 1, 0, 0, 0, 5913, 5914, + 3, 1227, 611, 0, 5914, 5915, 5, 39, 0, 0, 5915, 5916, 1, 0, 0, 0, 5916, + 5917, 6, 609, 9, 0, 5917, 1224, 1, 0, 0, 0, 5918, 5920, 3, 1227, 611, 0, + 5919, 5921, 5, 92, 0, 0, 5920, 5919, 1, 0, 0, 0, 5920, 5921, 1, 0, 0, 0, + 5921, 5922, 1, 0, 0, 0, 5922, 5923, 5, 0, 0, 1, 5923, 1226, 1, 0, 0, 0, + 5924, 5925, 5, 39, 0, 0, 5925, 5930, 5, 39, 0, 0, 5926, 5927, 5, 92, 0, + 0, 5927, 5930, 9, 0, 0, 0, 5928, 5930, 8, 49, 0, 0, 5929, 5924, 1, 0, 0, + 0, 5929, 5926, 1, 0, 0, 0, 5929, 5928, 1, 0, 0, 0, 5930, 5933, 1, 0, 0, + 0, 5931, 5929, 1, 0, 0, 0, 5931, 5932, 1, 0, 0, 0, 5932, 1228, 1, 0, 0, + 0, 5933, 5931, 1, 0, 0, 0, 5934, 5935, 3, 1201, 598, 0, 5935, 5936, 1, + 0, 0, 0, 5936, 5937, 6, 612, 10, 0, 5937, 5938, 6, 612, 7, 0, 5938, 1230, + 1, 0, 0, 0, 5939, 5940, 3, 1203, 599, 0, 5940, 5941, 1, 0, 0, 0, 5941, + 5942, 6, 613, 11, 0, 5942, 5943, 6, 613, 7, 0, 5943, 5944, 6, 613, 12, + 0, 5944, 1232, 1, 0, 0, 0, 5945, 5946, 6, 614, 13, 0, 5946, 5947, 1, 0, + 0, 0, 5947, 5948, 6, 614, 14, 0, 5948, 5949, 6, 614, 15, 0, 5949, 1234, + 1, 0, 0, 0, 5950, 5951, 3, 1201, 598, 0, 5951, 5952, 1, 0, 0, 0, 5952, + 5953, 6, 615, 10, 0, 5953, 5954, 6, 615, 7, 0, 5954, 1236, 1, 0, 0, 0, + 5955, 5956, 3, 1203, 599, 0, 5956, 5957, 1, 0, 0, 0, 5957, 5958, 6, 616, + 11, 0, 5958, 5959, 6, 616, 7, 0, 5959, 1238, 1, 0, 0, 0, 5960, 5961, 5, + 39, 0, 0, 5961, 5962, 1, 0, 0, 0, 5962, 5963, 6, 617, 2, 0, 5963, 5964, + 6, 617, 16, 0, 5964, 1240, 1, 0, 0, 0, 5965, 5966, 6, 618, 17, 0, 5966, + 5967, 1, 0, 0, 0, 5967, 5968, 6, 618, 14, 0, 5968, 5969, 6, 618, 15, 0, + 5969, 1242, 1, 0, 0, 0, 5970, 5972, 8, 50, 0, 0, 5971, 5970, 1, 0, 0, 0, + 5972, 5973, 1, 0, 0, 0, 5973, 5971, 1, 0, 0, 0, 5973, 5974, 1, 0, 0, 0, + 5974, 5983, 1, 0, 0, 0, 5975, 5979, 5, 36, 0, 0, 5976, 5978, 8, 50, 0, + 0, 5977, 5976, 1, 0, 0, 0, 5978, 5981, 1, 0, 0, 0, 5979, 5977, 1, 0, 0, + 0, 5979, 5980, 1, 0, 0, 0, 5980, 5983, 1, 0, 0, 0, 5981, 5979, 1, 0, 0, + 0, 5982, 5971, 1, 0, 0, 0, 5982, 5975, 1, 0, 0, 0, 5983, 1244, 1, 0, 0, + 0, 5984, 5986, 5, 36, 0, 0, 5985, 5987, 3, 1171, 583, 0, 5986, 5985, 1, + 0, 0, 0, 5986, 5987, 1, 0, 0, 0, 5987, 5988, 1, 0, 0, 0, 5988, 5989, 5, + 36, 0, 0, 5989, 5990, 1, 0, 0, 0, 5990, 5991, 4, 620, 8, 0, 5991, 5992, + 6, 620, 18, 0, 5992, 5993, 1, 0, 0, 0, 5993, 5994, 6, 620, 15, 0, 5994, + 1246, 1, 0, 0, 0, 77, 0, 1, 2, 3, 4, 5114, 5120, 5122, 5127, 5131, 5133, + 5136, 5145, 5147, 5152, 5157, 5159, 5531, 5540, 5544, 5548, 5557, 5559, + 5569, 5571, 5597, 5599, 5617, 5628, 5639, 5656, 5676, 5680, 5683, 5689, + 5692, 5697, 5701, 5706, 5713, 5724, 5726, 5737, 5740, 5750, 5761, 5769, + 5775, 5778, 5780, 5786, 5800, 5808, 5814, 5817, 5819, 5821, 5827, 5832, + 5837, 5841, 5851, 5855, 5857, 5864, 5867, 5881, 5905, 5908, 5910, 5920, + 5929, 5931, 5973, 5979, 5982, 5986, 19, 1, 522, 0, 7, 523, 0, 3, 0, 0, + 5, 1, 0, 1, 582, 1, 5, 4, 0, 1, 593, 2, 0, 1, 0, 1, 602, 3, 2, 2, 0, 7, + 589, 0, 7, 590, 0, 2, 3, 0, 1, 614, 4, 6, 0, 0, 4, 0, 0, 2, 1, 0, 1, 618, + 5, 1, 620, 6, } deserializer := antlr.NewATNDeserializer(nil) staticData.atn = deserializer.Deserialize(staticData.serializedATN) @@ -3715,713 +3148,611 @@ func NewPostgreSQLLexer(input antlr.CharStream) *PostgreSQLLexer { // PostgreSQLLexer tokens. const ( - PostgreSQLLexerDollar = 1 - PostgreSQLLexerOPEN_PAREN = 2 - PostgreSQLLexerCLOSE_PAREN = 3 - PostgreSQLLexerOPEN_BRACKET = 4 - PostgreSQLLexerCLOSE_BRACKET = 5 - PostgreSQLLexerCOMMA = 6 - PostgreSQLLexerSEMI = 7 - PostgreSQLLexerCOLON = 8 - PostgreSQLLexerSTAR = 9 - PostgreSQLLexerEQUAL = 10 - PostgreSQLLexerDOT = 11 - PostgreSQLLexerPLUS = 12 - PostgreSQLLexerMINUS = 13 - PostgreSQLLexerSLASH = 14 - PostgreSQLLexerCARET = 15 - PostgreSQLLexerLT = 16 - PostgreSQLLexerGT = 17 - PostgreSQLLexerLESS_LESS = 18 - PostgreSQLLexerGREATER_GREATER = 19 - PostgreSQLLexerCOLON_EQUALS = 20 - PostgreSQLLexerLESS_EQUALS = 21 - PostgreSQLLexerEQUALS_GREATER = 22 - PostgreSQLLexerGREATER_EQUALS = 23 - PostgreSQLLexerDOT_DOT = 24 - PostgreSQLLexerNOT_EQUALS = 25 - PostgreSQLLexerTYPECAST = 26 - PostgreSQLLexerPERCENT = 27 - PostgreSQLLexerPARAM = 28 - PostgreSQLLexerOperator = 29 - PostgreSQLLexerALL = 30 - PostgreSQLLexerANALYSE = 31 - PostgreSQLLexerANALYZE = 32 - PostgreSQLLexerAND = 33 - PostgreSQLLexerANY = 34 - PostgreSQLLexerARRAY = 35 - PostgreSQLLexerAS = 36 - PostgreSQLLexerASC = 37 - PostgreSQLLexerASYMMETRIC = 38 - PostgreSQLLexerBOTH = 39 - PostgreSQLLexerCASE = 40 - PostgreSQLLexerCAST = 41 - PostgreSQLLexerCHECK = 42 - PostgreSQLLexerCOLLATE = 43 - PostgreSQLLexerCOLUMN = 44 - PostgreSQLLexerCONSTRAINT = 45 - PostgreSQLLexerCREATE = 46 - PostgreSQLLexerCURRENT_CATALOG = 47 - PostgreSQLLexerCURRENT_DATE = 48 - PostgreSQLLexerCURRENT_ROLE = 49 - PostgreSQLLexerCURRENT_TIME = 50 - PostgreSQLLexerCURRENT_TIMESTAMP = 51 - PostgreSQLLexerCURRENT_USER = 52 - PostgreSQLLexerDEFAULT = 53 - PostgreSQLLexerDEFERRABLE = 54 - PostgreSQLLexerDESC = 55 - PostgreSQLLexerDISTINCT = 56 - PostgreSQLLexerDO = 57 - PostgreSQLLexerELSE = 58 - PostgreSQLLexerEXCEPT = 59 - PostgreSQLLexerFALSE_P = 60 - PostgreSQLLexerFETCH = 61 - PostgreSQLLexerFOR = 62 - PostgreSQLLexerFOREIGN = 63 - PostgreSQLLexerFROM = 64 - PostgreSQLLexerGRANT = 65 - PostgreSQLLexerGROUP_P = 66 - PostgreSQLLexerHAVING = 67 - PostgreSQLLexerIN_P = 68 - PostgreSQLLexerINITIALLY = 69 - PostgreSQLLexerINTERSECT = 70 - PostgreSQLLexerINTO = 71 - PostgreSQLLexerLATERAL_P = 72 - PostgreSQLLexerLEADING = 73 - PostgreSQLLexerLIMIT = 74 - PostgreSQLLexerLOCALTIME = 75 - PostgreSQLLexerLOCALTIMESTAMP = 76 - PostgreSQLLexerNOT = 77 - PostgreSQLLexerNULL_P = 78 - PostgreSQLLexerOFFSET = 79 - PostgreSQLLexerON = 80 - PostgreSQLLexerONLY = 81 - PostgreSQLLexerOR = 82 - PostgreSQLLexerORDER = 83 - PostgreSQLLexerPLACING = 84 - PostgreSQLLexerPRIMARY = 85 - PostgreSQLLexerREFERENCES = 86 - PostgreSQLLexerRETURNING = 87 - PostgreSQLLexerSELECT = 88 - PostgreSQLLexerSESSION_USER = 89 - PostgreSQLLexerSOME = 90 - PostgreSQLLexerSYMMETRIC = 91 - PostgreSQLLexerTABLE = 92 - PostgreSQLLexerTHEN = 93 - PostgreSQLLexerTO = 94 - PostgreSQLLexerTRAILING = 95 - PostgreSQLLexerTRUE_P = 96 - PostgreSQLLexerUNION = 97 - PostgreSQLLexerUNIQUE = 98 - PostgreSQLLexerUSER = 99 - PostgreSQLLexerUSING = 100 - PostgreSQLLexerVARIADIC = 101 - PostgreSQLLexerWHEN = 102 - PostgreSQLLexerWHERE = 103 - PostgreSQLLexerWINDOW = 104 - PostgreSQLLexerWITH = 105 - PostgreSQLLexerJSON_OBJECT = 106 - PostgreSQLLexerJSON_ARRAY = 107 - PostgreSQLLexerJSON = 108 - PostgreSQLLexerJSON_SCALAR = 109 - PostgreSQLLexerJSON_SERIALIZE = 110 - PostgreSQLLexerMERGE_ACTION = 111 - PostgreSQLLexerJSON_QUERY = 112 - PostgreSQLLexerJSON_EXISTS = 113 - PostgreSQLLexerJSON_VALUE = 114 - PostgreSQLLexerEMPTY = 115 - PostgreSQLLexerKEEP = 116 - PostgreSQLLexerOMIT = 117 - PostgreSQLLexerSCALAR = 118 - PostgreSQLLexerSTRING = 119 - PostgreSQLLexerCONDITIONAL = 120 - PostgreSQLLexerUNCONDITIONAL = 121 - PostgreSQLLexerKEYS = 122 - PostgreSQLLexerABSENT = 123 - PostgreSQLLexerQUOTES = 124 - PostgreSQLLexerAUTHORIZATION = 125 - PostgreSQLLexerBINARY = 126 - PostgreSQLLexerCOLLATION = 127 - PostgreSQLLexerCONCURRENTLY = 128 - PostgreSQLLexerCROSS = 129 - PostgreSQLLexerCURRENT_SCHEMA = 130 - PostgreSQLLexerFREEZE = 131 - PostgreSQLLexerFULL = 132 - PostgreSQLLexerILIKE = 133 - PostgreSQLLexerINNER_P = 134 - PostgreSQLLexerIS = 135 - PostgreSQLLexerISNULL = 136 - PostgreSQLLexerJOIN = 137 - PostgreSQLLexerLEFT = 138 - PostgreSQLLexerLIKE = 139 - PostgreSQLLexerNATURAL = 140 - PostgreSQLLexerNOTNULL = 141 - PostgreSQLLexerOUTER_P = 142 - PostgreSQLLexerOVER = 143 - PostgreSQLLexerOVERLAPS = 144 - PostgreSQLLexerRIGHT = 145 - PostgreSQLLexerSIMILAR = 146 - PostgreSQLLexerVERBOSE = 147 - PostgreSQLLexerABORT_P = 148 - PostgreSQLLexerABSOLUTE_P = 149 - PostgreSQLLexerACCESS = 150 - PostgreSQLLexerACTION = 151 - PostgreSQLLexerADD_P = 152 - PostgreSQLLexerADMIN = 153 - PostgreSQLLexerAFTER = 154 - PostgreSQLLexerAGGREGATE = 155 - PostgreSQLLexerALSO = 156 - PostgreSQLLexerALTER = 157 - PostgreSQLLexerALWAYS = 158 - PostgreSQLLexerASSERTION = 159 - PostgreSQLLexerASSIGNMENT = 160 - PostgreSQLLexerAT = 161 - PostgreSQLLexerATTRIBUTE = 162 - PostgreSQLLexerBACKWARD = 163 - PostgreSQLLexerBEFORE = 164 - PostgreSQLLexerBEGIN_P = 165 - PostgreSQLLexerBY = 166 - PostgreSQLLexerCACHE = 167 - PostgreSQLLexerCALLED = 168 - PostgreSQLLexerCASCADE = 169 - PostgreSQLLexerCASCADED = 170 - PostgreSQLLexerCATALOG = 171 - PostgreSQLLexerCHAIN = 172 - PostgreSQLLexerCHARACTERISTICS = 173 - PostgreSQLLexerCHECKPOINT = 174 - PostgreSQLLexerCLASS = 175 - PostgreSQLLexerCLOSE = 176 - PostgreSQLLexerCLUSTER = 177 - PostgreSQLLexerCOMMENT = 178 - PostgreSQLLexerCOMMENTS = 179 - PostgreSQLLexerCOMMIT = 180 - PostgreSQLLexerCOMMITTED = 181 - PostgreSQLLexerCONFIGURATION = 182 - PostgreSQLLexerCONNECTION = 183 - PostgreSQLLexerCONSTRAINTS = 184 - PostgreSQLLexerCONTENT_P = 185 - PostgreSQLLexerCONTINUE_P = 186 - PostgreSQLLexerCONVERSION_P = 187 - PostgreSQLLexerCOPY = 188 - PostgreSQLLexerCOST = 189 - PostgreSQLLexerCSV = 190 - PostgreSQLLexerCURSOR = 191 - PostgreSQLLexerCYCLE = 192 - PostgreSQLLexerDATA_P = 193 - PostgreSQLLexerDATABASE = 194 - PostgreSQLLexerDAY_P = 195 - PostgreSQLLexerDEALLOCATE = 196 - PostgreSQLLexerDECLARE = 197 - PostgreSQLLexerDEFAULTS = 198 - PostgreSQLLexerDEFERRED = 199 - PostgreSQLLexerDEFINER = 200 - PostgreSQLLexerDELETE_P = 201 - PostgreSQLLexerDELIMITER = 202 - PostgreSQLLexerDELIMITERS = 203 - PostgreSQLLexerDICTIONARY = 204 - PostgreSQLLexerDISABLE_P = 205 - PostgreSQLLexerDISCARD = 206 - PostgreSQLLexerDOCUMENT_P = 207 - PostgreSQLLexerDOMAIN_P = 208 - PostgreSQLLexerDOUBLE_P = 209 - PostgreSQLLexerDROP = 210 - PostgreSQLLexerEACH = 211 - PostgreSQLLexerENABLE_P = 212 - PostgreSQLLexerENCODING = 213 - PostgreSQLLexerENCRYPTED = 214 - PostgreSQLLexerENUM_P = 215 - PostgreSQLLexerESCAPE = 216 - PostgreSQLLexerEVENT = 217 - PostgreSQLLexerEXCLUDE = 218 - PostgreSQLLexerEXCLUDING = 219 - PostgreSQLLexerEXCLUSIVE = 220 - PostgreSQLLexerEXECUTE = 221 - PostgreSQLLexerEXPLAIN = 222 - PostgreSQLLexerEXTENSION = 223 - PostgreSQLLexerEXTERNAL = 224 - PostgreSQLLexerFAMILY = 225 - PostgreSQLLexerFIRST_P = 226 - PostgreSQLLexerFOLLOWING = 227 - PostgreSQLLexerFORCE = 228 - PostgreSQLLexerFORWARD = 229 - PostgreSQLLexerFUNCTION = 230 - PostgreSQLLexerFUNCTIONS = 231 - PostgreSQLLexerGLOBAL = 232 - PostgreSQLLexerGRANTED = 233 - PostgreSQLLexerHANDLER = 234 - PostgreSQLLexerHEADER_P = 235 - PostgreSQLLexerHOLD = 236 - PostgreSQLLexerHOUR_P = 237 - PostgreSQLLexerIDENTITY_P = 238 - PostgreSQLLexerIF_P = 239 - PostgreSQLLexerIMMEDIATE = 240 - PostgreSQLLexerIMMUTABLE = 241 - PostgreSQLLexerIMPLICIT_P = 242 - PostgreSQLLexerINCLUDING = 243 - PostgreSQLLexerINCREMENT = 244 - PostgreSQLLexerINDEX = 245 - PostgreSQLLexerINDEXES = 246 - PostgreSQLLexerINHERIT = 247 - PostgreSQLLexerINHERITS = 248 - PostgreSQLLexerINLINE_P = 249 - PostgreSQLLexerINSENSITIVE = 250 - PostgreSQLLexerINSERT = 251 - PostgreSQLLexerINSTEAD = 252 - PostgreSQLLexerINVOKER = 253 - PostgreSQLLexerISOLATION = 254 - PostgreSQLLexerKEY = 255 - PostgreSQLLexerLABEL = 256 - PostgreSQLLexerLANGUAGE = 257 - PostgreSQLLexerLARGE_P = 258 - PostgreSQLLexerLAST_P = 259 - PostgreSQLLexerLEAKPROOF = 260 - PostgreSQLLexerLEVEL = 261 - PostgreSQLLexerLISTEN = 262 - PostgreSQLLexerLOAD = 263 - PostgreSQLLexerLOCAL = 264 - PostgreSQLLexerLOCATION = 265 - PostgreSQLLexerLOCK_P = 266 - PostgreSQLLexerMAPPING = 267 - PostgreSQLLexerMATCH = 268 - PostgreSQLLexerMATCHED = 269 - PostgreSQLLexerMATERIALIZED = 270 - PostgreSQLLexerMAXVALUE = 271 - PostgreSQLLexerMERGE = 272 - PostgreSQLLexerMINUTE_P = 273 - PostgreSQLLexerMINVALUE = 274 - PostgreSQLLexerMODE = 275 - PostgreSQLLexerMONTH_P = 276 - PostgreSQLLexerMOVE = 277 - PostgreSQLLexerNAME_P = 278 - PostgreSQLLexerNAMES = 279 - PostgreSQLLexerNEXT = 280 - PostgreSQLLexerNO = 281 - PostgreSQLLexerNOTHING = 282 - PostgreSQLLexerNOTIFY = 283 - PostgreSQLLexerNOWAIT = 284 - PostgreSQLLexerNULLS_P = 285 - PostgreSQLLexerOBJECT_P = 286 - PostgreSQLLexerOF = 287 - PostgreSQLLexerOFF = 288 - PostgreSQLLexerOIDS = 289 - PostgreSQLLexerOPERATOR = 290 - PostgreSQLLexerOPTION = 291 - PostgreSQLLexerOPTIONS = 292 - PostgreSQLLexerOWNED = 293 - PostgreSQLLexerOWNER = 294 - PostgreSQLLexerPARSER = 295 - PostgreSQLLexerPARTIAL = 296 - PostgreSQLLexerPARTITION = 297 - PostgreSQLLexerPASSING = 298 - PostgreSQLLexerPASSWORD = 299 - PostgreSQLLexerPLANS = 300 - PostgreSQLLexerPRECEDING = 301 - PostgreSQLLexerPREPARE = 302 - PostgreSQLLexerPREPARED = 303 - PostgreSQLLexerPRESERVE = 304 - PostgreSQLLexerPRIOR = 305 - PostgreSQLLexerPRIVILEGES = 306 - PostgreSQLLexerPROCEDURAL = 307 - PostgreSQLLexerPROCEDURE = 308 - PostgreSQLLexerPROGRAM = 309 - PostgreSQLLexerQUOTE = 310 - PostgreSQLLexerRANGE = 311 - PostgreSQLLexerREAD = 312 - PostgreSQLLexerREASSIGN = 313 - PostgreSQLLexerRECHECK = 314 - PostgreSQLLexerRECURSIVE = 315 - PostgreSQLLexerREF = 316 - PostgreSQLLexerREFRESH = 317 - PostgreSQLLexerREINDEX = 318 - PostgreSQLLexerRELATIVE_P = 319 - PostgreSQLLexerRELEASE = 320 - PostgreSQLLexerRENAME = 321 - PostgreSQLLexerREPEATABLE = 322 - PostgreSQLLexerREPLACE = 323 - PostgreSQLLexerREPLICA = 324 - PostgreSQLLexerRESET = 325 - PostgreSQLLexerRESTART = 326 - PostgreSQLLexerRESTRICT = 327 - PostgreSQLLexerRETURNS = 328 - PostgreSQLLexerREVOKE = 329 - PostgreSQLLexerROLE = 330 - PostgreSQLLexerROLLBACK = 331 - PostgreSQLLexerROWS = 332 - PostgreSQLLexerRULE = 333 - PostgreSQLLexerSAVEPOINT = 334 - PostgreSQLLexerSCHEMA = 335 - PostgreSQLLexerSCROLL = 336 - PostgreSQLLexerSEARCH = 337 - PostgreSQLLexerSECOND_P = 338 - PostgreSQLLexerSECURITY = 339 - PostgreSQLLexerSEQUENCE = 340 - PostgreSQLLexerSEQUENCES = 341 - PostgreSQLLexerSERIALIZABLE = 342 - PostgreSQLLexerSERVER = 343 - PostgreSQLLexerSESSION = 344 - PostgreSQLLexerSET = 345 - PostgreSQLLexerSHARE = 346 - PostgreSQLLexerSHOW = 347 - PostgreSQLLexerSIMPLE = 348 - PostgreSQLLexerSNAPSHOT = 349 - PostgreSQLLexerSTABLE = 350 - PostgreSQLLexerSTANDALONE_P = 351 - PostgreSQLLexerSTART = 352 - PostgreSQLLexerSTATEMENT = 353 - PostgreSQLLexerSTATISTICS = 354 - PostgreSQLLexerSTDIN = 355 - PostgreSQLLexerSTDOUT = 356 - PostgreSQLLexerSTORAGE = 357 - PostgreSQLLexerSTRICT_P = 358 - PostgreSQLLexerSTRIP_P = 359 - PostgreSQLLexerSYSID = 360 - PostgreSQLLexerSYSTEM_P = 361 - PostgreSQLLexerTABLES = 362 - PostgreSQLLexerTABLESPACE = 363 - PostgreSQLLexerTEMP = 364 - PostgreSQLLexerTEMPLATE = 365 - PostgreSQLLexerTEMPORARY = 366 - PostgreSQLLexerTEXT_P = 367 - PostgreSQLLexerTRANSACTION = 368 - PostgreSQLLexerTRIGGER = 369 - PostgreSQLLexerTRUNCATE = 370 - PostgreSQLLexerTRUSTED = 371 - PostgreSQLLexerTYPE_P = 372 - PostgreSQLLexerTYPES_P = 373 - PostgreSQLLexerUNBOUNDED = 374 - PostgreSQLLexerUNCOMMITTED = 375 - PostgreSQLLexerUNENCRYPTED = 376 - PostgreSQLLexerUNKNOWN = 377 - PostgreSQLLexerUNLISTEN = 378 - PostgreSQLLexerUNLOGGED = 379 - PostgreSQLLexerUNTIL = 380 - PostgreSQLLexerUPDATE = 381 - PostgreSQLLexerVACUUM = 382 - PostgreSQLLexerVALID = 383 - PostgreSQLLexerVALIDATE = 384 - PostgreSQLLexerVALIDATOR = 385 - PostgreSQLLexerVARYING = 386 - PostgreSQLLexerVERSION_P = 387 - PostgreSQLLexerVIEW = 388 - PostgreSQLLexerVOLATILE = 389 - PostgreSQLLexerWHITESPACE_P = 390 - PostgreSQLLexerWITHOUT = 391 - PostgreSQLLexerWORK = 392 - PostgreSQLLexerWRAPPER = 393 - PostgreSQLLexerWRITE = 394 - PostgreSQLLexerXML_P = 395 - PostgreSQLLexerYEAR_P = 396 - PostgreSQLLexerYES_P = 397 - PostgreSQLLexerZONE = 398 - PostgreSQLLexerATOMIC_P = 399 - PostgreSQLLexerBETWEEN = 400 - PostgreSQLLexerBIGINT = 401 - PostgreSQLLexerBIT = 402 - PostgreSQLLexerBOOLEAN_P = 403 - PostgreSQLLexerCHAR_P = 404 - PostgreSQLLexerCHARACTER = 405 - PostgreSQLLexerCOALESCE = 406 - PostgreSQLLexerDEC = 407 - PostgreSQLLexerDECIMAL_P = 408 - PostgreSQLLexerEXISTS = 409 - PostgreSQLLexerEXTRACT = 410 - PostgreSQLLexerFLOAT_P = 411 - PostgreSQLLexerGREATEST = 412 - PostgreSQLLexerINOUT = 413 - PostgreSQLLexerINT_P = 414 - PostgreSQLLexerINTEGER = 415 - PostgreSQLLexerINTERVAL = 416 - PostgreSQLLexerLEAST = 417 - PostgreSQLLexerNATIONAL = 418 - PostgreSQLLexerNCHAR = 419 - PostgreSQLLexerNONE = 420 - PostgreSQLLexerNULLIF = 421 - PostgreSQLLexerNUMERIC = 422 - PostgreSQLLexerOVERLAY = 423 - PostgreSQLLexerPARAMETER = 424 - PostgreSQLLexerPOSITION = 425 - PostgreSQLLexerPRECISION = 426 - PostgreSQLLexerREAL = 427 - PostgreSQLLexerROW = 428 - PostgreSQLLexerSETOF = 429 - PostgreSQLLexerSMALLINT = 430 - PostgreSQLLexerSUBSTRING = 431 - PostgreSQLLexerTIME = 432 - PostgreSQLLexerTIMESTAMP = 433 - PostgreSQLLexerTREAT = 434 + PostgreSQLLexerABORT_P = 1 + PostgreSQLLexerABSENT = 2 + PostgreSQLLexerABSOLUTE_P = 3 + PostgreSQLLexerACCESS = 4 + PostgreSQLLexerACTION = 5 + PostgreSQLLexerADD_P = 6 + PostgreSQLLexerADMIN = 7 + PostgreSQLLexerAFTER = 8 + PostgreSQLLexerAGGREGATE = 9 + PostgreSQLLexerALL = 10 + PostgreSQLLexerALSO = 11 + PostgreSQLLexerALTER = 12 + PostgreSQLLexerALWAYS = 13 + PostgreSQLLexerANALYSE = 14 + PostgreSQLLexerANALYZE = 15 + PostgreSQLLexerAND = 16 + PostgreSQLLexerANY = 17 + PostgreSQLLexerARRAY = 18 + PostgreSQLLexerAS = 19 + PostgreSQLLexerASC = 20 + PostgreSQLLexerASENSITIVE = 21 + PostgreSQLLexerASSERTION = 22 + PostgreSQLLexerASSIGNMENT = 23 + PostgreSQLLexerASYMMETRIC = 24 + PostgreSQLLexerAT = 25 + PostgreSQLLexerATOMIC = 26 + PostgreSQLLexerATTACH = 27 + PostgreSQLLexerATTRIBUTE = 28 + PostgreSQLLexerAUTHORIZATION = 29 + PostgreSQLLexerBACKWARD = 30 + PostgreSQLLexerBEFORE = 31 + PostgreSQLLexerBEGIN_P = 32 + PostgreSQLLexerBETWEEN = 33 + PostgreSQLLexerBIGINT = 34 + PostgreSQLLexerBINARY = 35 + PostgreSQLLexerBIT = 36 + PostgreSQLLexerBOOLEAN_P = 37 + PostgreSQLLexerBOTH = 38 + PostgreSQLLexerBREADTH = 39 + PostgreSQLLexerBY = 40 + PostgreSQLLexerCACHE = 41 + PostgreSQLLexerCALL = 42 + PostgreSQLLexerCALLED = 43 + PostgreSQLLexerCASCADE = 44 + PostgreSQLLexerCASCADED = 45 + PostgreSQLLexerCASE = 46 + PostgreSQLLexerCAST = 47 + PostgreSQLLexerCATALOG_P = 48 + PostgreSQLLexerCHAIN = 49 + PostgreSQLLexerCHAR_P = 50 + PostgreSQLLexerCHARACTER = 51 + PostgreSQLLexerCHARACTERISTICS = 52 + PostgreSQLLexerCHECK = 53 + PostgreSQLLexerCHECKPOINT = 54 + PostgreSQLLexerCLASS = 55 + PostgreSQLLexerCLOSE = 56 + PostgreSQLLexerCLUSTER = 57 + PostgreSQLLexerCOALESCE = 58 + PostgreSQLLexerCOLLATE = 59 + PostgreSQLLexerCOLLATION = 60 + PostgreSQLLexerCOLUMN = 61 + PostgreSQLLexerCOLUMNS = 62 + PostgreSQLLexerCOMMENT = 63 + PostgreSQLLexerCOMMENTS = 64 + PostgreSQLLexerCOMMIT = 65 + PostgreSQLLexerCOMMITTED = 66 + PostgreSQLLexerCOMPRESSION = 67 + PostgreSQLLexerCONCURRENTLY = 68 + PostgreSQLLexerCONDITIONAL = 69 + PostgreSQLLexerCONFIGURATION = 70 + PostgreSQLLexerCONFLICT = 71 + PostgreSQLLexerCONNECTION = 72 + PostgreSQLLexerCONSTRAINT = 73 + PostgreSQLLexerCONSTRAINTS = 74 + PostgreSQLLexerCONTENT_P = 75 + PostgreSQLLexerCONTINUE_P = 76 + PostgreSQLLexerCONVERSION_P = 77 + PostgreSQLLexerCOPY = 78 + PostgreSQLLexerCOST = 79 + PostgreSQLLexerCREATE = 80 + PostgreSQLLexerCROSS = 81 + PostgreSQLLexerCSV = 82 + PostgreSQLLexerCUBE = 83 + PostgreSQLLexerCURRENT_P = 84 + PostgreSQLLexerCURRENT_CATALOG = 85 + PostgreSQLLexerCURRENT_DATE = 86 + PostgreSQLLexerCURRENT_ROLE = 87 + PostgreSQLLexerCURRENT_SCHEMA = 88 + PostgreSQLLexerCURRENT_TIME = 89 + PostgreSQLLexerCURRENT_TIMESTAMP = 90 + PostgreSQLLexerCURRENT_USER = 91 + PostgreSQLLexerCURSOR = 92 + PostgreSQLLexerCYCLE = 93 + PostgreSQLLexerDATA_P = 94 + PostgreSQLLexerDATABASE = 95 + PostgreSQLLexerDAY_P = 96 + PostgreSQLLexerDEALLOCATE = 97 + PostgreSQLLexerDEC = 98 + PostgreSQLLexerDECIMAL_P = 99 + PostgreSQLLexerDECLARE = 100 + PostgreSQLLexerDEFAULT = 101 + PostgreSQLLexerDEFAULTS = 102 + PostgreSQLLexerDEFERRABLE = 103 + PostgreSQLLexerDEFERRED = 104 + PostgreSQLLexerDEFINER = 105 + PostgreSQLLexerDELETE_P = 106 + PostgreSQLLexerDELIMITER = 107 + PostgreSQLLexerDELIMITERS = 108 + PostgreSQLLexerDEPENDS = 109 + PostgreSQLLexerDEPTH = 110 + PostgreSQLLexerDESC = 111 + PostgreSQLLexerDETACH = 112 + PostgreSQLLexerDICTIONARY = 113 + PostgreSQLLexerDISABLE_P = 114 + PostgreSQLLexerDISCARD = 115 + PostgreSQLLexerDISTINCT = 116 + PostgreSQLLexerDO = 117 + PostgreSQLLexerDOCUMENT_P = 118 + PostgreSQLLexerDOMAIN_P = 119 + PostgreSQLLexerDOUBLE_P = 120 + PostgreSQLLexerDROP = 121 + PostgreSQLLexerEACH = 122 + PostgreSQLLexerELSE = 123 + PostgreSQLLexerEMPTY_P = 124 + PostgreSQLLexerENABLE_P = 125 + PostgreSQLLexerENCODING = 126 + PostgreSQLLexerENCRYPTED = 127 + PostgreSQLLexerEND_P = 128 + PostgreSQLLexerENFORCED = 129 + PostgreSQLLexerENUM_P = 130 + PostgreSQLLexerERROR_P = 131 + PostgreSQLLexerESCAPE = 132 + PostgreSQLLexerEVENT = 133 + PostgreSQLLexerEXCEPT = 134 + PostgreSQLLexerEXCLUDE = 135 + PostgreSQLLexerEXCLUDING = 136 + PostgreSQLLexerEXCLUSIVE = 137 + PostgreSQLLexerEXECUTE = 138 + PostgreSQLLexerEXISTS = 139 + PostgreSQLLexerEXPLAIN = 140 + PostgreSQLLexerEXPRESSION = 141 + PostgreSQLLexerEXTENSION = 142 + PostgreSQLLexerEXTERNAL = 143 + PostgreSQLLexerEXTRACT = 144 + PostgreSQLLexerFALSE_P = 145 + PostgreSQLLexerFAMILY = 146 + PostgreSQLLexerFETCH = 147 + PostgreSQLLexerFILTER = 148 + PostgreSQLLexerFINALIZE = 149 + PostgreSQLLexerFIRST_P = 150 + PostgreSQLLexerFLOAT_P = 151 + PostgreSQLLexerFOLLOWING = 152 + PostgreSQLLexerFOR = 153 + PostgreSQLLexerFORCE = 154 + PostgreSQLLexerFOREIGN = 155 + PostgreSQLLexerFORMAT = 156 + PostgreSQLLexerFORWARD = 157 + PostgreSQLLexerFREEZE = 158 + PostgreSQLLexerFROM = 159 + PostgreSQLLexerFULL = 160 + PostgreSQLLexerFUNCTION = 161 + PostgreSQLLexerFUNCTIONS = 162 + PostgreSQLLexerGENERATED = 163 + PostgreSQLLexerGLOBAL = 164 + PostgreSQLLexerGRANT = 165 + PostgreSQLLexerGRANTED = 166 + PostgreSQLLexerGREATEST = 167 + PostgreSQLLexerGROUP_P = 168 + PostgreSQLLexerGROUPING = 169 + PostgreSQLLexerGROUPS = 170 + PostgreSQLLexerHANDLER = 171 + PostgreSQLLexerHAVING = 172 + PostgreSQLLexerHEADER_P = 173 + PostgreSQLLexerHOLD = 174 + PostgreSQLLexerHOUR_P = 175 + PostgreSQLLexerIDENTITY_P = 176 + PostgreSQLLexerIF_P = 177 + PostgreSQLLexerILIKE = 178 + PostgreSQLLexerIMMEDIATE = 179 + PostgreSQLLexerIMMUTABLE = 180 + PostgreSQLLexerIMPLICIT_P = 181 + PostgreSQLLexerIMPORT_P = 182 + PostgreSQLLexerIN_P = 183 + PostgreSQLLexerINCLUDE = 184 + PostgreSQLLexerINCLUDING = 185 + PostgreSQLLexerINCREMENT = 186 + PostgreSQLLexerINDENT = 187 + PostgreSQLLexerINDEX = 188 + PostgreSQLLexerINDEXES = 189 + PostgreSQLLexerINHERIT = 190 + PostgreSQLLexerINHERITS = 191 + PostgreSQLLexerINITIALLY = 192 + PostgreSQLLexerINLINE_P = 193 + PostgreSQLLexerINNER_P = 194 + PostgreSQLLexerINOUT = 195 + PostgreSQLLexerINPUT_P = 196 + PostgreSQLLexerINSENSITIVE = 197 + PostgreSQLLexerINSERT = 198 + PostgreSQLLexerINSTEAD = 199 + PostgreSQLLexerINT_P = 200 + PostgreSQLLexerINTEGER = 201 + PostgreSQLLexerINTERSECT = 202 + PostgreSQLLexerINTERVAL = 203 + PostgreSQLLexerINTO = 204 + PostgreSQLLexerINVOKER = 205 + PostgreSQLLexerIS = 206 + PostgreSQLLexerISNULL = 207 + PostgreSQLLexerISOLATION = 208 + PostgreSQLLexerJOIN = 209 + PostgreSQLLexerJSON = 210 + PostgreSQLLexerJSON_ARRAY = 211 + PostgreSQLLexerJSON_ARRAYAGG = 212 + PostgreSQLLexerJSON_EXISTS = 213 + PostgreSQLLexerJSON_OBJECT = 214 + PostgreSQLLexerJSON_OBJECTAGG = 215 + PostgreSQLLexerJSON_QUERY = 216 + PostgreSQLLexerJSON_SCALAR = 217 + PostgreSQLLexerJSON_SERIALIZE = 218 + PostgreSQLLexerJSON_TABLE = 219 + PostgreSQLLexerJSON_VALUE = 220 + PostgreSQLLexerKEEP = 221 + PostgreSQLLexerKEY = 222 + PostgreSQLLexerKEYS = 223 + PostgreSQLLexerLABEL = 224 + PostgreSQLLexerLANGUAGE = 225 + PostgreSQLLexerLARGE_P = 226 + PostgreSQLLexerLAST_P = 227 + PostgreSQLLexerLATERAL_P = 228 + PostgreSQLLexerLEADING = 229 + PostgreSQLLexerLEAKPROOF = 230 + PostgreSQLLexerLEAST = 231 + PostgreSQLLexerLEFT = 232 + PostgreSQLLexerLEVEL = 233 + PostgreSQLLexerLIKE = 234 + PostgreSQLLexerLIMIT = 235 + PostgreSQLLexerLISTEN = 236 + PostgreSQLLexerLOAD = 237 + PostgreSQLLexerLOCAL = 238 + PostgreSQLLexerLOCALTIME = 239 + PostgreSQLLexerLOCALTIMESTAMP = 240 + PostgreSQLLexerLOCATION = 241 + PostgreSQLLexerLOCK_P = 242 + PostgreSQLLexerLOCKED = 243 + PostgreSQLLexerLOGGED = 244 + PostgreSQLLexerMAPPING = 245 + PostgreSQLLexerMATCH = 246 + PostgreSQLLexerMATCHED = 247 + PostgreSQLLexerMATERIALIZED = 248 + PostgreSQLLexerMAXVALUE = 249 + PostgreSQLLexerMERGE = 250 + PostgreSQLLexerMERGE_ACTION = 251 + PostgreSQLLexerMETHOD = 252 + PostgreSQLLexerMINUTE_P = 253 + PostgreSQLLexerMINVALUE = 254 + PostgreSQLLexerMODE = 255 + PostgreSQLLexerMONTH_P = 256 + PostgreSQLLexerMOVE = 257 + PostgreSQLLexerNAME_P = 258 + PostgreSQLLexerNAMES = 259 + PostgreSQLLexerNATIONAL = 260 + PostgreSQLLexerNATURAL = 261 + PostgreSQLLexerNCHAR = 262 + PostgreSQLLexerNESTED = 263 + PostgreSQLLexerNEW = 264 + PostgreSQLLexerNEXT = 265 + PostgreSQLLexerNFC = 266 + PostgreSQLLexerNFD = 267 + PostgreSQLLexerNFKC = 268 + PostgreSQLLexerNFKD = 269 + PostgreSQLLexerNO = 270 + PostgreSQLLexerNONE = 271 + PostgreSQLLexerNORMALIZE = 272 + PostgreSQLLexerNORMALIZED = 273 + PostgreSQLLexerNOT = 274 + PostgreSQLLexerNOTHING = 275 + PostgreSQLLexerNOTIFY = 276 + PostgreSQLLexerNOTNULL = 277 + PostgreSQLLexerNOWAIT = 278 + PostgreSQLLexerNULL_P = 279 + PostgreSQLLexerNULLIF = 280 + PostgreSQLLexerNULLS_P = 281 + PostgreSQLLexerNUMERIC = 282 + PostgreSQLLexerOBJECT_P = 283 + PostgreSQLLexerOBJECTS_P = 284 + PostgreSQLLexerOF = 285 + PostgreSQLLexerOFF = 286 + PostgreSQLLexerOFFSET = 287 + PostgreSQLLexerOIDS = 288 + PostgreSQLLexerOLD = 289 + PostgreSQLLexerOMIT = 290 + PostgreSQLLexerON = 291 + PostgreSQLLexerONLY = 292 + PostgreSQLLexerOPERATOR = 293 + PostgreSQLLexerOPTION = 294 + PostgreSQLLexerOPTIONS = 295 + PostgreSQLLexerOR = 296 + PostgreSQLLexerORDER = 297 + PostgreSQLLexerORDINALITY = 298 + PostgreSQLLexerOTHERS = 299 + PostgreSQLLexerOUT_P = 300 + PostgreSQLLexerOUTER_P = 301 + PostgreSQLLexerOVER = 302 + PostgreSQLLexerOVERLAPS = 303 + PostgreSQLLexerOVERLAY = 304 + PostgreSQLLexerOVERRIDING = 305 + PostgreSQLLexerOWNED = 306 + PostgreSQLLexerOWNER = 307 + PostgreSQLLexerPARALLEL = 308 + PostgreSQLLexerPARAMETER = 309 + PostgreSQLLexerPARSER = 310 + PostgreSQLLexerPARTIAL = 311 + PostgreSQLLexerPARTITION = 312 + PostgreSQLLexerPASSING = 313 + PostgreSQLLexerPASSWORD = 314 + PostgreSQLLexerPATH = 315 + PostgreSQLLexerPERIOD = 316 + PostgreSQLLexerPLACING = 317 + PostgreSQLLexerPLAN = 318 + PostgreSQLLexerPLANS = 319 + PostgreSQLLexerPOLICY = 320 + PostgreSQLLexerPOSITION = 321 + PostgreSQLLexerPRECEDING = 322 + PostgreSQLLexerPRECISION = 323 + PostgreSQLLexerPREPARE = 324 + PostgreSQLLexerPREPARED = 325 + PostgreSQLLexerPRESERVE = 326 + PostgreSQLLexerPRIMARY = 327 + PostgreSQLLexerPRIOR = 328 + PostgreSQLLexerPRIVILEGES = 329 + PostgreSQLLexerPROCEDURAL = 330 + PostgreSQLLexerPROCEDURE = 331 + PostgreSQLLexerPROCEDURES = 332 + PostgreSQLLexerPROGRAM = 333 + PostgreSQLLexerPUBLICATION = 334 + PostgreSQLLexerQUOTE = 335 + PostgreSQLLexerQUOTES = 336 + PostgreSQLLexerRANGE = 337 + PostgreSQLLexerREAD = 338 + PostgreSQLLexerREAL = 339 + PostgreSQLLexerREASSIGN = 340 + PostgreSQLLexerRECURSIVE = 341 + PostgreSQLLexerREF_P = 342 + PostgreSQLLexerREFERENCES = 343 + PostgreSQLLexerREFERENCING = 344 + PostgreSQLLexerREFRESH = 345 + PostgreSQLLexerREINDEX = 346 + PostgreSQLLexerRELATIVE_P = 347 + PostgreSQLLexerRELEASE = 348 + PostgreSQLLexerRENAME = 349 + PostgreSQLLexerREPEATABLE = 350 + PostgreSQLLexerREPLACE = 351 + PostgreSQLLexerREPLICA = 352 + PostgreSQLLexerRESET = 353 + PostgreSQLLexerRESTART = 354 + PostgreSQLLexerRESTRICT = 355 + PostgreSQLLexerRETURN = 356 + PostgreSQLLexerRETURNING = 357 + PostgreSQLLexerRETURNS = 358 + PostgreSQLLexerREVOKE = 359 + PostgreSQLLexerRIGHT = 360 + PostgreSQLLexerROLE = 361 + PostgreSQLLexerROLLBACK = 362 + PostgreSQLLexerROLLUP = 363 + PostgreSQLLexerROUTINE = 364 + PostgreSQLLexerROUTINES = 365 + PostgreSQLLexerROW = 366 + PostgreSQLLexerROWS = 367 + PostgreSQLLexerRULE = 368 + PostgreSQLLexerSAVEPOINT = 369 + PostgreSQLLexerSCALAR = 370 + PostgreSQLLexerSCHEMA = 371 + PostgreSQLLexerSCHEMAS = 372 + PostgreSQLLexerSCROLL = 373 + PostgreSQLLexerSEARCH = 374 + PostgreSQLLexerSECOND_P = 375 + PostgreSQLLexerSECURITY = 376 + PostgreSQLLexerSELECT = 377 + PostgreSQLLexerSEQUENCE = 378 + PostgreSQLLexerSEQUENCES = 379 + PostgreSQLLexerSERIALIZABLE = 380 + PostgreSQLLexerSERVER = 381 + PostgreSQLLexerSESSION = 382 + PostgreSQLLexerSESSION_USER = 383 + PostgreSQLLexerSET = 384 + PostgreSQLLexerSETOF = 385 + PostgreSQLLexerSETS = 386 + PostgreSQLLexerSHARE = 387 + PostgreSQLLexerSHOW = 388 + PostgreSQLLexerSIMILAR = 389 + PostgreSQLLexerSIMPLE = 390 + PostgreSQLLexerSKIP_P = 391 + PostgreSQLLexerSMALLINT = 392 + PostgreSQLLexerSNAPSHOT = 393 + PostgreSQLLexerSOME = 394 + PostgreSQLLexerSOURCE = 395 + PostgreSQLLexerSQL_P = 396 + PostgreSQLLexerSTABLE = 397 + PostgreSQLLexerSTANDALONE_P = 398 + PostgreSQLLexerSTART = 399 + PostgreSQLLexerSTATEMENT = 400 + PostgreSQLLexerSTATISTICS = 401 + PostgreSQLLexerSTDIN = 402 + PostgreSQLLexerSTDOUT = 403 + PostgreSQLLexerSTORAGE = 404 + PostgreSQLLexerSTORED = 405 + PostgreSQLLexerSTRICT_P = 406 + PostgreSQLLexerSTRING_P = 407 + PostgreSQLLexerSTRIP_P = 408 + PostgreSQLLexerSUBSCRIPTION = 409 + PostgreSQLLexerSUBSTRING = 410 + PostgreSQLLexerSUPPORT = 411 + PostgreSQLLexerSYMMETRIC = 412 + PostgreSQLLexerSYSID = 413 + PostgreSQLLexerSYSTEM_P = 414 + PostgreSQLLexerSYSTEM_USER = 415 + PostgreSQLLexerTABLE = 416 + PostgreSQLLexerTABLES = 417 + PostgreSQLLexerTABLESAMPLE = 418 + PostgreSQLLexerTABLESPACE = 419 + PostgreSQLLexerTARGET = 420 + PostgreSQLLexerTEMP = 421 + PostgreSQLLexerTEMPLATE = 422 + PostgreSQLLexerTEMPORARY = 423 + PostgreSQLLexerTEXT_P = 424 + PostgreSQLLexerTHEN = 425 + PostgreSQLLexerTIES = 426 + PostgreSQLLexerTIME = 427 + PostgreSQLLexerTIMESTAMP = 428 + PostgreSQLLexerTO = 429 + PostgreSQLLexerTRAILING = 430 + PostgreSQLLexerTRANSACTION = 431 + PostgreSQLLexerTRANSFORM = 432 + PostgreSQLLexerTREAT = 433 + PostgreSQLLexerTRIGGER = 434 PostgreSQLLexerTRIM = 435 - PostgreSQLLexerVALUES = 436 - PostgreSQLLexerVARCHAR = 437 - PostgreSQLLexerXMLATTRIBUTES = 438 - PostgreSQLLexerXMLCOMMENT = 439 - PostgreSQLLexerXMLAGG = 440 - PostgreSQLLexerXML_IS_WELL_FORMED = 441 - PostgreSQLLexerXML_IS_WELL_FORMED_DOCUMENT = 442 - PostgreSQLLexerXML_IS_WELL_FORMED_CONTENT = 443 - PostgreSQLLexerXPATH = 444 - PostgreSQLLexerXPATH_EXISTS = 445 - PostgreSQLLexerXMLCONCAT = 446 - PostgreSQLLexerXMLELEMENT = 447 - PostgreSQLLexerXMLEXISTS = 448 - PostgreSQLLexerXMLFOREST = 449 - PostgreSQLLexerXMLPARSE = 450 - PostgreSQLLexerXMLPI = 451 - PostgreSQLLexerXMLROOT = 452 - PostgreSQLLexerXMLSERIALIZE = 453 - PostgreSQLLexerCALL = 454 - PostgreSQLLexerCURRENT_P = 455 - PostgreSQLLexerATTACH = 456 - PostgreSQLLexerDETACH = 457 - PostgreSQLLexerEXPRESSION = 458 - PostgreSQLLexerGENERATED = 459 - PostgreSQLLexerLOGGED = 460 - PostgreSQLLexerSTORED = 461 - PostgreSQLLexerINCLUDE = 462 - PostgreSQLLexerROUTINE = 463 - PostgreSQLLexerTRANSFORM = 464 - PostgreSQLLexerIMPORT_P = 465 - PostgreSQLLexerPOLICY = 466 - PostgreSQLLexerMETHOD = 467 - PostgreSQLLexerREFERENCING = 468 - PostgreSQLLexerNEW = 469 - PostgreSQLLexerOLD = 470 - PostgreSQLLexerVALUE_P = 471 - PostgreSQLLexerSUBSCRIPTION = 472 - PostgreSQLLexerPUBLICATION = 473 - PostgreSQLLexerOUT_P = 474 - PostgreSQLLexerEND_P = 475 - PostgreSQLLexerROUTINES = 476 - PostgreSQLLexerSCHEMAS = 477 - PostgreSQLLexerPROCEDURES = 478 - PostgreSQLLexerINPUT_P = 479 - PostgreSQLLexerSUPPORT = 480 - PostgreSQLLexerPARALLEL = 481 - PostgreSQLLexerSQL_P = 482 - PostgreSQLLexerDEPENDS = 483 - PostgreSQLLexerOVERRIDING = 484 - PostgreSQLLexerCONFLICT = 485 - PostgreSQLLexerSKIP_P = 486 - PostgreSQLLexerLOCKED = 487 - PostgreSQLLexerTIES = 488 - PostgreSQLLexerROLLUP = 489 - PostgreSQLLexerCUBE = 490 - PostgreSQLLexerGROUPING = 491 - PostgreSQLLexerSETS = 492 - PostgreSQLLexerTABLESAMPLE = 493 - PostgreSQLLexerORDINALITY = 494 - PostgreSQLLexerXMLTABLE = 495 - PostgreSQLLexerCOLUMNS = 496 - PostgreSQLLexerXMLNAMESPACES = 497 - PostgreSQLLexerROWTYPE = 498 - PostgreSQLLexerNORMALIZED = 499 - PostgreSQLLexerWITHIN = 500 - PostgreSQLLexerFILTER = 501 - PostgreSQLLexerGROUPS = 502 - PostgreSQLLexerOTHERS = 503 - PostgreSQLLexerNFC = 504 - PostgreSQLLexerNFD = 505 - PostgreSQLLexerNFKC = 506 - PostgreSQLLexerNFKD = 507 - PostgreSQLLexerUESCAPE = 508 - PostgreSQLLexerVIEWS = 509 - PostgreSQLLexerNORMALIZE = 510 - PostgreSQLLexerDUMP = 511 - PostgreSQLLexerPRINT_STRICT_PARAMS = 512 - PostgreSQLLexerVARIABLE_CONFLICT = 513 - PostgreSQLLexerERROR = 514 - PostgreSQLLexerUSE_VARIABLE = 515 - PostgreSQLLexerUSE_COLUMN = 516 - PostgreSQLLexerALIAS = 517 - PostgreSQLLexerCONSTANT = 518 - PostgreSQLLexerPERFORM = 519 - PostgreSQLLexerGET = 520 - PostgreSQLLexerDIAGNOSTICS = 521 - PostgreSQLLexerSTACKED = 522 - PostgreSQLLexerELSIF = 523 - PostgreSQLLexerWHILE = 524 - PostgreSQLLexerREVERSE = 525 - PostgreSQLLexerFOREACH = 526 - PostgreSQLLexerSLICE = 527 - PostgreSQLLexerEXIT = 528 - PostgreSQLLexerRETURN = 529 - PostgreSQLLexerQUERY = 530 - PostgreSQLLexerRAISE = 531 - PostgreSQLLexerSQLSTATE = 532 - PostgreSQLLexerDEBUG = 533 - PostgreSQLLexerLOG = 534 - PostgreSQLLexerINFO = 535 - PostgreSQLLexerNOTICE = 536 - PostgreSQLLexerWARNING = 537 - PostgreSQLLexerEXCEPTION = 538 - PostgreSQLLexerASSERT = 539 - PostgreSQLLexerLOOP = 540 - PostgreSQLLexerOPEN = 541 - PostgreSQLLexerABS = 542 - PostgreSQLLexerCBRT = 543 - PostgreSQLLexerCEIL = 544 - PostgreSQLLexerCEILING = 545 - PostgreSQLLexerDEGREES = 546 - PostgreSQLLexerDIV = 547 - PostgreSQLLexerEXP = 548 - PostgreSQLLexerFACTORIAL = 549 - PostgreSQLLexerFLOOR = 550 - PostgreSQLLexerGCD = 551 - PostgreSQLLexerLCM = 552 - PostgreSQLLexerLN = 553 - PostgreSQLLexerLOG10 = 554 - PostgreSQLLexerMIN_SCALE = 555 - PostgreSQLLexerMOD = 556 - PostgreSQLLexerPI = 557 - PostgreSQLLexerPOWER = 558 - PostgreSQLLexerRADIANS = 559 - PostgreSQLLexerROUND = 560 - PostgreSQLLexerSCALE = 561 - PostgreSQLLexerSIGN = 562 - PostgreSQLLexerSQRT = 563 - PostgreSQLLexerTRIM_SCALE = 564 - PostgreSQLLexerTRUNC = 565 - PostgreSQLLexerWIDTH_BUCKET = 566 - PostgreSQLLexerRANDOM = 567 - PostgreSQLLexerSETSEED = 568 - PostgreSQLLexerACOS = 569 - PostgreSQLLexerACOSD = 570 - PostgreSQLLexerASIN = 571 - PostgreSQLLexerASIND = 572 - PostgreSQLLexerATAN = 573 - PostgreSQLLexerATAND = 574 - PostgreSQLLexerATAN2 = 575 - PostgreSQLLexerATAN2D = 576 - PostgreSQLLexerCOS = 577 - PostgreSQLLexerCOSD = 578 - PostgreSQLLexerCOT = 579 - PostgreSQLLexerCOTD = 580 - PostgreSQLLexerSIN = 581 - PostgreSQLLexerSIND = 582 - PostgreSQLLexerTAN = 583 - PostgreSQLLexerTAND = 584 - PostgreSQLLexerSINH = 585 - PostgreSQLLexerCOSH = 586 - PostgreSQLLexerTANH = 587 - PostgreSQLLexerASINH = 588 - PostgreSQLLexerACOSH = 589 - PostgreSQLLexerATANH = 590 - PostgreSQLLexerBIT_LENGTH = 591 - PostgreSQLLexerCHAR_LENGTH = 592 - PostgreSQLLexerCHARACTER_LENGTH = 593 - PostgreSQLLexerLOWER = 594 - PostgreSQLLexerOCTET_LENGTH = 595 - PostgreSQLLexerUPPER = 596 - PostgreSQLLexerASCII = 597 - PostgreSQLLexerBTRIM = 598 - PostgreSQLLexerCHR = 599 - PostgreSQLLexerCONCAT = 600 - PostgreSQLLexerCONCAT_WS = 601 - PostgreSQLLexerFORMAT = 602 - PostgreSQLLexerINITCAP = 603 - PostgreSQLLexerLENGTH = 604 - PostgreSQLLexerLPAD = 605 - PostgreSQLLexerLTRIM = 606 - PostgreSQLLexerMD5 = 607 - PostgreSQLLexerPARSE_IDENT = 608 - PostgreSQLLexerPG_CLIENT_ENCODING = 609 - PostgreSQLLexerQUOTE_IDENT = 610 - PostgreSQLLexerQUOTE_LITERAL = 611 - PostgreSQLLexerQUOTE_NULLABLE = 612 - PostgreSQLLexerREGEXP_COUNT = 613 - PostgreSQLLexerREGEXP_INSTR = 614 - PostgreSQLLexerREGEXP_LIKE = 615 - PostgreSQLLexerREGEXP_MATCH = 616 - PostgreSQLLexerREGEXP_MATCHES = 617 - PostgreSQLLexerREGEXP_REPLACE = 618 - PostgreSQLLexerREGEXP_SPLIT_TO_ARRAY = 619 - PostgreSQLLexerREGEXP_SPLIT_TO_TABLE = 620 - PostgreSQLLexerREGEXP_SUBSTR = 621 - PostgreSQLLexerREPEAT = 622 - PostgreSQLLexerRPAD = 623 - PostgreSQLLexerRTRIM = 624 - PostgreSQLLexerSPLIT_PART = 625 - PostgreSQLLexerSTARTS_WITH = 626 - PostgreSQLLexerSTRING_TO_ARRAY = 627 - PostgreSQLLexerSTRING_TO_TABLE = 628 - PostgreSQLLexerSTRPOS = 629 - PostgreSQLLexerSUBSTR = 630 - PostgreSQLLexerTO_ASCII = 631 - PostgreSQLLexerTO_HEX = 632 - PostgreSQLLexerTRANSLATE = 633 - PostgreSQLLexerUNISTR = 634 - PostgreSQLLexerAGE = 635 - PostgreSQLLexerCLOCK_TIMESTAMP = 636 - PostgreSQLLexerDATE_BIN = 637 - PostgreSQLLexerDATE_PART = 638 - PostgreSQLLexerDATE_TRUNC = 639 - PostgreSQLLexerISFINITE = 640 - PostgreSQLLexerJUSTIFY_DAYS = 641 - PostgreSQLLexerJUSTIFY_HOURS = 642 - PostgreSQLLexerJUSTIFY_INTERVAL = 643 - PostgreSQLLexerMAKE_DATE = 644 - PostgreSQLLexerMAKE_INTERVAL = 645 - PostgreSQLLexerMAKE_TIME = 646 - PostgreSQLLexerMAKE_TIMESTAMP = 647 - PostgreSQLLexerMAKE_TIMESTAMPTZ = 648 - PostgreSQLLexerNOW = 649 - PostgreSQLLexerSTATEMENT_TIMESTAMP = 650 - PostgreSQLLexerTIMEOFDAY = 651 - PostgreSQLLexerTRANSACTION_TIMESTAMP = 652 - PostgreSQLLexerTO_TIMESTAMP = 653 - PostgreSQLLexerTO_CHAR = 654 - PostgreSQLLexerTO_DATE = 655 - PostgreSQLLexerTO_NUMBER = 656 - PostgreSQLLexerENCODE = 657 - PostgreSQLLexerDISTKEY = 658 - PostgreSQLLexerSORTKEY = 659 - PostgreSQLLexerCASE_SENSITIVE = 660 - PostgreSQLLexerCASE_INSENSITIVE = 661 - PostgreSQLLexerJSON_ARRAYAGG = 662 - PostgreSQLLexerJSON_OBJECTAGG = 663 - PostgreSQLLexerIdentifier = 664 - PostgreSQLLexerQuotedIdentifier = 665 - PostgreSQLLexerUnterminatedQuotedIdentifier = 666 - PostgreSQLLexerInvalidQuotedIdentifier = 667 - PostgreSQLLexerInvalidUnterminatedQuotedIdentifier = 668 - PostgreSQLLexerUnicodeQuotedIdentifier = 669 - PostgreSQLLexerUnterminatedUnicodeQuotedIdentifier = 670 - PostgreSQLLexerInvalidUnicodeQuotedIdentifier = 671 - PostgreSQLLexerInvalidUnterminatedUnicodeQuotedIdentifier = 672 - PostgreSQLLexerStringConstant = 673 - PostgreSQLLexerUnterminatedStringConstant = 674 - PostgreSQLLexerUnicodeEscapeStringConstant = 675 - PostgreSQLLexerUnterminatedUnicodeEscapeStringConstant = 676 - PostgreSQLLexerBeginDollarStringConstant = 677 - PostgreSQLLexerBinaryStringConstant = 678 - PostgreSQLLexerUnterminatedBinaryStringConstant = 679 - PostgreSQLLexerInvalidBinaryStringConstant = 680 - PostgreSQLLexerInvalidUnterminatedBinaryStringConstant = 681 - PostgreSQLLexerHexadecimalStringConstant = 682 - PostgreSQLLexerUnterminatedHexadecimalStringConstant = 683 - PostgreSQLLexerInvalidHexadecimalStringConstant = 684 - PostgreSQLLexerInvalidUnterminatedHexadecimalStringConstant = 685 - PostgreSQLLexerIntegral = 686 - PostgreSQLLexerNumericFail = 687 - PostgreSQLLexerNumeric = 688 - PostgreSQLLexerPLSQLVARIABLENAME = 689 - PostgreSQLLexerPLSQLIDENTIFIER = 690 - PostgreSQLLexerWhitespace = 691 - PostgreSQLLexerNewline = 692 - PostgreSQLLexerLineComment = 693 - PostgreSQLLexerBlockComment = 694 - PostgreSQLLexerUnterminatedBlockComment = 695 - PostgreSQLLexerMetaCommand = 696 - PostgreSQLLexerEndMetaCommand = 697 - PostgreSQLLexerErrorCharacter = 698 - PostgreSQLLexerEscapeStringConstant = 699 - PostgreSQLLexerUnterminatedEscapeStringConstant = 700 - PostgreSQLLexerInvalidEscapeStringConstant = 701 - PostgreSQLLexerInvalidUnterminatedEscapeStringConstant = 702 - PostgreSQLLexerAfterEscapeStringConstantMode_NotContinued = 703 - PostgreSQLLexerAfterEscapeStringConstantWithNewlineMode_NotContinued = 704 - PostgreSQLLexerDollarText = 705 - PostgreSQLLexerEndDollarStringConstant = 706 - PostgreSQLLexerAfterEscapeStringConstantWithNewlineMode_Continued = 707 + PostgreSQLLexerTRUE_P = 436 + PostgreSQLLexerTRUNCATE = 437 + PostgreSQLLexerTRUSTED = 438 + PostgreSQLLexerTYPE_P = 439 + PostgreSQLLexerTYPES_P = 440 + PostgreSQLLexerUESCAPE = 441 + PostgreSQLLexerUNBOUNDED = 442 + PostgreSQLLexerUNCOMMITTED = 443 + PostgreSQLLexerUNCONDITIONAL = 444 + PostgreSQLLexerUNENCRYPTED = 445 + PostgreSQLLexerUNION = 446 + PostgreSQLLexerUNIQUE = 447 + PostgreSQLLexerUNKNOWN = 448 + PostgreSQLLexerUNLISTEN = 449 + PostgreSQLLexerUNLOGGED = 450 + PostgreSQLLexerUNTIL = 451 + PostgreSQLLexerUPDATE = 452 + PostgreSQLLexerUSER = 453 + PostgreSQLLexerUSING = 454 + PostgreSQLLexerVACUUM = 455 + PostgreSQLLexerVALID = 456 + PostgreSQLLexerVALIDATE = 457 + PostgreSQLLexerVALIDATOR = 458 + PostgreSQLLexerVALUE_P = 459 + PostgreSQLLexerVALUES = 460 + PostgreSQLLexerVARCHAR = 461 + PostgreSQLLexerVARIADIC = 462 + PostgreSQLLexerVARYING = 463 + PostgreSQLLexerVERBOSE = 464 + PostgreSQLLexerVERSION_P = 465 + PostgreSQLLexerVIEW = 466 + PostgreSQLLexerVIEWS = 467 + PostgreSQLLexerVIRTUAL = 468 + PostgreSQLLexerVOLATILE = 469 + PostgreSQLLexerWHEN = 470 + PostgreSQLLexerWHERE = 471 + PostgreSQLLexerWHITESPACE_P = 472 + PostgreSQLLexerWINDOW = 473 + PostgreSQLLexerWITH = 474 + PostgreSQLLexerWITHIN = 475 + PostgreSQLLexerWITHOUT = 476 + PostgreSQLLexerWORK = 477 + PostgreSQLLexerWRAPPER = 478 + PostgreSQLLexerWRITE = 479 + PostgreSQLLexerXML_P = 480 + PostgreSQLLexerXMLATTRIBUTES = 481 + PostgreSQLLexerXMLCONCAT = 482 + PostgreSQLLexerXMLELEMENT = 483 + PostgreSQLLexerXMLEXISTS = 484 + PostgreSQLLexerXMLFOREST = 485 + PostgreSQLLexerXMLNAMESPACES = 486 + PostgreSQLLexerXMLPARSE = 487 + PostgreSQLLexerXMLPI = 488 + PostgreSQLLexerXMLROOT = 489 + PostgreSQLLexerXMLSERIALIZE = 490 + PostgreSQLLexerXMLTABLE = 491 + PostgreSQLLexerYEAR_P = 492 + PostgreSQLLexerYES_P = 493 + PostgreSQLLexerZONE = 494 + PostgreSQLLexerDollar = 495 + PostgreSQLLexerOPEN_PAREN = 496 + PostgreSQLLexerCLOSE_PAREN = 497 + PostgreSQLLexerOPEN_BRACKET = 498 + PostgreSQLLexerCLOSE_BRACKET = 499 + PostgreSQLLexerCOMMA = 500 + PostgreSQLLexerSEMI = 501 + PostgreSQLLexerCOLON = 502 + PostgreSQLLexerSTAR = 503 + PostgreSQLLexerEQUAL = 504 + PostgreSQLLexerDOT = 505 + PostgreSQLLexerPLUS = 506 + PostgreSQLLexerMINUS = 507 + PostgreSQLLexerSLASH = 508 + PostgreSQLLexerCARET = 509 + PostgreSQLLexerLT = 510 + PostgreSQLLexerGT = 511 + PostgreSQLLexerLESS_LESS = 512 + PostgreSQLLexerGREATER_GREATER = 513 + PostgreSQLLexerCOLON_EQUALS = 514 + PostgreSQLLexerLESS_EQUALS = 515 + PostgreSQLLexerEQUALS_GREATER = 516 + PostgreSQLLexerGREATER_EQUALS = 517 + PostgreSQLLexerDOT_DOT = 518 + PostgreSQLLexerNOT_EQUALS = 519 + PostgreSQLLexerTYPECAST = 520 + PostgreSQLLexerPERCENT = 521 + PostgreSQLLexerPARAM = 522 + PostgreSQLLexerOperator = 523 + PostgreSQLLexerRECHECK = 524 + PostgreSQLLexerXMLCOMMENT = 525 + PostgreSQLLexerXMLAGG = 526 + PostgreSQLLexerXML_IS_WELL_FORMED = 527 + PostgreSQLLexerXML_IS_WELL_FORMED_DOCUMENT = 528 + PostgreSQLLexerXML_IS_WELL_FORMED_CONTENT = 529 + PostgreSQLLexerXPATH = 530 + PostgreSQLLexerXPATH_EXISTS = 531 + PostgreSQLLexerROWTYPE = 532 + PostgreSQLLexerDUMP = 533 + PostgreSQLLexerPRINT_STRICT_PARAMS = 534 + PostgreSQLLexerVARIABLE_CONFLICT = 535 + PostgreSQLLexerUSE_VARIABLE = 536 + PostgreSQLLexerUSE_COLUMN = 537 + PostgreSQLLexerALIAS = 538 + PostgreSQLLexerCONSTANT = 539 + PostgreSQLLexerPERFORM = 540 + PostgreSQLLexerGET = 541 + PostgreSQLLexerDIAGNOSTICS = 542 + PostgreSQLLexerSTACKED = 543 + PostgreSQLLexerELSIF = 544 + PostgreSQLLexerWHILE = 545 + PostgreSQLLexerREVERSE = 546 + PostgreSQLLexerFOREACH = 547 + PostgreSQLLexerSLICE = 548 + PostgreSQLLexerEXIT = 549 + PostgreSQLLexerQUERY = 550 + PostgreSQLLexerRAISE = 551 + PostgreSQLLexerSQLSTATE = 552 + PostgreSQLLexerDEBUG = 553 + PostgreSQLLexerLOG = 554 + PostgreSQLLexerINFO = 555 + PostgreSQLLexerNOTICE = 556 + PostgreSQLLexerWARNING = 557 + PostgreSQLLexerEXCEPTION = 558 + PostgreSQLLexerASSERT = 559 + PostgreSQLLexerLOOP = 560 + PostgreSQLLexerOPEN = 561 + PostgreSQLLexerIdentifier = 562 + PostgreSQLLexerQuotedIdentifier = 563 + PostgreSQLLexerUnterminatedQuotedIdentifier = 564 + PostgreSQLLexerInvalidQuotedIdentifier = 565 + PostgreSQLLexerInvalidUnterminatedQuotedIdentifier = 566 + PostgreSQLLexerUnicodeQuotedIdentifier = 567 + PostgreSQLLexerUnterminatedUnicodeQuotedIdentifier = 568 + PostgreSQLLexerInvalidUnicodeQuotedIdentifier = 569 + PostgreSQLLexerInvalidUnterminatedUnicodeQuotedIdentifier = 570 + PostgreSQLLexerStringConstant = 571 + PostgreSQLLexerUnterminatedStringConstant = 572 + PostgreSQLLexerUnicodeEscapeStringConstant = 573 + PostgreSQLLexerUnterminatedUnicodeEscapeStringConstant = 574 + PostgreSQLLexerBeginDollarStringConstant = 575 + PostgreSQLLexerBinaryStringConstant = 576 + PostgreSQLLexerUnterminatedBinaryStringConstant = 577 + PostgreSQLLexerInvalidBinaryStringConstant = 578 + PostgreSQLLexerInvalidUnterminatedBinaryStringConstant = 579 + PostgreSQLLexerHexadecimalStringConstant = 580 + PostgreSQLLexerUnterminatedHexadecimalStringConstant = 581 + PostgreSQLLexerInvalidHexadecimalStringConstant = 582 + PostgreSQLLexerInvalidUnterminatedHexadecimalStringConstant = 583 + PostgreSQLLexerIntegral = 584 + PostgreSQLLexerNumericFail = 585 + PostgreSQLLexerNumeric = 586 + PostgreSQLLexerPLSQLVARIABLENAME = 587 + PostgreSQLLexerPLSQLIDENTIFIER = 588 + PostgreSQLLexerWhitespace = 589 + PostgreSQLLexerNewline = 590 + PostgreSQLLexerLineComment = 591 + PostgreSQLLexerBlockComment = 592 + PostgreSQLLexerUnterminatedBlockComment = 593 + PostgreSQLLexerMetaCommand = 594 + PostgreSQLLexerEndMetaCommand = 595 + PostgreSQLLexerErrorCharacter = 596 + PostgreSQLLexerEscapeStringConstant = 597 + PostgreSQLLexerUnterminatedEscapeStringConstant = 598 + PostgreSQLLexerInvalidEscapeStringConstant = 599 + PostgreSQLLexerInvalidUnterminatedEscapeStringConstant = 600 + PostgreSQLLexerAfterEscapeStringConstantMode_NotContinued = 601 + PostgreSQLLexerAfterEscapeStringConstantWithNewlineMode_NotContinued = 602 + PostgreSQLLexerDollarText = 603 + PostgreSQLLexerEndDollarStringConstant = 604 + PostgreSQLLexerAfterEscapeStringConstantWithNewlineMode_Continued = 605 ) // PostgreSQLLexer modes. @@ -4437,25 +3768,25 @@ const ( func (l *PostgreSQLLexer) Action(localctx antlr.RuleContext, ruleIndex, actionIndex int) { switch ruleIndex { - case 28: + case 522: l.Operator_Action(localctx, actionIndex) - case 684: + case 582: l.BeginDollarStringConstant_Action(localctx, actionIndex) - case 695: + case 593: l.NumericFail_Action(localctx, actionIndex) - case 704: + case 602: l.UnterminatedBlockComment_Action(localctx, actionIndex) - case 716: + case 614: l.AfterEscapeStringConstantMode_NotContinued_Action(localctx, actionIndex) - case 720: + case 618: l.AfterEscapeStringConstantWithNewlineMode_NotContinued_Action(localctx, actionIndex) - case 722: + case 620: l.EndDollarStringConstant_Action(localctx, actionIndex) default: @@ -4529,16 +3860,16 @@ func (l *PostgreSQLLexer) EndDollarStringConstant_Action(localctx antlr.RuleCont func (l *PostgreSQLLexer) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool { switch ruleIndex { - case 28: + case 522: return l.Operator_Sempred(localctx, predIndex) - case 29: + case 523: return l.OperatorEndingWithPlusMinus_Sempred(localctx, predIndex) - case 668: + case 566: return l.IdentifierStartChar_Sempred(localctx, predIndex) - case 722: + case 620: return l.EndDollarStringConstant_Sempred(localctx, predIndex) default: diff --git a/postgresql/postgresql_lexer_base.go b/postgresql/postgresql_lexer_base.go index d60061c..9a1c7cd 100644 --- a/postgresql/postgresql_lexer_base.go +++ b/postgresql/postgresql_lexer_base.go @@ -99,7 +99,7 @@ func (receiver *PostgreSQLLexerBase) IsIdentifier(tokenType int) bool { PostgreSQLLexerASSERTION, PostgreSQLLexerASSIGNMENT, PostgreSQLLexerAT, - PostgreSQLLexerATOMIC_P, + PostgreSQLLexerATOMIC, PostgreSQLLexerATTACH, PostgreSQLLexerATTRIBUTE, PostgreSQLLexerBACKWARD, @@ -111,7 +111,7 @@ func (receiver *PostgreSQLLexerBase) IsIdentifier(tokenType int) bool { PostgreSQLLexerCALLED, PostgreSQLLexerCASCADE, PostgreSQLLexerCASCADED, - PostgreSQLLexerCATALOG, + PostgreSQLLexerCATALOG_P, PostgreSQLLexerCHAIN, PostgreSQLLexerCHARACTERISTICS, PostgreSQLLexerCHECKPOINT, @@ -285,7 +285,7 @@ func (receiver *PostgreSQLLexerBase) IsIdentifier(tokenType int) bool { PostgreSQLLexerREASSIGN, PostgreSQLLexerRECHECK, PostgreSQLLexerRECURSIVE, - PostgreSQLLexerREF, + PostgreSQLLexerREF_P, PostgreSQLLexerREFERENCING, PostgreSQLLexerREFRESH, PostgreSQLLexerREINDEX, @@ -399,7 +399,7 @@ func (receiver *PostgreSQLLexerBase) IsIdentifier(tokenType int) bool { PostgreSQLLexerDO, PostgreSQLLexerDUMP, PostgreSQLLexerELSIF, - PostgreSQLLexerERROR, + PostgreSQLLexerERROR_P, PostgreSQLLexerEXCEPTION, PostgreSQLLexerEXIT, PostgreSQLLexerFETCH, diff --git a/postgresql/postgresql_parser.go b/postgresql/postgresql_parser.go index 59bf205..df74705 100644 --- a/postgresql/postgresql_parser.go +++ b/postgresql/postgresql_parser.go @@ -32,240 +32,204 @@ var PostgreSQLParserParserStaticData struct { func postgresqlparserParserInit() { staticData := &PostgreSQLParserParserStaticData staticData.LiteralNames = []string{ - "", "'$'", "'('", "')'", "'['", "']'", "','", "';'", "':'", "'*'", "'='", - "'.'", "'+'", "'-'", "'/'", "'^'", "'<'", "'>'", "'<<'", "'>>'", "':='", - "'<='", "'=>'", "'>='", "'..'", "'<>'", "'::'", "'%'", "", "", "'ALL'", + "", "'ABORT'", "'ABSENT'", "'ABSOLUTE'", "'ACCESS'", "'ACTION'", "'ADD'", + "'ADMIN'", "'AFTER'", "'AGGREGATE'", "'ALL'", "'ALSO'", "'ALTER'", "'ALWAYS'", "'ANALYSE'", "'ANALYZE'", "'AND'", "'ANY'", "'ARRAY'", "'AS'", "'ASC'", - "'ASYMMETRIC'", "'BOTH'", "'CASE'", "'CAST'", "'CHECK'", "'COLLATE'", - "'COLUMN'", "'CONSTRAINT'", "'CREATE'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", - "'CURRENT_ROLE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", - "'DEFAULT'", "'DEFERRABLE'", "'DESC'", "'DISTINCT'", "'DO'", "'ELSE'", - "'EXCEPT'", "'FALSE'", "'FETCH'", "'FOR'", "'FOREIGN'", "'FROM'", "'GRANT'", - "'GROUP'", "'HAVING'", "'IN'", "'INITIALLY'", "'INTERSECT'", "'INTO'", - "'LATERAL'", "'LEADING'", "'LIMIT'", "'LOCALTIME'", "'LOCALTIMESTAMP'", - "'NOT'", "'NULL'", "'OFFSET'", "'ON'", "'ONLY'", "'OR'", "'ORDER'", - "'PLACING'", "'PRIMARY'", "'REFERENCES'", "'RETURNING'", "'SELECT'", - "'SESSION_USER'", "'SOME'", "'SYMMETRIC'", "'TABLE'", "'THEN'", "'TO'", - "'TRAILING'", "'TRUE'", "'UNION'", "'UNIQUE'", "'USER'", "'USING'", - "'VARIADIC'", "'WHEN'", "'WHERE'", "'WINDOW'", "'WITH'", "'JSON_OBJECT'", - "'JSON_ARRAY'", "'JSON'", "'JSON_SCALAR'", "'JSON_SERIALIZE'", "'MERGE_ACTION'", - "'JSON_QUERY'", "'JSON_EXISTS'", "'JSON_VALUE'", "'EMPTY'", "'KEEP'", - "'OMIT'", "'SCALAR'", "'STRING'", "'CONDITIONAL'", "'UNCONDITIONAL'", - "'KEYS'", "'ABSENT'", "'QUOTES'", "'AUTHORIZATION'", "'BINARY'", "'COLLATION'", - "'CONCURRENTLY'", "'CROSS'", "'CURRENT_SCHEMA'", "'FREEZE'", "'FULL'", - "'ILIKE'", "'INNER'", "'IS'", "'ISNULL'", "'JOIN'", "'LEFT'", "'LIKE'", - "'NATURAL'", "'NOTNULL'", "'OUTER'", "'OVER'", "'OVERLAPS'", "'RIGHT'", - "'SIMILAR'", "'VERBOSE'", "'ABORT'", "'ABSOLUTE'", "'ACCESS'", "'ACTION'", - "'ADD'", "'ADMIN'", "'AFTER'", "'AGGREGATE'", "'ALSO'", "'ALTER'", "'ALWAYS'", - "'ASSERTION'", "'ASSIGNMENT'", "'AT'", "'ATTRIBUTE'", "'BACKWARD'", - "'BEFORE'", "'BEGIN'", "'BY'", "'CACHE'", "'CALLED'", "'CASCADE'", "'CASCADED'", - "'CATALOG'", "'CHAIN'", "'CHARACTERISTICS'", "'CHECKPOINT'", "'CLASS'", - "'CLOSE'", "'CLUSTER'", "'COMMENT'", "'COMMENTS'", "'COMMIT'", "'COMMITTED'", - "'CONFIGURATION'", "'CONNECTION'", "'CONSTRAINTS'", "'CONTENT'", "'CONTINUE'", - "'CONVERSION'", "'COPY'", "'COST'", "'CSV'", "'CURSOR'", "'CYCLE'", - "'DATA'", "'DATABASE'", "'DAY'", "'DEALLOCATE'", "'DECLARE'", "'DEFAULTS'", - "'DEFERRED'", "'DEFINER'", "'DELETE'", "'DELIMITER'", "'DELIMITERS'", - "'DICTIONARY'", "'DISABLE'", "'DISCARD'", "'DOCUMENT'", "'DOMAIN'", - "'DOUBLE'", "'DROP'", "'EACH'", "'ENABLE'", "'ENCODING'", "'ENCRYPTED'", - "'ENUM'", "'ESCAPE'", "'EVENT'", "'EXCLUDE'", "'EXCLUDING'", "'EXCLUSIVE'", - "'EXECUTE'", "'EXPLAIN'", "'EXTENSION'", "'EXTERNAL'", "'FAMILY'", "'FIRST'", - "'FOLLOWING'", "'FORCE'", "'FORWARD'", "'FUNCTION'", "'FUNCTIONS'", - "'GLOBAL'", "'GRANTED'", "'HANDLER'", "'HEADER'", "'HOLD'", "'HOUR'", - "'IDENTITY'", "'IF'", "'IMMEDIATE'", "'IMMUTABLE'", "'IMPLICIT'", "'INCLUDING'", - "'INCREMENT'", "'INDEX'", "'INDEXES'", "'INHERIT'", "'INHERITS'", "'INLINE'", - "'INSENSITIVE'", "'INSERT'", "'INSTEAD'", "'INVOKER'", "'ISOLATION'", - "'KEY'", "'LABEL'", "'LANGUAGE'", "'LARGE'", "'LAST'", "'LEAKPROOF'", - "'LEVEL'", "'LISTEN'", "'LOAD'", "'LOCAL'", "'LOCATION'", "'LOCK'", - "'MAPPING'", "'MATCH'", "'MATCHED'", "'MATERIALIZED'", "'MAXVALUE'", - "'MERGE'", "'MINUTE'", "'MINVALUE'", "'MODE'", "'MONTH'", "'MOVE'", - "'NAME'", "'NAMES'", "'NEXT'", "'NO'", "'NOTHING'", "'NOTIFY'", "'NOWAIT'", - "'NULLS'", "'OBJECT'", "'OF'", "'OFF'", "'OIDS'", "'OPERATOR'", "'OPTION'", - "'OPTIONS'", "'OWNED'", "'OWNER'", "'PARSER'", "'PARTIAL'", "'PARTITION'", - "'PASSING'", "'PASSWORD'", "'PLANS'", "'PRECEDING'", "'PREPARE'", "'PREPARED'", - "'PRESERVE'", "'PRIOR'", "'PRIVILEGES'", "'PROCEDURAL'", "'PROCEDURE'", - "'PROGRAM'", "'QUOTE'", "'RANGE'", "'READ'", "'REASSIGN'", "'RECHECK'", - "'RECURSIVE'", "'REF'", "'REFRESH'", "'REINDEX'", "'RELATIVE'", "'RELEASE'", - "'RENAME'", "'REPEATABLE'", "'REPLACE'", "'REPLICA'", "'RESET'", "'RESTART'", - "'RESTRICT'", "'RETURNS'", "'REVOKE'", "'ROLE'", "'ROLLBACK'", "'ROWS'", - "'RULE'", "'SAVEPOINT'", "'SCHEMA'", "'SCROLL'", "'SEARCH'", "'SECOND'", - "'SECURITY'", "'SEQUENCE'", "'SEQUENCES'", "'SERIALIZABLE'", "'SERVER'", - "'SESSION'", "'SET'", "'SHARE'", "'SHOW'", "'SIMPLE'", "'SNAPSHOT'", - "'STABLE'", "'STANDALONE'", "'START'", "'STATEMENT'", "'STATISTICS'", - "'STDIN'", "'STDOUT'", "'STORAGE'", "'STRICT'", "'STRIP'", "'SYSID'", - "'SYSTEM'", "'TABLES'", "'TABLESPACE'", "'TEMP'", "'TEMPLATE'", "'TEMPORARY'", - "'TEXT'", "'TRANSACTION'", "'TRIGGER'", "'TRUNCATE'", "'TRUSTED'", "'TYPE'", - "'TYPES'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNENCRYPTED'", "'UNKNOWN'", - "'UNLISTEN'", "'UNLOGGED'", "'UNTIL'", "'UPDATE'", "'VACUUM'", "'VALID'", - "'VALIDATE'", "'VALIDATOR'", "'VARYING'", "'VERSION'", "'VIEW'", "'VOLATILE'", - "'WHITESPACE'", "'WITHOUT'", "'WORK'", "'WRAPPER'", "'WRITE'", "'XML'", - "'YEAR'", "'YES'", "'ZONE'", "'ATOMIC'", "'BETWEEN'", "'BIGINT'", "'BIT'", - "'BOOLEAN'", "'CHAR'", "'CHARACTER'", "'COALESCE'", "'DEC'", "'DECIMAL'", - "'EXISTS'", "'EXTRACT'", "'FLOAT'", "'GREATEST'", "'INOUT'", "'INT'", - "'INTEGER'", "'INTERVAL'", "'LEAST'", "'NATIONAL'", "'NCHAR'", "'NONE'", - "'NULLIF'", "'NUMERIC'", "'OVERLAY'", "'PARAMETER'", "'POSITION'", "'PRECISION'", - "'REAL'", "'ROW'", "'SETOF'", "'SMALLINT'", "'SUBSTRING'", "'TIME'", - "'TIMESTAMP'", "'TREAT'", "'TRIM'", "'VALUES'", "'VARCHAR'", "'XMLATTRIBUTES'", - "'XMLCOMMENT'", "'XMLAGG'", "'XML_IS_WELL_FORMED'", "'XML_IS_WELL_FORMED_DOCUMENT'", - "'XML_IS_WELL_FORMED_CONTENT'", "'XPATH'", "'XPATH_EXISTS'", "'XMLCONCAT'", - "'XMLELEMENT'", "'XMLEXISTS'", "'XMLFOREST'", "'XMLPARSE'", "'XMLPI'", - "'XMLROOT'", "'XMLSERIALIZE'", "'CALL'", "'CURRENT'", "'ATTACH'", "'DETACH'", - "'EXPRESSION'", "'GENERATED'", "'LOGGED'", "'STORED'", "'INCLUDE'", - "'ROUTINE'", "'TRANSFORM'", "'IMPORT'", "'POLICY'", "'METHOD'", "'REFERENCING'", - "'NEW'", "'OLD'", "'VALUE'", "'SUBSCRIPTION'", "'PUBLICATION'", "'OUT'", - "'END'", "'ROUTINES'", "'SCHEMAS'", "'PROCEDURES'", "'INPUT'", "'SUPPORT'", - "'PARALLEL'", "'SQL'", "'DEPENDS'", "'OVERRIDING'", "'CONFLICT'", "'SKIP'", - "'LOCKED'", "'TIES'", "'ROLLUP'", "'CUBE'", "'GROUPING'", "'SETS'", - "'TABLESAMPLE'", "'ORDINALITY'", "'XMLTABLE'", "'COLUMNS'", "'XMLNAMESPACES'", - "'ROWTYPE'", "'NORMALIZED'", "'WITHIN'", "'FILTER'", "'GROUPS'", "'OTHERS'", - "'NFC'", "'NFD'", "'NFKC'", "'NFKD'", "'UESCAPE'", "'VIEWS'", "'NORMALIZE'", - "'DUMP'", "'PRINT_STRICT_PARAMS'", "'VARIABLE_CONFLICT'", "'ERROR'", + "'ASENSITIVE'", "'ASSERTION'", "'ASSIGNMENT'", "'ASYMMETRIC'", "'AT'", + "'ATOMIC'", "'ATTACH'", "'ATTRIBUTE'", "'AUTHORIZATION'", "'BACKWARD'", + "'BEFORE'", "'BEGIN'", "'BETWEEN'", "'BIGINT'", "'BINARY'", "'BIT'", + "'BOOLEAN'", "'BOTH'", "'BREADTH'", "'BY'", "'CACHE'", "'CALL'", "'CALLED'", + "'CASCADE'", "'CASCADED'", "'CASE'", "'CAST'", "'CATALOG'", "'CHAIN'", + "'CHAR'", "'CHARACTER'", "'CHARACTERISTICS'", "'CHECK'", "'CHECKPOINT'", + "'CLASS'", "'CLOSE'", "'CLUSTER'", "'COALESCE'", "'COLLATE'", "'COLLATION'", + "'COLUMN'", "'COLUMNS'", "'COMMENT'", "'COMMENTS'", "'COMMIT'", "'COMMITTED'", + "'COMPRESSION'", "'CONCURRENTLY'", "'CONDITIONAL'", "'CONFIGURATION'", + "'CONFLICT'", "'CONNECTION'", "'CONSTRAINT'", "'CONSTRAINTS'", "'CONTENT'", + "'CONTINUE'", "'CONVERSION'", "'COPY'", "'COST'", "'CREATE'", "'CROSS'", + "'CSV'", "'CUBE'", "'CURRENT'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", + "'CURRENT_ROLE'", "'CURRENT_SCHEMA'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", + "'CURRENT_USER'", "'CURSOR'", "'CYCLE'", "'DATA'", "'DATABASE'", "'DAY'", + "'DEALLOCATE'", "'DEC'", "'DECIMAL'", "'DECLARE'", "'DEFAULT'", "'DEFAULTS'", + "'DEFERRABLE'", "'DEFERRED'", "'DEFINER'", "'DELETE'", "'DELIMITER'", + "'DELIMITERS'", "'DEPENDS'", "'DEPTH'", "'DESC'", "'DETACH'", "'DICTIONARY'", + "'DISABLE'", "'DISCARD'", "'DISTINCT'", "'DO'", "'DOCUMENT'", "'DOMAIN'", + "'DOUBLE'", "'DROP'", "'EACH'", "'ELSE'", "'EMPTY'", "'ENABLE'", "'ENCODING'", + "'ENCRYPTED'", "'END'", "'ENFORCED'", "'ENUM'", "'ERROR'", "'ESCAPE'", + "'EVENT'", "'EXCEPT'", "'EXCLUDE'", "'EXCLUDING'", "'EXCLUSIVE'", "'EXECUTE'", + "'EXISTS'", "'EXPLAIN'", "'EXPRESSION'", "'EXTENSION'", "'EXTERNAL'", + "'EXTRACT'", "'FALSE'", "'FAMILY'", "'FETCH'", "'FILTER'", "'FINALIZE'", + "'FIRST'", "'FLOAT'", "'FOLLOWING'", "'FOR'", "'FORCE'", "'FOREIGN'", + "'FORMAT'", "'FORWARD'", "'FREEZE'", "'FROM'", "'FULL'", "'FUNCTION'", + "'FUNCTIONS'", "'GENERATED'", "'GLOBAL'", "'GRANT'", "'GRANTED'", "'GREATEST'", + "'GROUP'", "'GROUPING'", "'GROUPS'", "'HANDLER'", "'HAVING'", "'HEADER'", + "'HOLD'", "'HOUR'", "'IDENTITY'", "'IF'", "'ILIKE'", "'IMMEDIATE'", + "'IMMUTABLE'", "'IMPLICIT'", "'IMPORT'", "'IN'", "'INCLUDE'", "'INCLUDING'", + "'INCREMENT'", "'INDENT'", "'INDEX'", "'INDEXES'", "'INHERIT'", "'INHERITS'", + "'INITIALLY'", "'INLINE'", "'INNER'", "'INOUT'", "'INPUT'", "'INSENSITIVE'", + "'INSERT'", "'INSTEAD'", "'INT'", "'INTEGER'", "'INTERSECT'", "'INTERVAL'", + "'INTO'", "'INVOKER'", "'IS'", "'ISNULL'", "'ISOLATION'", "'JOIN'", + "'JSON'", "'JSON_ARRAY'", "'JSON_ARRAYAGG'", "'JSON_EXISTS'", "'JSON_OBJECT'", + "'JSON_OBJECTAGG'", "'JSON_QUERY'", "'JSON_SCALAR'", "'JSON_SERIALIZE'", + "'JSON_TABLE'", "'JSON_VALUE'", "'KEEP'", "'KEY'", "'KEYS'", "'LABEL'", + "'LANGUAGE'", "'LARGE'", "'LAST'", "'LATERAL'", "'LEADING'", "'LEAKPROOF'", + "'LEAST'", "'LEFT'", "'LEVEL'", "'LIKE'", "'LIMIT'", "'LISTEN'", "'LOAD'", + "'LOCAL'", "'LOCALTIME'", "'LOCALTIMESTAMP'", "'LOCATION'", "'LOCK'", + "'LOCKED'", "'LOGGED'", "'MAPPING'", "'MATCH'", "'MATCHED'", "'MATERIALIZED'", + "'MAXVALUE'", "'MERGE'", "'MERGE_ACTION'", "'METHOD'", "'MINUTE'", "'MINVALUE'", + "'MODE'", "'MONTH'", "'MOVE'", "'NAME'", "'NAMES'", "'NATIONAL'", "'NATURAL'", + "'NCHAR'", "'NESTED'", "'NEW'", "'NEXT'", "'NFC'", "'NFD'", "'NFKC'", + "'NFKD'", "'NO'", "'NONE'", "'NORMALIZE'", "'NORMALIZED'", "'NOT'", + "'NOTHING'", "'NOTIFY'", "'NOTNULL'", "'NOWAIT'", "'NULL'", "'NULLIF'", + "'NULLS'", "'NUMERIC'", "'OBJECT'", "'OBJECTS'", "'OF'", "'OFF'", "'OFFSET'", + "'OIDS'", "'OLD'", "'OMIT'", "'ON'", "'ONLY'", "'OPERATOR'", "'OPTION'", + "'OPTIONS'", "'OR'", "'ORDER'", "'ORDINALITY'", "'OTHERS'", "'OUT'", + "'OUTER'", "'OVER'", "'OVERLAPS'", "'OVERLAY'", "'OVERRIDING'", "'OWNED'", + "'OWNER'", "'PARALLEL'", "'PARAMETER'", "'PARSER'", "'PARTIAL'", "'PARTITION'", + "'PASSING'", "'PASSWORD'", "'PATH'", "'PERIOD'", "'PLACING'", "'PLAN'", + "'PLANS'", "'POLICY'", "'POSITION'", "'PRECEDING'", "'PRECISION'", "'PREPARE'", + "'PREPARED'", "'PRESERVE'", "'PRIMARY'", "'PRIOR'", "'PRIVILEGES'", + "'PROCEDURAL'", "'PROCEDURE'", "'PROCEDURES'", "'PROGRAM'", "'PUBLICATION'", + "'QUOTE'", "'QUOTES'", "'RANGE'", "'READ'", "'REAL'", "'REASSIGN'", + "'RECURSIVE'", "'REF'", "'REFERENCES'", "'REFERENCING'", "'REFRESH'", + "'REINDEX'", "'RELATIVE'", "'RELEASE'", "'RENAME'", "'REPEATABLE'", + "'REPLACE'", "'REPLICA'", "'RESET'", "'RESTART'", "'RESTRICT'", "'RETURN'", + "'RETURNING'", "'RETURNS'", "'REVOKE'", "'RIGHT'", "'ROLE'", "'ROLLBACK'", + "'ROLLUP'", "'ROUTINE'", "'ROUTINES'", "'ROW'", "'ROWS'", "'RULE'", + "'SAVEPOINT'", "'SCALAR'", "'SCHEMA'", "'SCHEMAS'", "'SCROLL'", "'SEARCH'", + "'SECOND'", "'SECURITY'", "'SELECT'", "'SEQUENCE'", "'SEQUENCES'", "'SERIALIZABLE'", + "'SERVER'", "'SESSION'", "'SESSION_USER'", "'SET'", "'SETOF'", "'SETS'", + "'SHARE'", "'SHOW'", "'SIMILAR'", "'SIMPLE'", "'SKIP'", "'SMALLINT'", + "'SNAPSHOT'", "'SOME'", "'SOURCE'", "'SQL'", "'STABLE'", "'STANDALONE'", + "'START'", "'STATEMENT'", "'STATISTICS'", "'STDIN'", "'STDOUT'", "'STORAGE'", + "'STORED'", "'STRICT'", "'STRING'", "'STRIP'", "'SUBSCRIPTION'", "'SUBSTRING'", + "'SUPPORT'", "'SYMMETRIC'", "'SYSID'", "'SYSTEM'", "'SYSTEM_USER'", + "'TABLE'", "'TABLES'", "'TABLESAMPLE'", "'TABLESPACE'", "'TARGET'", + "'TEMP'", "'TEMPLATE'", "'TEMPORARY'", "'TEXT'", "'THEN'", "'TIES'", + "'TIME'", "'TIMESTAMP'", "'TO'", "'TRAILING'", "'TRANSACTION'", "'TRANSFORM'", + "'TREAT'", "'TRIGGER'", "'TRIM'", "'TRUE'", "'TRUNCATE'", "'TRUSTED'", + "'TYPE'", "'TYPES'", "'UESCAPE'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNCONDITIONAL'", + "'UNENCRYPTED'", "'UNION'", "'UNIQUE'", "'UNKNOWN'", "'UNLISTEN'", "'UNLOGGED'", + "'UNTIL'", "'UPDATE'", "'USER'", "'USING'", "'VACUUM'", "'VALID'", "'VALIDATE'", + "'VALIDATOR'", "'VALUE'", "'VALUES'", "'VARCHAR'", "'VARIADIC'", "'VARYING'", + "'VERBOSE'", "'VERSION'", "'VIEW'", "'VIEWS'", "'VIRTUAL'", "'VOLATILE'", + "'WHEN'", "'WHERE'", "'WHITESPACE'", "'WINDOW'", "'WITH'", "'WITHIN'", + "'WITHOUT'", "'WORK'", "'WRAPPER'", "'WRITE'", "'XML'", "'XMLATTRIBUTES'", + "'XMLCONCAT'", "'XMLELEMENT'", "'XMLEXISTS'", "'XMLFOREST'", "'XMLNAMESPACES'", + "'XMLPARSE'", "'XMLPI'", "'XMLROOT'", "'XMLSERIALIZE'", "'XMLTABLE'", + "'YEAR'", "'YES'", "'ZONE'", "'$'", "'('", "')'", "'['", "']'", "','", + "';'", "':'", "'*'", "'='", "'.'", "'+'", "'-'", "'/'", "'^'", "'<'", + "'>'", "'<<'", "'>>'", "':='", "'<='", "'=>'", "'>='", "'..'", "'<>'", + "'::'", "'%'", "", "", "'RECHECK'", "'XMLCOMMENT'", "'XMLAGG'", "'XML_IS_WELL_FORMED'", + "'XML_IS_WELL_FORMED_DOCUMENT'", "'XML_IS_WELL_FORMED_CONTENT'", "'XPATH'", + "'XPATH_EXISTS'", "'ROWTYPE'", "'DUMP'", "'PRINT_STRICT_PARAMS'", "'VARIABLE_CONFLICT'", "'USE_VARIABLE'", "'USE_COLUMN'", "'ALIAS'", "'CONSTANT'", "'PERFORM'", "'GET'", "'DIAGNOSTICS'", "'STACKED'", "'ELSIF'", "'WHILE'", "'REVERSE'", - "'FOREACH'", "'SLICE'", "'EXIT'", "'RETURN'", "'QUERY'", "'RAISE'", - "'SQLSTATE'", "'DEBUG'", "'LOG'", "'INFO'", "'NOTICE'", "'WARNING'", - "'EXCEPTION'", "'ASSERT'", "'LOOP'", "'OPEN'", "'ABS'", "'CBRT'", "'CEIL'", - "'CEILING'", "'DEGREES'", "'DIV'", "'EXP'", "'FACTORIAL'", "'FLOOR'", - "'GCD'", "'LCM'", "'LN'", "'LOG10'", "'MIN_SCALE'", "'MOD'", "'PI'", - "'POWER'", "'RADIANS'", "'ROUND'", "'SCALE'", "'SIGN'", "'SQRT'", "'TRIM_SCALE'", - "'TRUNC'", "'WIDTH_BUCKET'", "'RANDOM'", "'SETSEED'", "'ACOS'", "'ACOSD'", - "'ASIN'", "'ASIND'", "'ATAN'", "'ATAND'", "'ATAN2'", "'ATAN2D'", "'COS'", - "'COSD'", "'COT'", "'COTD'", "'SIN'", "'SIND'", "'TAN'", "'TAND'", "'SINH'", - "'COSH'", "'TANH'", "'ASINH'", "'ACOSH'", "'ATANH'", "'BIT_LENGTH'", - "'CHAR_LENGTH'", "'CHARACTER_LENGTH'", "'LOWER'", "'OCTET_LENGTH'", - "'UPPER'", "'ASCII'", "'BTRIM'", "'CHR'", "'CONCAT'", "'CONCAT_WS'", - "'FORMAT'", "'INITCAP'", "'LENGTH'", "'LPAD'", "'LTRIM'", "'MD5'", "'PARSE_IDENT'", - "'PG_CLIENT_ENCODING'", "'QUOTE_IDENT'", "'QUOTE_LITERAL'", "'QUOTE_NULLABLE'", - "'REGEXP_COUNT'", "'REGEXP_INSTR'", "'REGEXP_LIKE'", "'REGEXP_MATCH'", - "'REGEXP_MATCHES'", "'REGEXP_REPLACE'", "'REGEXP_SPLIT_TO_ARRAY'", "'REGEXP_SPLIT_TO_TABLE'", - "'REGEXP_SUBSTR'", "'REPEAT'", "'RPAD'", "'RTRIM'", "'SPLIT_PART'", - "'STARTS_WITH'", "'STRING_TO_ARRAY'", "'STRING_TO_TABLE'", "'STRPOS'", - "'SUBSTR'", "'TO_ASCII'", "'TO_HEX'", "'TRANSLATE'", "'UNISTR'", "'AGE'", - "'CLOCK_TIMESTAMP'", "'DATE_BIN'", "'DATE_PART'", "'DATE_TRUNC'", "'ISFINITE'", - "'JUSTIFY_DAYS'", "'JUSTIFY_HOURS'", "'JUSTIFY_INTERVAL'", "'MAKE_DATE'", - "'MAKE_INTERVAL'", "'MAKE_TIME'", "'MAKE_TIMESTAMP'", "'MAKE_TIMESTAMPTZ'", - "'NOW'", "'STATEMENT_TIMESTAMP'", "'TIMEOFDAY'", "'TRANSACTION_TIMESTAMP'", - "'TO_TIMESTAMP'", "'TO_CHAR'", "'TO_DATE'", "'TO_NUMBER'", "'ENCODE'", - "'DISTKEY'", "'SORTKEY'", "'CASE_SENSITIVE'", "'CASE_INSENSITIVE'", - "'JSON_ARRAYAGG'", "'JSON_OBJECTAGG'", "", "", "", "", "", "", "", "", + "'FOREACH'", "'SLICE'", "'EXIT'", "'QUERY'", "'RAISE'", "'SQLSTATE'", + "'DEBUG'", "'LOG'", "'INFO'", "'NOTICE'", "'WARNING'", "'EXCEPTION'", + "'ASSERT'", "'LOOP'", "'OPEN'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", "'\\\\'", "", "", "", "", "", "", "", - "", "", "'''", + "", "", "", "", "", "", "", "'\\\\'", "", "", "", "", "", "", "", "", + "", "'''", } staticData.SymbolicNames = []string{ - "", "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", "CLOSE_BRACKET", - "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", "MINUS", "SLASH", - "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", "COLON_EQUALS", - "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", "NOT_EQUALS", - "TYPECAST", "PERCENT", "PARAM", "Operator", "ALL", "ANALYSE", "ANALYZE", - "AND", "ANY", "ARRAY", "AS", "ASC", "ASYMMETRIC", "BOTH", "CASE", "CAST", - "CHECK", "COLLATE", "COLUMN", "CONSTRAINT", "CREATE", "CURRENT_CATALOG", - "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", - "CURRENT_USER", "DEFAULT", "DEFERRABLE", "DESC", "DISTINCT", "DO", "ELSE", - "EXCEPT", "FALSE_P", "FETCH", "FOR", "FOREIGN", "FROM", "GRANT", "GROUP_P", - "HAVING", "IN_P", "INITIALLY", "INTERSECT", "INTO", "LATERAL_P", "LEADING", - "LIMIT", "LOCALTIME", "LOCALTIMESTAMP", "NOT", "NULL_P", "OFFSET", "ON", - "ONLY", "OR", "ORDER", "PLACING", "PRIMARY", "REFERENCES", "RETURNING", - "SELECT", "SESSION_USER", "SOME", "SYMMETRIC", "TABLE", "THEN", "TO", - "TRAILING", "TRUE_P", "UNION", "UNIQUE", "USER", "USING", "VARIADIC", - "WHEN", "WHERE", "WINDOW", "WITH", "JSON_OBJECT", "JSON_ARRAY", "JSON", - "JSON_SCALAR", "JSON_SERIALIZE", "MERGE_ACTION", "JSON_QUERY", "JSON_EXISTS", - "JSON_VALUE", "EMPTY", "KEEP", "OMIT", "SCALAR", "STRING", "CONDITIONAL", - "UNCONDITIONAL", "KEYS", "ABSENT", "QUOTES", "AUTHORIZATION", "BINARY", - "COLLATION", "CONCURRENTLY", "CROSS", "CURRENT_SCHEMA", "FREEZE", "FULL", - "ILIKE", "INNER_P", "IS", "ISNULL", "JOIN", "LEFT", "LIKE", "NATURAL", - "NOTNULL", "OUTER_P", "OVER", "OVERLAPS", "RIGHT", "SIMILAR", "VERBOSE", - "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", - "AGGREGATE", "ALSO", "ALTER", "ALWAYS", "ASSERTION", "ASSIGNMENT", "AT", - "ATTRIBUTE", "BACKWARD", "BEFORE", "BEGIN_P", "BY", "CACHE", "CALLED", - "CASCADE", "CASCADED", "CATALOG", "CHAIN", "CHARACTERISTICS", "CHECKPOINT", - "CLASS", "CLOSE", "CLUSTER", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", - "CONFIGURATION", "CONNECTION", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", - "CONVERSION_P", "COPY", "COST", "CSV", "CURSOR", "CYCLE", "DATA_P", - "DATABASE", "DAY_P", "DEALLOCATE", "DECLARE", "DEFAULTS", "DEFERRED", - "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DICTIONARY", "DISABLE_P", - "DISCARD", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ENABLE_P", - "ENCODING", "ENCRYPTED", "ENUM_P", "ESCAPE", "EVENT", "EXCLUDE", "EXCLUDING", - "EXCLUSIVE", "EXECUTE", "EXPLAIN", "EXTENSION", "EXTERNAL", "FAMILY", - "FIRST_P", "FOLLOWING", "FORCE", "FORWARD", "FUNCTION", "FUNCTIONS", - "GLOBAL", "GRANTED", "HANDLER", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", - "IF_P", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "INCLUDING", "INCREMENT", - "INDEX", "INDEXES", "INHERIT", "INHERITS", "INLINE_P", "INSENSITIVE", - "INSERT", "INSTEAD", "INVOKER", "ISOLATION", "KEY", "LABEL", "LANGUAGE", - "LARGE_P", "LAST_P", "LEAKPROOF", "LEVEL", "LISTEN", "LOAD", "LOCAL", - "LOCATION", "LOCK_P", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", - "MAXVALUE", "MERGE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", - "NAME_P", "NAMES", "NEXT", "NO", "NOTHING", "NOTIFY", "NOWAIT", "NULLS_P", - "OBJECT_P", "OF", "OFF", "OIDS", "OPERATOR", "OPTION", "OPTIONS", "OWNED", - "OWNER", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLANS", - "PRECEDING", "PREPARE", "PREPARED", "PRESERVE", "PRIOR", "PRIVILEGES", - "PROCEDURAL", "PROCEDURE", "PROGRAM", "QUOTE", "RANGE", "READ", "REASSIGN", - "RECHECK", "RECURSIVE", "REF", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", - "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", - "RETURNS", "REVOKE", "ROLE", "ROLLBACK", "ROWS", "RULE", "SAVEPOINT", - "SCHEMA", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SEQUENCE", "SEQUENCES", - "SERIALIZABLE", "SERVER", "SESSION", "SET", "SHARE", "SHOW", "SIMPLE", - "SNAPSHOT", "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", - "STDIN", "STDOUT", "STORAGE", "STRICT_P", "STRIP_P", "SYSID", "SYSTEM_P", - "TABLES", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "TRANSACTION", - "TRIGGER", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", - "UNCOMMITTED", "UNENCRYPTED", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", - "UPDATE", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VARYING", "VERSION_P", - "VIEW", "VOLATILE", "WHITESPACE_P", "WITHOUT", "WORK", "WRAPPER", "WRITE", - "XML_P", "YEAR_P", "YES_P", "ZONE", "ATOMIC_P", "BETWEEN", "BIGINT", - "BIT", "BOOLEAN_P", "CHAR_P", "CHARACTER", "COALESCE", "DEC", "DECIMAL_P", - "EXISTS", "EXTRACT", "FLOAT_P", "GREATEST", "INOUT", "INT_P", "INTEGER", - "INTERVAL", "LEAST", "NATIONAL", "NCHAR", "NONE", "NULLIF", "NUMERIC", - "OVERLAY", "PARAMETER", "POSITION", "PRECISION", "REAL", "ROW", "SETOF", - "SMALLINT", "SUBSTRING", "TIME", "TIMESTAMP", "TREAT", "TRIM", "VALUES", - "VARCHAR", "XMLATTRIBUTES", "XMLCOMMENT", "XMLAGG", "XML_IS_WELL_FORMED", - "XML_IS_WELL_FORMED_DOCUMENT", "XML_IS_WELL_FORMED_CONTENT", "XPATH", - "XPATH_EXISTS", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", - "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "CALL", "CURRENT_P", - "ATTACH", "DETACH", "EXPRESSION", "GENERATED", "LOGGED", "STORED", "INCLUDE", - "ROUTINE", "TRANSFORM", "IMPORT_P", "POLICY", "METHOD", "REFERENCING", - "NEW", "OLD", "VALUE_P", "SUBSCRIPTION", "PUBLICATION", "OUT_P", "END_P", - "ROUTINES", "SCHEMAS", "PROCEDURES", "INPUT_P", "SUPPORT", "PARALLEL", - "SQL_P", "DEPENDS", "OVERRIDING", "CONFLICT", "SKIP_P", "LOCKED", "TIES", - "ROLLUP", "CUBE", "GROUPING", "SETS", "TABLESAMPLE", "ORDINALITY", "XMLTABLE", - "COLUMNS", "XMLNAMESPACES", "ROWTYPE", "NORMALIZED", "WITHIN", "FILTER", - "GROUPS", "OTHERS", "NFC", "NFD", "NFKC", "NFKD", "UESCAPE", "VIEWS", - "NORMALIZE", "DUMP", "PRINT_STRICT_PARAMS", "VARIABLE_CONFLICT", "ERROR", - "USE_VARIABLE", "USE_COLUMN", "ALIAS", "CONSTANT", "PERFORM", "GET", - "DIAGNOSTICS", "STACKED", "ELSIF", "WHILE", "REVERSE", "FOREACH", "SLICE", - "EXIT", "RETURN", "QUERY", "RAISE", "SQLSTATE", "DEBUG", "LOG", "INFO", - "NOTICE", "WARNING", "EXCEPTION", "ASSERT", "LOOP", "OPEN", "ABS", "CBRT", - "CEIL", "CEILING", "DEGREES", "DIV", "EXP", "FACTORIAL", "FLOOR", "GCD", - "LCM", "LN", "LOG10", "MIN_SCALE", "MOD", "PI", "POWER", "RADIANS", - "ROUND", "SCALE", "SIGN", "SQRT", "TRIM_SCALE", "TRUNC", "WIDTH_BUCKET", - "RANDOM", "SETSEED", "ACOS", "ACOSD", "ASIN", "ASIND", "ATAN", "ATAND", - "ATAN2", "ATAN2D", "COS", "COSD", "COT", "COTD", "SIN", "SIND", "TAN", - "TAND", "SINH", "COSH", "TANH", "ASINH", "ACOSH", "ATANH", "BIT_LENGTH", - "CHAR_LENGTH", "CHARACTER_LENGTH", "LOWER", "OCTET_LENGTH", "UPPER", - "ASCII", "BTRIM", "CHR", "CONCAT", "CONCAT_WS", "FORMAT", "INITCAP", - "LENGTH", "LPAD", "LTRIM", "MD5", "PARSE_IDENT", "PG_CLIENT_ENCODING", - "QUOTE_IDENT", "QUOTE_LITERAL", "QUOTE_NULLABLE", "REGEXP_COUNT", "REGEXP_INSTR", - "REGEXP_LIKE", "REGEXP_MATCH", "REGEXP_MATCHES", "REGEXP_REPLACE", "REGEXP_SPLIT_TO_ARRAY", - "REGEXP_SPLIT_TO_TABLE", "REGEXP_SUBSTR", "REPEAT", "RPAD", "RTRIM", - "SPLIT_PART", "STARTS_WITH", "STRING_TO_ARRAY", "STRING_TO_TABLE", "STRPOS", - "SUBSTR", "TO_ASCII", "TO_HEX", "TRANSLATE", "UNISTR", "AGE", "CLOCK_TIMESTAMP", - "DATE_BIN", "DATE_PART", "DATE_TRUNC", "ISFINITE", "JUSTIFY_DAYS", "JUSTIFY_HOURS", - "JUSTIFY_INTERVAL", "MAKE_DATE", "MAKE_INTERVAL", "MAKE_TIME", "MAKE_TIMESTAMP", - "MAKE_TIMESTAMPTZ", "NOW", "STATEMENT_TIMESTAMP", "TIMEOFDAY", "TRANSACTION_TIMESTAMP", - "TO_TIMESTAMP", "TO_CHAR", "TO_DATE", "TO_NUMBER", "ENCODE", "DISTKEY", - "SORTKEY", "CASE_SENSITIVE", "CASE_INSENSITIVE", "JSON_ARRAYAGG", "JSON_OBJECTAGG", - "Identifier", "QuotedIdentifier", "UnterminatedQuotedIdentifier", "InvalidQuotedIdentifier", - "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", "UnterminatedUnicodeQuotedIdentifier", - "InvalidUnicodeQuotedIdentifier", "InvalidUnterminatedUnicodeQuotedIdentifier", - "StringConstant", "UnterminatedStringConstant", "UnicodeEscapeStringConstant", - "UnterminatedUnicodeEscapeStringConstant", "BeginDollarStringConstant", - "BinaryStringConstant", "UnterminatedBinaryStringConstant", "InvalidBinaryStringConstant", - "InvalidUnterminatedBinaryStringConstant", "HexadecimalStringConstant", - "UnterminatedHexadecimalStringConstant", "InvalidHexadecimalStringConstant", - "InvalidUnterminatedHexadecimalStringConstant", "Integral", "NumericFail", - "Numeric", "PLSQLVARIABLENAME", "PLSQLIDENTIFIER", "Whitespace", "Newline", - "LineComment", "BlockComment", "UnterminatedBlockComment", "MetaCommand", - "EndMetaCommand", "ErrorCharacter", "EscapeStringConstant", "UnterminatedEscapeStringConstant", - "InvalidEscapeStringConstant", "InvalidUnterminatedEscapeStringConstant", + "", "ABORT_P", "ABSENT", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", + "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", + "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", + "ASSIGNMENT", "ASYMMETRIC", "AT", "ATOMIC", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", + "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", + "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", + "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", + "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", + "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", + "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", "CONCURRENTLY", "CONDITIONAL", + "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", + "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE", + "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", + "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", + "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", + "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", + "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", + "DEPTH", "DESC", "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", + "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", + "EMPTY_P", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENFORCED", + "ENUM_P", "ERROR_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", + "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", + "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", + "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", + "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", + "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", + "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", + "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", + "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES", "INHERIT", + "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", + "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", + "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", + "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXISTS", "JSON_OBJECT", + "JSON_OBJECTAGG", "JSON_QUERY", "JSON_SCALAR", "JSON_SERIALIZE", "JSON_TABLE", + "JSON_VALUE", "KEEP", "KEY", "KEYS", "LABEL", "LANGUAGE", "LARGE_P", + "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", + "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", + "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED", + "MATERIALIZED", "MAXVALUE", "MERGE", "MERGE_ACTION", "METHOD", "MINUTE_P", + "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", + "NATURAL", "NCHAR", "NESTED", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", + "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", + "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", + "OBJECTS_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "OMIT", "ON", "ONLY", + "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", + "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", + "OWNER", "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", + "PASSING", "PASSWORD", "PATH", "PERIOD", "PLACING", "PLAN", "PLANS", + "POLICY", "POSITION", "PRECEDING", "PRECISION", "PREPARE", "PREPARED", + "PRESERVE", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", + "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE", + "READ", "REAL", "REASSIGN", "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", + "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", + "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", + "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", + "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", + "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", + "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", + "SETOF", "SETS", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP_P", "SMALLINT", + "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE", "STANDALONE_P", "START", + "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED", "STRICT_P", + "STRING_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT", "SYMMETRIC", + "SYSID", "SYSTEM_P", "SYSTEM_USER", "TABLE", "TABLES", "TABLESAMPLE", + "TABLESPACE", "TARGET", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", + "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", + "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", + "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNCONDITIONAL", "UNENCRYPTED", + "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", + "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", + "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", + "VIEW", "VIEWS", "VIRTUAL", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", + "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", + "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", + "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "XMLTABLE", + "YEAR_P", "YES_P", "ZONE", "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", + "CLOSE_BRACKET", "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", + "MINUS", "SLASH", "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", + "COLON_EQUALS", "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", + "NOT_EQUALS", "TYPECAST", "PERCENT", "PARAM", "Operator", "RECHECK", + "XMLCOMMENT", "XMLAGG", "XML_IS_WELL_FORMED", "XML_IS_WELL_FORMED_DOCUMENT", + "XML_IS_WELL_FORMED_CONTENT", "XPATH", "XPATH_EXISTS", "ROWTYPE", "DUMP", + "PRINT_STRICT_PARAMS", "VARIABLE_CONFLICT", "USE_VARIABLE", "USE_COLUMN", + "ALIAS", "CONSTANT", "PERFORM", "GET", "DIAGNOSTICS", "STACKED", "ELSIF", + "WHILE", "REVERSE", "FOREACH", "SLICE", "EXIT", "QUERY", "RAISE", "SQLSTATE", + "DEBUG", "LOG", "INFO", "NOTICE", "WARNING", "EXCEPTION", "ASSERT", + "LOOP", "OPEN", "Identifier", "QuotedIdentifier", "UnterminatedQuotedIdentifier", + "InvalidQuotedIdentifier", "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", + "UnterminatedUnicodeQuotedIdentifier", "InvalidUnicodeQuotedIdentifier", + "InvalidUnterminatedUnicodeQuotedIdentifier", "StringConstant", "UnterminatedStringConstant", + "UnicodeEscapeStringConstant", "UnterminatedUnicodeEscapeStringConstant", + "BeginDollarStringConstant", "BinaryStringConstant", "UnterminatedBinaryStringConstant", + "InvalidBinaryStringConstant", "InvalidUnterminatedBinaryStringConstant", + "HexadecimalStringConstant", "UnterminatedHexadecimalStringConstant", + "InvalidHexadecimalStringConstant", "InvalidUnterminatedHexadecimalStringConstant", + "Integral", "NumericFail", "Numeric", "PLSQLVARIABLENAME", "PLSQLIDENTIFIER", + "Whitespace", "Newline", "LineComment", "BlockComment", "UnterminatedBlockComment", + "MetaCommand", "EndMetaCommand", "ErrorCharacter", "EscapeStringConstant", + "UnterminatedEscapeStringConstant", "InvalidEscapeStringConstant", "InvalidUnterminatedEscapeStringConstant", "AfterEscapeStringConstantMode_NotContinued", "AfterEscapeStringConstantWithNewlineMode_NotContinued", "DollarText", "EndDollarStringConstant", "AfterEscapeStringConstantWithNewlineMode_Continued", } @@ -410,23 +374,24 @@ func postgresqlparserParserInit() { "tablefuncelement", "xmltable", "xmltable_column_list", "xmltable_column_el", "xmltable_column_option_list", "xmltable_column_option_el", "xml_namespace_list", "xml_namespace_el", "typename", "opt_array_bounds", "simpletypename", - "consttypename", "generictype", "opt_type_modifiers", "numeric", "opt_float", - "bit", "constbit", "bitwithlength", "bitwithoutlength", "character", - "constcharacter", "character_c", "opt_varying", "constdatetime", "constinterval", - "opt_timezone", "opt_interval", "interval_second", "opt_escape", "a_expr", - "a_expr_qual", "a_expr_lessless", "a_expr_or", "a_expr_and", "a_expr_between", - "a_expr_in", "a_expr_unary_not", "a_expr_isnull", "a_expr_is_not", "a_expr_compare", - "a_expr_like", "a_expr_qual_op", "a_expr_unary_qualop", "a_expr_add", - "a_expr_mul", "a_expr_caret", "a_expr_unary_sign", "a_expr_at_time_zone", - "a_expr_collate", "a_expr_typecast", "b_expr", "c_expr", "plsqlvariablename", - "func_application", "func_expr", "func_expr_windowless", "json_aggregate_func", - "json_output_clause", "json_array_aggregate_order_by_clause", "func_expr_common_subexpr", - "json_on_error_clause", "json_behavior_clause", "json_behavior", "json_behavior_type", - "json_quotes_clause", "json_wrapper_behavior", "json_passing_clause", - "json_arguments", "json_argument", "json_format_clause_opt", "json_value_expr_list", - "json_returning_clause", "json_key_uniqueness_constraint", "json_array_constructor_null_clause", - "json_object_constructor_null_clause", "json_name_and_value_list", "json_name_and_value", - "json_value_expr", "json_format_clause", "xml_root_version", "opt_xml_root_standalone", + "consttypename", "generictype", "jsontype", "opt_type_modifiers", "numeric", + "opt_float", "bit", "constbit", "bitwithlength", "bitwithoutlength", + "character", "constcharacter", "character_c", "opt_varying", "constdatetime", + "constinterval", "opt_timezone", "opt_interval", "interval_second", + "opt_escape", "a_expr", "a_expr_qual", "a_expr_lessless", "a_expr_or", + "a_expr_and", "a_expr_between", "a_expr_in", "a_expr_unary_not", "a_expr_isnull", + "a_expr_is_not", "a_expr_compare", "a_expr_like", "a_expr_qual_op", + "a_expr_unary_qualop", "a_expr_add", "a_expr_mul", "a_expr_caret", "a_expr_unary_sign", + "a_expr_at_time_zone", "a_expr_collate", "a_expr_typecast", "b_expr", + "c_expr", "plsqlvariablename", "func_application", "func_expr", "func_expr_windowless", + "json_aggregate_func", "json_output_clause", "json_array_aggregate_order_by_clause", + "func_expr_common_subexpr", "json_on_error_clause", "json_behavior_clause", + "json_behavior", "json_behavior_type", "json_quotes_clause", "json_wrapper_behavior", + "json_passing_clause", "json_arguments", "json_argument", "json_format_clause_opt", + "json_value_expr_list", "json_returning_clause", "json_key_uniqueness_constraint", + "json_array_constructor_null_clause", "json_object_constructor_null_clause", + "json_name_and_value_list", "json_name_and_value", "json_value_expr", + "json_format_clause", "xml_root_version", "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list", "xml_attribute_el", "document_or_content", "xml_whitespace_option", "xmlexists_argument", "xml_passing_mech", "within_group_clause", "filter_clause", "window_clause", "window_definition_list", "window_definition", @@ -444,38 +409,37 @@ func postgresqlparserParserInit() { "xconst", "bconst", "fconst", "iconst", "sconst", "anysconst", "opt_uescape", "signediconst", "roleid", "rolespec", "role_list", "colid", "table_alias", "type_function_name", "nonreservedword", "collabel", "identifier", "plsqlidentifier", - "unreserved_keyword", "col_name_keyword", "type_func_name_keyword", - "reserved_keyword", "builtin_function_name", "pl_function", "comp_options", - "comp_option", "sharp", "option_value", "opt_semi", "pl_block", "decl_sect", - "decl_start", "decl_stmts", "label_decl", "decl_stmt", "decl_statement", - "opt_scrollable", "decl_cursor_query", "decl_cursor_args", "decl_cursor_arglist", - "decl_cursor_arg", "decl_is_for", "decl_aliasitem", "decl_varname", - "decl_const", "decl_datatype", "decl_collate", "decl_notnull", "decl_defval", - "decl_defkey", "assign_operator", "proc_sect", "proc_stmt", "stmt_perform", - "stmt_call", "opt_expr_list", "stmt_assign", "stmt_getdiag", "getdiag_area_opt", - "getdiag_list", "getdiag_list_item", "getdiag_item", "getdiag_target", - "assign_var", "stmt_if", "stmt_elsifs", "stmt_else", "stmt_case", "opt_expr_until_when", - "case_when_list", "case_when", "opt_case_else", "stmt_loop", "stmt_while", - "stmt_for", "for_control", "opt_for_using_expression", "opt_cursor_parameters", - "opt_reverse", "opt_by_expression", "for_variable", "stmt_foreach_a", - "foreach_slice", "stmt_exit", "exit_type", "stmt_return", "opt_return_result", - "stmt_raise", "opt_stmt_raise_level", "opt_raise_list", "opt_raise_using", - "opt_raise_using_elem", "opt_raise_using_elem_list", "stmt_assert", - "opt_stmt_assert_message", "loop_body", "stmt_execsql", "stmt_dynexecute", - "opt_execute_using", "opt_execute_using_list", "opt_execute_into", "stmt_open", - "opt_open_bound_list_item", "opt_open_bound_list", "opt_open_using", - "opt_scroll_option", "opt_scroll_option_no", "stmt_fetch", "into_target", - "opt_cursor_from", "opt_fetch_direction", "stmt_move", "stmt_close", - "stmt_null", "stmt_commit", "stmt_rollback", "plsql_opt_transaction_chain", - "stmt_set", "cursor_variable", "exception_sect", "proc_exceptions", - "proc_exception", "proc_conditions", "proc_condition", "opt_block_label", - "opt_loop_label", "opt_label", "opt_exitcond", "any_identifier", "plsql_unreserved_keyword", - "sql_expression", "expr_until_then", "expr_until_semi", "expr_until_rightbracket", - "expr_until_loop", "make_execsql_stmt", "opt_returning_clause_into", + "pl_function", "comp_options", "comp_option", "sharp", "option_value", + "opt_semi", "pl_block", "decl_sect", "decl_start", "decl_stmts", "label_decl", + "decl_stmt", "decl_statement", "opt_scrollable", "decl_cursor_query", + "decl_cursor_args", "decl_cursor_arglist", "decl_cursor_arg", "decl_is_for", + "decl_aliasitem", "decl_varname", "decl_const", "decl_datatype", "decl_collate", + "decl_notnull", "decl_defval", "decl_defkey", "assign_operator", "proc_sect", + "proc_stmt", "stmt_perform", "stmt_call", "opt_expr_list", "stmt_assign", + "stmt_getdiag", "getdiag_area_opt", "getdiag_list", "getdiag_list_item", + "getdiag_item", "getdiag_target", "assign_var", "stmt_if", "stmt_elsifs", + "stmt_else", "stmt_case", "opt_expr_until_when", "case_when_list", "case_when", + "opt_case_else", "stmt_loop", "stmt_while", "stmt_for", "for_control", + "opt_for_using_expression", "opt_cursor_parameters", "opt_reverse", + "opt_by_expression", "for_variable", "stmt_foreach_a", "foreach_slice", + "stmt_exit", "exit_type", "stmt_return", "opt_return_result", "stmt_raise", + "opt_stmt_raise_level", "opt_raise_list", "opt_raise_using", "opt_raise_using_elem", + "opt_raise_using_elem_list", "stmt_assert", "opt_stmt_assert_message", + "loop_body", "stmt_execsql", "stmt_dynexecute", "opt_execute_using", + "opt_execute_using_list", "opt_execute_into", "stmt_open", "opt_open_bound_list_item", + "opt_open_bound_list", "opt_open_using", "opt_scroll_option", "opt_scroll_option_no", + "stmt_fetch", "into_target", "opt_cursor_from", "opt_fetch_direction", + "stmt_move", "stmt_close", "stmt_null", "stmt_commit", "stmt_rollback", + "plsql_opt_transaction_chain", "stmt_set", "cursor_variable", "exception_sect", + "proc_exceptions", "proc_exception", "proc_conditions", "proc_condition", + "opt_block_label", "opt_loop_label", "opt_label", "opt_exitcond", "any_identifier", + "plsql_unreserved_keyword", "sql_expression", "expr_until_then", "expr_until_semi", + "expr_until_rightbracket", "expr_until_loop", "make_execsql_stmt", "opt_returning_clause_into", + "reserved_keyword", "unreserved_keyword", "col_name_keyword", "type_func_name_keyword", } staticData.PredictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 1, 707, 11577, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, + 4, 1, 605, 11519, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, @@ -1134,74 +1098,73 @@ func postgresqlparserParserInit() { 9, 318, 1, 319, 1, 319, 3, 319, 5782, 8, 319, 1, 319, 1, 319, 1, 319, 1, 319, 3, 319, 5788, 8, 319, 1, 319, 1, 319, 1, 319, 3, 319, 5793, 8, 319, 1, 320, 1, 320, 3, 320, 5797, 8, 320, 1, 320, 1, 320, 1, 320, 3, 320, 5802, - 8, 320, 1, 321, 1, 321, 1, 321, 1, 321, 3, 321, 5808, 8, 321, 1, 322, 1, - 322, 1, 323, 1, 323, 3, 323, 5814, 8, 323, 1, 323, 1, 323, 1, 323, 1, 323, - 3, 323, 5820, 8, 323, 1, 323, 1, 323, 1, 323, 1, 323, 3, 323, 5826, 8, - 323, 1, 324, 1, 324, 1, 324, 3, 324, 5831, 8, 324, 1, 325, 1, 325, 1, 326, - 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, - 1, 326, 3, 326, 5846, 8, 326, 1, 326, 1, 326, 1, 327, 1, 327, 1, 327, 5, - 327, 5853, 8, 327, 10, 327, 12, 327, 5856, 9, 327, 1, 328, 1, 328, 1, 328, - 1, 329, 1, 329, 1, 329, 5, 329, 5864, 8, 329, 10, 329, 12, 329, 5867, 9, - 329, 1, 330, 4, 330, 5870, 8, 330, 11, 330, 12, 330, 5871, 1, 330, 1, 330, - 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, - 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, - 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, - 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 3, 331, - 5911, 8, 331, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, - 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 3, 332, 5926, 8, 332, 1, 333, - 1, 333, 1, 333, 1, 333, 1, 333, 3, 333, 5933, 8, 333, 1, 334, 1, 334, 1, - 334, 1, 334, 1, 334, 1, 334, 1, 334, 5, 334, 5942, 8, 334, 10, 334, 12, - 334, 5945, 9, 334, 1, 335, 1, 335, 1, 335, 1, 336, 1, 336, 1, 336, 1, 337, - 1, 337, 1, 337, 5, 337, 5956, 8, 337, 10, 337, 12, 337, 5959, 9, 337, 1, - 338, 1, 338, 1, 338, 1, 338, 1, 338, 3, 338, 5966, 8, 338, 1, 339, 4, 339, - 5969, 8, 339, 11, 339, 12, 339, 5970, 1, 340, 1, 340, 1, 341, 1, 341, 1, - 341, 1, 341, 3, 341, 5979, 8, 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, - 1, 341, 3, 341, 5987, 8, 341, 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 5993, - 8, 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 6001, 8, - 341, 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 6007, 8, 341, 1, 341, 1, 341, - 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 6015, 8, 341, 3, 341, 6017, 8, - 341, 1, 342, 1, 342, 1, 342, 1, 342, 3, 342, 6023, 8, 342, 1, 342, 1, 342, - 1, 342, 1, 342, 1, 342, 1, 342, 3, 342, 6031, 8, 342, 3, 342, 6033, 8, - 342, 1, 343, 1, 343, 1, 343, 1, 343, 3, 343, 6039, 8, 343, 1, 343, 1, 343, - 1, 343, 1, 343, 1, 343, 1, 343, 3, 343, 6047, 8, 343, 3, 343, 6049, 8, - 343, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, - 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, - 344, 1, 344, 1, 344, 1, 344, 1, 344, 3, 344, 6073, 8, 344, 1, 345, 1, 345, - 1, 345, 5, 345, 6078, 8, 345, 10, 345, 12, 345, 6081, 9, 345, 1, 345, 1, - 345, 1, 346, 1, 346, 1, 346, 5, 346, 6088, 8, 346, 10, 346, 12, 346, 6091, - 9, 346, 1, 347, 1, 347, 1, 347, 1, 348, 1, 348, 1, 348, 1, 349, 4, 349, - 6100, 8, 349, 11, 349, 12, 349, 6101, 1, 350, 1, 350, 1, 350, 3, 350, 6107, - 8, 350, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, - 1, 351, 1, 351, 1, 351, 3, 351, 6120, 8, 351, 1, 351, 1, 351, 1, 351, 1, - 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 3, 351, 6132, 8, 351, - 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, - 1, 351, 3, 351, 6144, 8, 351, 3, 351, 6146, 8, 351, 1, 352, 1, 352, 1, - 352, 1, 352, 3, 352, 6152, 8, 352, 1, 353, 1, 353, 1, 353, 3, 353, 6157, - 8, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 3, 353, 6165, 8, - 353, 1, 354, 1, 354, 1, 354, 1, 355, 1, 355, 3, 355, 6172, 8, 355, 1, 355, - 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 356, - 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, - 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, - 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, - 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 3, 356, 6217, 8, 356, 1, - 357, 1, 357, 1, 357, 3, 357, 6222, 8, 357, 1, 357, 1, 357, 1, 357, 1, 357, - 1, 357, 3, 357, 6229, 8, 357, 1, 358, 1, 358, 1, 358, 3, 358, 6234, 8, - 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 3, 358, 6241, 8, 358, 1, 358, - 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 3, 358, 6251, 8, - 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 3, - 358, 6261, 8, 358, 1, 358, 1, 358, 3, 358, 6265, 8, 358, 1, 359, 1, 359, - 1, 360, 1, 360, 1, 361, 1, 361, 1, 361, 5, 361, 6274, 8, 361, 10, 361, - 12, 361, 6277, 9, 361, 1, 362, 1, 362, 1, 363, 1, 363, 1, 363, 1, 363, - 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 3, 363, - 6293, 8, 363, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, + 8, 320, 1, 321, 1, 321, 1, 321, 3, 321, 5807, 8, 321, 1, 322, 1, 322, 1, + 323, 1, 323, 3, 323, 5813, 8, 323, 1, 323, 1, 323, 1, 323, 3, 323, 5818, + 8, 323, 1, 323, 1, 323, 1, 323, 1, 323, 3, 323, 5824, 8, 323, 1, 324, 1, + 324, 1, 324, 3, 324, 5829, 8, 324, 1, 325, 1, 325, 1, 326, 1, 326, 1, 326, + 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 1, 326, 3, 326, + 5844, 8, 326, 1, 326, 1, 326, 1, 327, 1, 327, 1, 327, 5, 327, 5851, 8, + 327, 10, 327, 12, 327, 5854, 9, 327, 1, 328, 1, 328, 1, 328, 1, 329, 1, + 329, 1, 329, 5, 329, 5862, 8, 329, 10, 329, 12, 329, 5865, 9, 329, 1, 330, + 4, 330, 5868, 8, 330, 11, 330, 12, 330, 5869, 1, 330, 1, 330, 1, 331, 1, + 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, + 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, + 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, + 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 1, 331, 3, 331, 5909, 8, 331, + 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, 1, 332, + 1, 332, 1, 332, 1, 332, 1, 332, 3, 332, 5924, 8, 332, 1, 333, 1, 333, 1, + 333, 1, 333, 1, 333, 3, 333, 5931, 8, 333, 1, 334, 1, 334, 1, 334, 1, 334, + 1, 334, 1, 334, 1, 334, 5, 334, 5940, 8, 334, 10, 334, 12, 334, 5943, 9, + 334, 1, 335, 1, 335, 1, 335, 1, 336, 1, 336, 1, 336, 1, 337, 1, 337, 1, + 337, 5, 337, 5954, 8, 337, 10, 337, 12, 337, 5957, 9, 337, 1, 338, 1, 338, + 1, 338, 1, 338, 1, 338, 3, 338, 5964, 8, 338, 1, 339, 4, 339, 5967, 8, + 339, 11, 339, 12, 339, 5968, 1, 340, 1, 340, 1, 341, 1, 341, 1, 341, 1, + 341, 3, 341, 5977, 8, 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, + 3, 341, 5985, 8, 341, 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 5991, 8, + 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 5999, 8, 341, + 1, 341, 1, 341, 1, 341, 1, 341, 3, 341, 6005, 8, 341, 1, 341, 1, 341, 1, + 341, 1, 341, 1, 341, 1, 341, 3, 341, 6013, 8, 341, 3, 341, 6015, 8, 341, + 1, 342, 1, 342, 1, 342, 1, 342, 3, 342, 6021, 8, 342, 1, 342, 1, 342, 1, + 342, 1, 342, 1, 342, 1, 342, 3, 342, 6029, 8, 342, 3, 342, 6031, 8, 342, + 1, 343, 1, 343, 1, 343, 1, 343, 3, 343, 6037, 8, 343, 1, 343, 1, 343, 1, + 343, 1, 343, 1, 343, 1, 343, 3, 343, 6045, 8, 343, 3, 343, 6047, 8, 343, + 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, + 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, 1, 344, + 1, 344, 1, 344, 1, 344, 1, 344, 3, 344, 6071, 8, 344, 1, 345, 1, 345, 1, + 345, 5, 345, 6076, 8, 345, 10, 345, 12, 345, 6079, 9, 345, 1, 345, 1, 345, + 1, 346, 1, 346, 1, 346, 5, 346, 6086, 8, 346, 10, 346, 12, 346, 6089, 9, + 346, 1, 347, 1, 347, 1, 347, 1, 348, 1, 348, 1, 348, 1, 349, 4, 349, 6098, + 8, 349, 11, 349, 12, 349, 6099, 1, 350, 1, 350, 1, 350, 3, 350, 6105, 8, + 350, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, + 351, 1, 351, 1, 351, 3, 351, 6118, 8, 351, 1, 351, 1, 351, 1, 351, 1, 351, + 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 3, 351, 6130, 8, 351, 1, + 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, 351, 1, + 351, 3, 351, 6142, 8, 351, 3, 351, 6144, 8, 351, 1, 352, 1, 352, 1, 352, + 1, 352, 3, 352, 6150, 8, 352, 1, 353, 1, 353, 1, 353, 3, 353, 6155, 8, + 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 1, 353, 3, 353, 6163, 8, 353, + 1, 354, 1, 354, 1, 354, 1, 355, 1, 355, 3, 355, 6170, 8, 355, 1, 355, 1, + 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 355, 1, 356, 1, + 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, + 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, + 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, + 356, 1, 356, 1, 356, 1, 356, 1, 356, 1, 356, 3, 356, 6215, 8, 356, 1, 357, + 1, 357, 1, 357, 3, 357, 6220, 8, 357, 1, 357, 1, 357, 1, 357, 1, 357, 1, + 357, 3, 357, 6227, 8, 357, 1, 358, 1, 358, 1, 358, 3, 358, 6232, 8, 358, + 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 3, 358, 6239, 8, 358, 1, 358, 1, + 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 3, 358, 6249, 8, 358, + 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 1, 358, 3, 358, + 6259, 8, 358, 1, 358, 1, 358, 3, 358, 6263, 8, 358, 1, 359, 1, 359, 1, + 360, 1, 360, 1, 361, 1, 361, 1, 361, 5, 361, 6272, 8, 361, 10, 361, 12, + 361, 6275, 9, 361, 1, 362, 1, 362, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, + 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 1, 363, 3, 363, 6291, 8, + 363, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, - 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6364, - 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6362, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, @@ -1222,23 +1185,21 @@ func postgresqlparserParserInit() { 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, - 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6559, 8, 364, 1, 364, 1, - 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, - 364, 3, 364, 6572, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, - 1, 364, 1, 364, 1, 364, 3, 364, 6583, 8, 364, 1, 364, 1, 364, 1, 364, 1, - 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6596, - 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, - 1, 364, 1, 364, 3, 364, 6608, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, - 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6622, - 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6557, 8, 364, 1, 364, 1, 364, 1, + 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, + 364, 6570, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 1, 364, 3, 364, 6581, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, + 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6594, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, - 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6654, 8, 364, 1, 364, 1, 364, 1, - 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, - 364, 3, 364, 6668, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 3, 364, 6606, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, + 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6620, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 1, 364, 1, 364, 3, 364, 6652, 8, 364, 1, 364, 1, 364, 1, 364, 1, + 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, + 364, 6666, 8, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, @@ -1247,132 +1208,135 @@ func postgresqlparserParserInit() { 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, - 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6780, 8, 364, 3, 364, 6782, - 8, 364, 1, 365, 1, 365, 1, 366, 1, 366, 1, 366, 1, 367, 1, 367, 1, 367, - 1, 367, 3, 367, 6793, 8, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, - 367, 1, 367, 1, 367, 1, 367, 3, 367, 6804, 8, 367, 1, 367, 1, 367, 1, 367, - 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6815, 8, 367, 1, - 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, - 367, 1, 367, 3, 367, 6828, 8, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, - 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6840, 8, 367, 1, 367, 1, - 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6851, - 8, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6858, 8, 367, 1, - 368, 1, 368, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, - 369, 1, 369, 1, 369, 3, 369, 7079, 8, 369, 1, 370, 1, 370, 1, 370, 1, 370, - 1, 370, 1, 370, 1, 370, 1, 370, 1, 371, 1, 371, 1, 371, 5, 371, 7092, 8, - 371, 10, 371, 12, 371, 7095, 9, 371, 1, 372, 1, 372, 1, 372, 1, 372, 1, - 372, 1, 372, 1, 372, 1, 372, 3, 372, 7105, 8, 372, 1, 373, 1, 373, 1, 373, - 1, 373, 1, 373, 3, 373, 7112, 8, 373, 1, 374, 1, 374, 1, 374, 1, 374, 1, - 374, 1, 374, 1, 374, 1, 374, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, - 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, - 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, - 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, - 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, - 375, 1, 375, 1, 375, 3, 375, 7166, 8, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, + 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, 1, 364, + 1, 364, 1, 364, 1, 364, 1, 364, 3, 364, 6778, 8, 364, 3, 364, 6780, 8, + 364, 1, 365, 1, 365, 1, 366, 1, 366, 1, 366, 1, 367, 1, 367, 1, 367, 1, + 367, 3, 367, 6791, 8, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, + 1, 367, 1, 367, 1, 367, 3, 367, 6802, 8, 367, 1, 367, 1, 367, 1, 367, 1, + 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6813, 8, 367, 1, 367, + 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, + 1, 367, 3, 367, 6826, 8, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, + 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6838, 8, 367, 1, 367, 1, 367, + 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6849, 8, + 367, 1, 367, 1, 367, 1, 367, 1, 367, 1, 367, 3, 367, 6856, 8, 367, 1, 368, + 1, 368, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, 1, 369, + 1, 369, 1, 369, 3, 369, 7077, 8, 369, 1, 370, 1, 370, 1, 370, 1, 370, 1, + 370, 1, 370, 1, 370, 1, 370, 1, 371, 1, 371, 1, 371, 5, 371, 7090, 8, 371, + 10, 371, 12, 371, 7093, 9, 371, 1, 372, 1, 372, 1, 372, 1, 372, 1, 372, + 1, 372, 1, 372, 1, 372, 3, 372, 7103, 8, 372, 1, 373, 1, 373, 1, 373, 1, + 373, 1, 373, 3, 373, 7110, 8, 373, 1, 374, 1, 374, 1, 374, 1, 374, 1, 374, + 1, 374, 1, 374, 1, 374, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, - 3, 375, 7307, 8, 375, 1, 376, 1, 376, 1, 376, 1, 376, 3, 376, 7313, 8, - 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 3, 376, 7322, - 8, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 3, 376, 7330, 8, - 376, 3, 376, 7332, 8, 376, 1, 377, 1, 377, 1, 377, 5, 377, 7337, 8, 377, - 10, 377, 12, 377, 7340, 9, 377, 1, 378, 1, 378, 1, 378, 3, 378, 7345, 8, - 378, 1, 378, 3, 378, 7348, 8, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, - 3, 378, 7355, 8, 378, 1, 378, 1, 378, 3, 378, 7359, 8, 378, 1, 378, 3, - 378, 7362, 8, 378, 1, 378, 1, 378, 1, 378, 3, 378, 7367, 8, 378, 1, 378, - 3, 378, 7370, 8, 378, 1, 378, 1, 378, 3, 378, 7374, 8, 378, 1, 378, 3, - 378, 7377, 8, 378, 1, 378, 3, 378, 7380, 8, 378, 1, 379, 1, 379, 1, 379, - 1, 379, 1, 379, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, - 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, - 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 3, 380, - 7411, 8, 380, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, - 381, 3, 381, 7421, 8, 381, 1, 382, 1, 382, 1, 382, 5, 382, 7426, 8, 382, - 10, 382, 12, 382, 7429, 9, 382, 1, 383, 1, 383, 1, 384, 1, 384, 1, 384, - 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, - 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 3, 384, 7451, 8, 384, 1, - 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 3, 384, 7460, 8, 384, - 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, - 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 3, 384, 7478, 8, - 384, 1, 385, 1, 385, 1, 385, 1, 385, 3, 385, 7484, 8, 385, 1, 385, 1, 385, - 1, 385, 1, 385, 1, 385, 1, 385, 3, 385, 7492, 8, 385, 3, 385, 7494, 8, - 385, 1, 386, 1, 386, 3, 386, 7498, 8, 386, 1, 386, 1, 386, 1, 386, 1, 386, - 1, 386, 1, 386, 1, 386, 1, 386, 3, 386, 7508, 8, 386, 1, 386, 1, 386, 3, - 386, 7512, 8, 386, 1, 386, 1, 386, 1, 387, 1, 387, 1, 387, 1, 387, 1, 387, - 1, 387, 3, 387, 7522, 8, 387, 1, 388, 3, 388, 7525, 8, 388, 1, 388, 1, - 388, 3, 388, 7529, 8, 388, 5, 388, 7531, 8, 388, 10, 388, 12, 388, 7534, - 9, 388, 1, 389, 1, 389, 1, 389, 1, 389, 1, 389, 3, 389, 7541, 8, 389, 1, - 390, 1, 390, 1, 391, 1, 391, 1, 392, 1, 392, 1, 393, 1, 393, 1, 393, 3, - 393, 7552, 8, 393, 1, 394, 1, 394, 1, 394, 1, 395, 1, 395, 1, 395, 1, 396, - 1, 396, 1, 396, 1, 396, 3, 396, 7564, 8, 396, 1, 397, 1, 397, 3, 397, 7568, - 8, 397, 1, 397, 3, 397, 7571, 8, 397, 1, 397, 1, 397, 3, 397, 7575, 8, - 397, 1, 397, 3, 397, 7578, 8, 397, 1, 397, 1, 397, 1, 397, 3, 397, 7583, - 8, 397, 1, 397, 1, 397, 3, 397, 7587, 8, 397, 1, 397, 3, 397, 7590, 8, - 397, 1, 397, 1, 397, 3, 397, 7594, 8, 397, 1, 397, 3, 397, 7597, 8, 397, - 1, 397, 1, 397, 3, 397, 7601, 8, 397, 1, 397, 3, 397, 7604, 8, 397, 1, + 1, 375, 1, 375, 3, 375, 7164, 8, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, + 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 1, 375, 3, + 375, 7305, 8, 375, 1, 376, 1, 376, 1, 376, 1, 376, 3, 376, 7311, 8, 376, + 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 3, 376, 7320, 8, + 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 1, 376, 3, 376, 7328, 8, 376, + 3, 376, 7330, 8, 376, 1, 377, 1, 377, 1, 377, 5, 377, 7335, 8, 377, 10, + 377, 12, 377, 7338, 9, 377, 1, 378, 1, 378, 1, 378, 3, 378, 7343, 8, 378, + 1, 378, 3, 378, 7346, 8, 378, 1, 378, 1, 378, 1, 378, 1, 378, 1, 378, 3, + 378, 7353, 8, 378, 1, 378, 1, 378, 3, 378, 7357, 8, 378, 1, 378, 3, 378, + 7360, 8, 378, 1, 378, 1, 378, 1, 378, 3, 378, 7365, 8, 378, 1, 378, 3, + 378, 7368, 8, 378, 1, 378, 1, 378, 3, 378, 7372, 8, 378, 1, 378, 3, 378, + 7375, 8, 378, 1, 378, 3, 378, 7378, 8, 378, 1, 379, 1, 379, 1, 379, 1, + 379, 1, 379, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, + 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, + 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 1, 380, 3, 380, 7409, + 8, 380, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, 1, 381, + 3, 381, 7419, 8, 381, 1, 382, 1, 382, 1, 382, 5, 382, 7424, 8, 382, 10, + 382, 12, 382, 7427, 9, 382, 1, 383, 1, 383, 1, 384, 1, 384, 1, 384, 1, + 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, + 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 3, 384, 7449, 8, 384, 1, 384, + 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 3, 384, 7458, 8, 384, 1, + 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, + 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 1, 384, 3, 384, 7476, 8, 384, + 1, 385, 1, 385, 1, 385, 1, 385, 3, 385, 7482, 8, 385, 1, 385, 1, 385, 1, + 385, 1, 385, 1, 385, 1, 385, 3, 385, 7490, 8, 385, 3, 385, 7492, 8, 385, + 1, 386, 1, 386, 3, 386, 7496, 8, 386, 1, 386, 1, 386, 1, 386, 1, 386, 1, + 386, 1, 386, 1, 386, 1, 386, 3, 386, 7506, 8, 386, 1, 386, 1, 386, 3, 386, + 7510, 8, 386, 1, 386, 1, 386, 1, 387, 1, 387, 1, 387, 1, 387, 1, 387, 1, + 387, 3, 387, 7520, 8, 387, 1, 388, 3, 388, 7523, 8, 388, 1, 388, 1, 388, + 3, 388, 7527, 8, 388, 5, 388, 7529, 8, 388, 10, 388, 12, 388, 7532, 9, + 388, 1, 389, 1, 389, 1, 389, 1, 389, 1, 389, 3, 389, 7539, 8, 389, 1, 390, + 1, 390, 1, 391, 1, 391, 1, 392, 1, 392, 1, 393, 1, 393, 1, 393, 3, 393, + 7550, 8, 393, 1, 394, 1, 394, 1, 394, 1, 395, 1, 395, 1, 395, 1, 396, 1, + 396, 1, 396, 1, 396, 3, 396, 7562, 8, 396, 1, 397, 1, 397, 3, 397, 7566, + 8, 397, 1, 397, 3, 397, 7569, 8, 397, 1, 397, 1, 397, 3, 397, 7573, 8, + 397, 1, 397, 3, 397, 7576, 8, 397, 1, 397, 1, 397, 1, 397, 3, 397, 7581, + 8, 397, 1, 397, 1, 397, 3, 397, 7585, 8, 397, 1, 397, 3, 397, 7588, 8, + 397, 1, 397, 1, 397, 3, 397, 7592, 8, 397, 1, 397, 3, 397, 7595, 8, 397, + 1, 397, 1, 397, 3, 397, 7599, 8, 397, 1, 397, 3, 397, 7602, 8, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 3, - 397, 7615, 8, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 3, 397, 7622, + 397, 7613, 8, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 3, 397, 7620, 8, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, 1, 397, - 1, 397, 1, 397, 1, 397, 3, 397, 7635, 8, 397, 1, 398, 1, 398, 1, 399, 1, + 1, 397, 1, 397, 1, 397, 3, 397, 7633, 8, 397, 1, 398, 1, 398, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 1, 399, 3, - 399, 7649, 8, 399, 1, 400, 1, 400, 3, 400, 7653, 8, 400, 1, 400, 5, 400, - 7656, 8, 400, 10, 400, 12, 400, 7659, 9, 400, 1, 401, 1, 401, 1, 402, 1, - 402, 3, 402, 7665, 8, 402, 1, 402, 1, 402, 1, 403, 1, 403, 1, 403, 3, 403, - 7672, 8, 403, 1, 403, 3, 403, 7675, 8, 403, 1, 403, 1, 403, 1, 403, 3, - 403, 7680, 8, 403, 1, 403, 3, 403, 7683, 8, 403, 1, 403, 1, 403, 1, 403, - 1, 403, 1, 403, 1, 403, 1, 403, 3, 403, 7692, 8, 403, 3, 403, 7694, 8, - 403, 1, 403, 1, 403, 1, 403, 3, 403, 7699, 8, 403, 1, 404, 1, 404, 3, 404, - 7703, 8, 404, 1, 404, 1, 404, 1, 404, 1, 405, 1, 405, 1, 405, 1, 406, 1, - 406, 1, 406, 1, 406, 3, 406, 7715, 8, 406, 1, 406, 3, 406, 7718, 8, 406, - 1, 407, 1, 407, 1, 408, 4, 408, 7723, 8, 408, 11, 408, 12, 408, 7724, 1, - 409, 1, 409, 3, 409, 7729, 8, 409, 1, 409, 1, 409, 1, 409, 3, 409, 7734, + 399, 7647, 8, 399, 1, 400, 1, 400, 3, 400, 7651, 8, 400, 1, 400, 5, 400, + 7654, 8, 400, 10, 400, 12, 400, 7657, 9, 400, 1, 401, 1, 401, 1, 402, 1, + 402, 3, 402, 7663, 8, 402, 1, 402, 1, 402, 1, 403, 1, 403, 1, 403, 3, 403, + 7670, 8, 403, 1, 403, 3, 403, 7673, 8, 403, 1, 403, 1, 403, 1, 403, 3, + 403, 7678, 8, 403, 1, 403, 3, 403, 7681, 8, 403, 1, 403, 1, 403, 1, 403, + 1, 403, 1, 403, 1, 403, 1, 403, 3, 403, 7690, 8, 403, 3, 403, 7692, 8, + 403, 1, 403, 1, 403, 1, 403, 3, 403, 7697, 8, 403, 1, 404, 1, 404, 3, 404, + 7701, 8, 404, 1, 404, 1, 404, 1, 404, 1, 405, 1, 405, 1, 405, 1, 406, 1, + 406, 1, 406, 1, 406, 3, 406, 7713, 8, 406, 1, 406, 3, 406, 7716, 8, 406, + 1, 407, 1, 407, 1, 408, 4, 408, 7721, 8, 408, 11, 408, 12, 408, 7722, 1, + 409, 1, 409, 3, 409, 7727, 8, 409, 1, 409, 1, 409, 1, 409, 3, 409, 7732, 8, 409, 1, 410, 1, 410, 1, 410, 1, 410, 1, 410, 1, 410, 1, 410, 1, 410, - 3, 410, 7744, 8, 410, 1, 411, 1, 411, 1, 412, 1, 412, 1, 412, 1, 412, 1, - 412, 3, 412, 7753, 8, 412, 1, 412, 3, 412, 7756, 8, 412, 1, 412, 1, 412, - 1, 412, 1, 412, 1, 412, 1, 412, 3, 412, 7764, 8, 412, 1, 413, 1, 413, 1, - 413, 1, 413, 1, 413, 1, 414, 1, 414, 1, 414, 1, 414, 3, 414, 7775, 8, 414, - 1, 414, 1, 414, 3, 414, 7779, 8, 414, 1, 414, 1, 414, 1, 414, 1, 414, 3, - 414, 7785, 8, 414, 1, 415, 1, 415, 1, 415, 5, 415, 7790, 8, 415, 10, 415, - 12, 415, 7793, 9, 415, 1, 416, 1, 416, 1, 417, 1, 417, 1, 417, 1, 417, + 3, 410, 7742, 8, 410, 1, 411, 1, 411, 1, 412, 1, 412, 1, 412, 1, 412, 1, + 412, 3, 412, 7751, 8, 412, 1, 412, 3, 412, 7754, 8, 412, 1, 412, 1, 412, + 1, 412, 1, 412, 1, 412, 1, 412, 3, 412, 7762, 8, 412, 1, 413, 1, 413, 1, + 413, 1, 413, 1, 413, 1, 414, 1, 414, 1, 414, 1, 414, 3, 414, 7773, 8, 414, + 1, 414, 1, 414, 3, 414, 7777, 8, 414, 1, 414, 1, 414, 1, 414, 1, 414, 3, + 414, 7783, 8, 414, 1, 415, 1, 415, 1, 415, 5, 415, 7788, 8, 415, 10, 415, + 12, 415, 7791, 9, 415, 1, 416, 1, 416, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 417, 1, 418, 1, 418, 1, 418, 1, 418, 1, 418, 1, 419, 1, 419, - 1, 419, 1, 419, 3, 419, 7812, 8, 419, 1, 419, 1, 419, 1, 419, 1, 420, 1, + 1, 419, 1, 419, 3, 419, 7810, 8, 419, 1, 419, 1, 419, 1, 419, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, - 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 3, 420, 7833, 8, 420, 1, 420, - 1, 420, 3, 420, 7837, 8, 420, 1, 420, 1, 420, 1, 420, 3, 420, 7842, 8, + 420, 1, 420, 1, 420, 1, 420, 1, 420, 1, 420, 3, 420, 7831, 8, 420, 1, 420, + 1, 420, 3, 420, 7835, 8, 420, 1, 420, 1, 420, 1, 420, 3, 420, 7840, 8, 420, 1, 421, 1, 421, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 422, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, @@ -1382,846 +1346,863 @@ func postgresqlparserParserInit() { 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, 423, 1, - 423, 3, 423, 7925, 8, 423, 1, 424, 1, 424, 1, 425, 1, 425, 3, 425, 7931, + 423, 3, 423, 7923, 8, 423, 1, 424, 1, 424, 1, 425, 1, 425, 3, 425, 7929, 8, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, 1, 425, - 1, 425, 1, 426, 1, 426, 3, 426, 7944, 8, 426, 1, 426, 1, 426, 3, 426, 7948, - 8, 426, 1, 426, 1, 426, 3, 426, 7952, 8, 426, 1, 426, 1, 426, 3, 426, 7956, - 8, 426, 1, 426, 1, 426, 1, 426, 1, 426, 3, 426, 7962, 8, 426, 1, 427, 1, - 427, 1, 427, 1, 428, 1, 428, 3, 428, 7969, 8, 428, 1, 428, 3, 428, 7972, - 8, 428, 1, 428, 3, 428, 7975, 8, 428, 1, 428, 3, 428, 7978, 8, 428, 1, - 428, 3, 428, 7981, 8, 428, 1, 428, 1, 428, 1, 428, 1, 428, 1, 428, 3, 428, - 7988, 8, 428, 3, 428, 7990, 8, 428, 1, 429, 1, 429, 3, 429, 7994, 8, 429, - 1, 429, 3, 429, 7997, 8, 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 429, 3, - 429, 8004, 8, 429, 3, 429, 8006, 8, 429, 1, 430, 1, 430, 1, 430, 5, 430, - 8011, 8, 430, 10, 430, 12, 430, 8014, 9, 430, 1, 431, 1, 431, 1, 432, 1, - 432, 3, 432, 8020, 8, 432, 1, 433, 1, 433, 3, 433, 8024, 8, 433, 1, 434, - 1, 434, 3, 434, 8028, 8, 434, 1, 435, 1, 435, 1, 436, 1, 436, 1, 437, 1, + 1, 425, 1, 426, 1, 426, 3, 426, 7942, 8, 426, 1, 426, 1, 426, 3, 426, 7946, + 8, 426, 1, 426, 1, 426, 3, 426, 7950, 8, 426, 1, 426, 1, 426, 3, 426, 7954, + 8, 426, 1, 426, 1, 426, 1, 426, 1, 426, 3, 426, 7960, 8, 426, 1, 427, 1, + 427, 1, 427, 1, 428, 1, 428, 3, 428, 7967, 8, 428, 1, 428, 3, 428, 7970, + 8, 428, 1, 428, 3, 428, 7973, 8, 428, 1, 428, 3, 428, 7976, 8, 428, 1, + 428, 3, 428, 7979, 8, 428, 1, 428, 1, 428, 1, 428, 1, 428, 1, 428, 3, 428, + 7986, 8, 428, 3, 428, 7988, 8, 428, 1, 429, 1, 429, 3, 429, 7992, 8, 429, + 1, 429, 3, 429, 7995, 8, 429, 1, 429, 1, 429, 1, 429, 1, 429, 1, 429, 3, + 429, 8002, 8, 429, 3, 429, 8004, 8, 429, 1, 430, 1, 430, 1, 430, 5, 430, + 8009, 8, 430, 10, 430, 12, 430, 8012, 9, 430, 1, 431, 1, 431, 1, 432, 1, + 432, 3, 432, 8018, 8, 432, 1, 433, 1, 433, 3, 433, 8022, 8, 433, 1, 434, + 1, 434, 3, 434, 8026, 8, 434, 1, 435, 1, 435, 1, 436, 1, 436, 1, 437, 1, 437, 1, 438, 1, 438, 1, 439, 1, 439, 1, 439, 1, 439, 1, 440, 1, 440, 3, - 440, 8044, 8, 440, 1, 441, 1, 441, 1, 441, 5, 441, 8049, 8, 441, 10, 441, - 12, 441, 8052, 9, 441, 1, 442, 1, 442, 1, 443, 1, 443, 1, 443, 1, 443, - 1, 443, 3, 443, 8061, 8, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, - 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 3, 443, 8074, 8, 443, 1, 444, + 440, 8042, 8, 440, 1, 441, 1, 441, 1, 441, 5, 441, 8047, 8, 441, 10, 441, + 12, 441, 8050, 9, 441, 1, 442, 1, 442, 1, 443, 1, 443, 1, 443, 1, 443, + 1, 443, 3, 443, 8059, 8, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, + 443, 1, 443, 1, 443, 1, 443, 1, 443, 1, 443, 3, 443, 8072, 8, 443, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 1, 444, 3, 444, - 8085, 8, 444, 1, 445, 1, 445, 1, 445, 5, 445, 8090, 8, 445, 10, 445, 12, - 445, 8093, 9, 445, 1, 446, 1, 446, 3, 446, 8097, 8, 446, 1, 447, 1, 447, - 3, 447, 8101, 8, 447, 1, 448, 1, 448, 3, 448, 8105, 8, 448, 1, 449, 1, - 449, 1, 449, 3, 449, 8110, 8, 449, 1, 449, 1, 449, 1, 449, 1, 450, 1, 450, - 1, 450, 1, 450, 1, 451, 1, 451, 1, 451, 1, 451, 1, 451, 3, 451, 8124, 8, - 451, 1, 452, 1, 452, 1, 452, 3, 452, 8129, 8, 452, 1, 452, 1, 452, 3, 452, - 8133, 8, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 3, 452, 8141, - 8, 452, 1, 452, 3, 452, 8144, 8, 452, 1, 452, 1, 452, 3, 452, 8148, 8, + 8083, 8, 444, 1, 445, 1, 445, 1, 445, 5, 445, 8088, 8, 445, 10, 445, 12, + 445, 8091, 9, 445, 1, 446, 1, 446, 3, 446, 8095, 8, 446, 1, 447, 1, 447, + 3, 447, 8099, 8, 447, 1, 448, 1, 448, 3, 448, 8103, 8, 448, 1, 449, 1, + 449, 1, 449, 3, 449, 8108, 8, 449, 1, 449, 1, 449, 1, 449, 1, 450, 1, 450, + 1, 450, 1, 450, 1, 451, 1, 451, 1, 451, 1, 451, 1, 451, 3, 451, 8122, 8, + 451, 1, 452, 1, 452, 1, 452, 3, 452, 8127, 8, 452, 1, 452, 1, 452, 3, 452, + 8131, 8, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 3, 452, 8139, + 8, 452, 1, 452, 3, 452, 8142, 8, 452, 1, 452, 1, 452, 3, 452, 8146, 8, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, 452, 1, - 452, 3, 452, 8159, 8, 452, 1, 452, 3, 452, 8162, 8, 452, 3, 452, 8164, + 452, 3, 452, 8157, 8, 452, 1, 452, 3, 452, 8160, 8, 452, 3, 452, 8162, 8, 452, 1, 453, 1, 453, 1, 453, 1, 453, 1, 454, 1, 454, 1, 454, 1, 454, - 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 3, 454, 8180, 8, 454, 1, - 455, 3, 455, 8183, 8, 455, 1, 455, 1, 455, 1, 455, 1, 455, 1, 455, 3, 455, - 8190, 8, 455, 1, 455, 3, 455, 8193, 8, 455, 1, 456, 1, 456, 1, 456, 3, - 456, 8198, 8, 456, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, - 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 3, 457, 8213, 8, 457, 1, - 457, 1, 457, 1, 457, 1, 457, 3, 457, 8219, 8, 457, 1, 458, 1, 458, 1, 459, - 1, 459, 1, 459, 5, 459, 8226, 8, 459, 10, 459, 12, 459, 8229, 9, 459, 1, - 460, 1, 460, 1, 460, 1, 461, 1, 461, 1, 461, 3, 461, 8237, 8, 461, 1, 461, - 1, 461, 1, 461, 1, 461, 1, 461, 3, 461, 8244, 8, 461, 1, 461, 3, 461, 8247, - 8, 461, 1, 462, 1, 462, 1, 462, 1, 462, 3, 462, 8253, 8, 462, 1, 462, 1, - 462, 1, 462, 3, 462, 8258, 8, 462, 1, 463, 1, 463, 1, 463, 1, 464, 3, 464, - 8264, 8, 464, 1, 464, 1, 464, 1, 464, 3, 464, 8269, 8, 464, 1, 464, 1, - 464, 3, 464, 8273, 8, 464, 1, 464, 1, 464, 1, 464, 3, 464, 8278, 8, 464, - 1, 464, 3, 464, 8281, 8, 464, 1, 464, 1, 464, 1, 464, 1, 464, 3, 464, 8287, - 8, 464, 1, 464, 1, 464, 3, 464, 8291, 8, 464, 3, 464, 8293, 8, 464, 1, - 464, 3, 464, 8296, 8, 464, 1, 465, 1, 465, 1, 465, 1, 465, 1, 465, 3, 465, - 8303, 8, 465, 1, 465, 3, 465, 8306, 8, 465, 1, 465, 1, 465, 1, 465, 1, - 465, 1, 465, 3, 465, 8313, 8, 465, 1, 465, 1, 465, 1, 466, 1, 466, 1, 466, - 1, 466, 3, 466, 8321, 8, 466, 1, 466, 3, 466, 8324, 8, 466, 1, 466, 1, - 466, 1, 466, 1, 466, 1, 467, 1, 467, 1, 467, 3, 467, 8333, 8, 467, 1, 467, - 1, 467, 1, 468, 3, 468, 8338, 8, 468, 1, 468, 1, 468, 1, 468, 1, 468, 3, - 468, 8344, 8, 468, 1, 468, 3, 468, 8347, 8, 468, 1, 468, 3, 468, 8350, - 8, 468, 1, 469, 1, 469, 1, 469, 1, 470, 1, 470, 3, 470, 8357, 8, 470, 1, - 470, 1, 470, 3, 470, 8361, 8, 470, 1, 470, 3, 470, 8364, 8, 470, 1, 471, + 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 1, 454, 3, 454, 8178, 8, 454, 1, + 455, 3, 455, 8181, 8, 455, 1, 455, 1, 455, 1, 455, 1, 455, 1, 455, 3, 455, + 8188, 8, 455, 1, 455, 3, 455, 8191, 8, 455, 1, 456, 1, 456, 1, 456, 3, + 456, 8196, 8, 456, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, + 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 1, 457, 3, 457, 8211, 8, 457, 1, + 457, 1, 457, 1, 457, 1, 457, 3, 457, 8217, 8, 457, 1, 458, 1, 458, 1, 459, + 1, 459, 1, 459, 5, 459, 8224, 8, 459, 10, 459, 12, 459, 8227, 9, 459, 1, + 460, 1, 460, 1, 460, 1, 461, 1, 461, 1, 461, 3, 461, 8235, 8, 461, 1, 461, + 1, 461, 1, 461, 1, 461, 1, 461, 3, 461, 8242, 8, 461, 1, 461, 3, 461, 8245, + 8, 461, 1, 462, 1, 462, 1, 462, 1, 462, 3, 462, 8251, 8, 462, 1, 462, 1, + 462, 1, 462, 3, 462, 8256, 8, 462, 1, 463, 1, 463, 1, 463, 1, 464, 3, 464, + 8262, 8, 464, 1, 464, 1, 464, 1, 464, 3, 464, 8267, 8, 464, 1, 464, 1, + 464, 3, 464, 8271, 8, 464, 1, 464, 1, 464, 1, 464, 3, 464, 8276, 8, 464, + 1, 464, 3, 464, 8279, 8, 464, 1, 464, 1, 464, 1, 464, 1, 464, 3, 464, 8285, + 8, 464, 1, 464, 1, 464, 3, 464, 8289, 8, 464, 3, 464, 8291, 8, 464, 1, + 464, 3, 464, 8294, 8, 464, 1, 465, 1, 465, 1, 465, 1, 465, 1, 465, 3, 465, + 8301, 8, 465, 1, 465, 3, 465, 8304, 8, 465, 1, 465, 1, 465, 1, 465, 1, + 465, 1, 465, 3, 465, 8311, 8, 465, 1, 465, 1, 465, 1, 466, 1, 466, 1, 466, + 1, 466, 3, 466, 8319, 8, 466, 1, 466, 3, 466, 8322, 8, 466, 1, 466, 1, + 466, 1, 466, 1, 466, 1, 467, 1, 467, 1, 467, 3, 467, 8331, 8, 467, 1, 467, + 1, 467, 1, 468, 3, 468, 8336, 8, 468, 1, 468, 1, 468, 1, 468, 1, 468, 3, + 468, 8342, 8, 468, 1, 468, 3, 468, 8345, 8, 468, 1, 468, 3, 468, 8348, + 8, 468, 1, 469, 1, 469, 1, 469, 1, 470, 1, 470, 3, 470, 8355, 8, 470, 1, + 470, 1, 470, 3, 470, 8359, 8, 470, 1, 470, 3, 470, 8362, 8, 470, 1, 471, 1, 471, 1, 471, 1, 471, 1, 472, 1, 472, 1, 472, 1, 472, 1, 472, 1, 472, - 1, 472, 1, 472, 1, 472, 3, 472, 8379, 8, 472, 1, 472, 3, 472, 8382, 8, - 472, 1, 473, 1, 473, 1, 474, 1, 474, 1, 474, 3, 474, 8389, 8, 474, 1, 475, - 3, 475, 8392, 8, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 3, 475, 8399, - 8, 475, 1, 475, 3, 475, 8402, 8, 475, 1, 475, 3, 475, 8405, 8, 475, 1, - 476, 1, 476, 1, 476, 5, 476, 8410, 8, 476, 10, 476, 12, 476, 8413, 9, 476, + 1, 472, 1, 472, 1, 472, 3, 472, 8377, 8, 472, 1, 472, 3, 472, 8380, 8, + 472, 1, 473, 1, 473, 1, 474, 1, 474, 1, 474, 3, 474, 8387, 8, 474, 1, 475, + 3, 475, 8390, 8, 475, 1, 475, 1, 475, 1, 475, 1, 475, 1, 475, 3, 475, 8397, + 8, 475, 1, 475, 3, 475, 8400, 8, 475, 1, 475, 3, 475, 8403, 8, 475, 1, + 476, 1, 476, 1, 476, 5, 476, 8408, 8, 476, 10, 476, 12, 476, 8411, 9, 476, 1, 477, 1, 477, 1, 477, 1, 477, 1, 477, 1, 477, 1, 477, 1, 477, 1, 477, - 1, 477, 3, 477, 8425, 8, 477, 1, 478, 1, 478, 1, 478, 1, 479, 1, 479, 1, - 479, 5, 479, 8433, 8, 479, 10, 479, 12, 479, 8436, 9, 479, 1, 480, 1, 480, - 1, 480, 1, 480, 1, 480, 3, 480, 8443, 8, 480, 1, 480, 1, 480, 1, 480, 1, - 481, 1, 481, 1, 482, 1, 482, 1, 482, 1, 482, 1, 482, 5, 482, 8455, 8, 482, - 10, 482, 12, 482, 8458, 9, 482, 1, 483, 1, 483, 1, 483, 1, 483, 3, 483, - 8464, 8, 483, 1, 484, 1, 484, 3, 484, 8468, 8, 484, 1, 485, 1, 485, 1, - 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 3, 485, 8478, 8, 485, 1, 486, - 3, 486, 8481, 8, 486, 1, 486, 1, 486, 3, 486, 8485, 8, 486, 1, 486, 1, - 486, 3, 486, 8489, 8, 486, 1, 486, 1, 486, 3, 486, 8493, 8, 486, 3, 486, - 8495, 8, 486, 1, 487, 1, 487, 1, 487, 3, 487, 8500, 8, 487, 1, 487, 5, - 487, 8503, 8, 487, 10, 487, 12, 487, 8506, 9, 487, 1, 488, 1, 488, 1, 488, - 3, 488, 8511, 8, 488, 1, 488, 5, 488, 8514, 8, 488, 10, 488, 12, 488, 8517, - 9, 488, 1, 489, 1, 489, 3, 489, 8521, 8, 489, 1, 489, 3, 489, 8524, 8, - 489, 1, 489, 3, 489, 8527, 8, 489, 1, 489, 1, 489, 1, 489, 3, 489, 8532, - 8, 489, 1, 489, 3, 489, 8535, 8, 489, 1, 489, 3, 489, 8538, 8, 489, 1, - 489, 3, 489, 8541, 8, 489, 1, 489, 3, 489, 8544, 8, 489, 1, 489, 3, 489, - 8547, 8, 489, 1, 489, 3, 489, 8550, 8, 489, 1, 489, 1, 489, 1, 489, 1, - 489, 3, 489, 8556, 8, 489, 1, 490, 1, 490, 3, 490, 8560, 8, 490, 1, 490, - 1, 490, 1, 491, 1, 491, 1, 491, 5, 491, 8567, 8, 491, 10, 491, 12, 491, - 8570, 9, 491, 1, 492, 1, 492, 3, 492, 8574, 8, 492, 1, 492, 1, 492, 3, - 492, 8578, 8, 492, 1, 492, 1, 492, 1, 492, 1, 492, 1, 493, 1, 493, 1, 493, - 3, 493, 8587, 8, 493, 1, 494, 1, 494, 1, 495, 1, 495, 3, 495, 8593, 8, - 495, 1, 495, 1, 495, 3, 495, 8597, 8, 495, 1, 496, 1, 496, 1, 497, 3, 497, - 8602, 8, 497, 1, 497, 1, 497, 3, 497, 8606, 8, 497, 1, 497, 1, 497, 1, - 497, 3, 497, 8611, 8, 497, 1, 497, 1, 497, 1, 497, 1, 497, 3, 497, 8617, + 1, 477, 3, 477, 8423, 8, 477, 1, 478, 1, 478, 1, 478, 1, 479, 1, 479, 1, + 479, 5, 479, 8431, 8, 479, 10, 479, 12, 479, 8434, 9, 479, 1, 480, 1, 480, + 1, 480, 1, 480, 1, 480, 3, 480, 8441, 8, 480, 1, 480, 1, 480, 1, 480, 1, + 481, 1, 481, 1, 482, 1, 482, 1, 482, 1, 482, 1, 482, 5, 482, 8453, 8, 482, + 10, 482, 12, 482, 8456, 9, 482, 1, 483, 1, 483, 1, 483, 1, 483, 3, 483, + 8462, 8, 483, 1, 484, 1, 484, 3, 484, 8466, 8, 484, 1, 485, 1, 485, 1, + 485, 1, 485, 1, 485, 1, 485, 1, 485, 1, 485, 3, 485, 8476, 8, 485, 1, 486, + 3, 486, 8479, 8, 486, 1, 486, 1, 486, 3, 486, 8483, 8, 486, 1, 486, 1, + 486, 3, 486, 8487, 8, 486, 1, 486, 1, 486, 3, 486, 8491, 8, 486, 3, 486, + 8493, 8, 486, 1, 487, 1, 487, 1, 487, 3, 487, 8498, 8, 487, 1, 487, 5, + 487, 8501, 8, 487, 10, 487, 12, 487, 8504, 9, 487, 1, 488, 1, 488, 1, 488, + 3, 488, 8509, 8, 488, 1, 488, 5, 488, 8512, 8, 488, 10, 488, 12, 488, 8515, + 9, 488, 1, 489, 1, 489, 3, 489, 8519, 8, 489, 1, 489, 3, 489, 8522, 8, + 489, 1, 489, 3, 489, 8525, 8, 489, 1, 489, 1, 489, 1, 489, 3, 489, 8530, + 8, 489, 1, 489, 3, 489, 8533, 8, 489, 1, 489, 3, 489, 8536, 8, 489, 1, + 489, 3, 489, 8539, 8, 489, 1, 489, 3, 489, 8542, 8, 489, 1, 489, 3, 489, + 8545, 8, 489, 1, 489, 3, 489, 8548, 8, 489, 1, 489, 1, 489, 1, 489, 1, + 489, 3, 489, 8554, 8, 489, 1, 490, 1, 490, 3, 490, 8558, 8, 490, 1, 490, + 1, 490, 1, 491, 1, 491, 1, 491, 5, 491, 8565, 8, 491, 10, 491, 12, 491, + 8568, 9, 491, 1, 492, 1, 492, 3, 492, 8572, 8, 492, 1, 492, 1, 492, 3, + 492, 8576, 8, 492, 1, 492, 1, 492, 1, 492, 1, 492, 1, 493, 1, 493, 1, 493, + 3, 493, 8585, 8, 493, 1, 494, 1, 494, 1, 495, 1, 495, 3, 495, 8591, 8, + 495, 1, 495, 1, 495, 3, 495, 8595, 8, 495, 1, 496, 1, 496, 1, 497, 3, 497, + 8600, 8, 497, 1, 497, 1, 497, 3, 497, 8604, 8, 497, 1, 497, 1, 497, 1, + 497, 3, 497, 8609, 8, 497, 1, 497, 1, 497, 1, 497, 1, 497, 3, 497, 8615, 8, 497, 1, 498, 1, 498, 1, 499, 1, 499, 1, 500, 1, 500, 1, 500, 1, 500, - 1, 500, 1, 500, 3, 500, 8629, 8, 500, 1, 501, 1, 501, 1, 502, 1, 502, 1, - 503, 1, 503, 1, 503, 1, 503, 1, 504, 1, 504, 1, 504, 5, 504, 8642, 8, 504, - 10, 504, 12, 504, 8645, 9, 504, 1, 505, 1, 505, 1, 505, 1, 505, 3, 505, - 8651, 8, 505, 3, 505, 8653, 8, 505, 1, 505, 3, 505, 8656, 8, 505, 1, 506, - 1, 506, 3, 506, 8660, 8, 506, 1, 506, 1, 506, 3, 506, 8664, 8, 506, 3, - 506, 8666, 8, 506, 1, 507, 1, 507, 1, 508, 1, 508, 1, 508, 1, 508, 3, 508, - 8674, 8, 508, 1, 508, 1, 508, 1, 508, 1, 508, 1, 508, 1, 508, 1, 508, 3, - 508, 8683, 8, 508, 1, 508, 1, 508, 1, 508, 1, 508, 3, 508, 8689, 8, 508, - 3, 508, 8691, 8, 508, 3, 508, 8693, 8, 508, 1, 509, 1, 509, 1, 509, 1, - 509, 1, 509, 3, 509, 8700, 8, 509, 1, 510, 1, 510, 3, 510, 8704, 8, 510, - 1, 511, 1, 511, 1, 512, 1, 512, 1, 512, 1, 512, 1, 512, 3, 512, 8713, 8, - 512, 1, 513, 1, 513, 3, 513, 8717, 8, 513, 1, 514, 1, 514, 1, 515, 1, 515, - 1, 516, 1, 516, 1, 516, 1, 516, 1, 517, 1, 517, 1, 517, 5, 517, 8730, 8, - 517, 10, 517, 12, 517, 8733, 9, 517, 1, 518, 1, 518, 1, 518, 1, 518, 1, - 518, 3, 518, 8740, 8, 518, 1, 519, 1, 519, 1, 519, 1, 520, 1, 520, 1, 520, + 1, 500, 1, 500, 3, 500, 8627, 8, 500, 1, 501, 1, 501, 1, 502, 1, 502, 1, + 503, 1, 503, 1, 503, 1, 503, 1, 504, 1, 504, 1, 504, 5, 504, 8640, 8, 504, + 10, 504, 12, 504, 8643, 9, 504, 1, 505, 1, 505, 1, 505, 1, 505, 3, 505, + 8649, 8, 505, 3, 505, 8651, 8, 505, 1, 505, 3, 505, 8654, 8, 505, 1, 506, + 1, 506, 3, 506, 8658, 8, 506, 1, 506, 1, 506, 3, 506, 8662, 8, 506, 3, + 506, 8664, 8, 506, 1, 507, 1, 507, 1, 508, 1, 508, 1, 508, 1, 508, 3, 508, + 8672, 8, 508, 1, 508, 1, 508, 1, 508, 1, 508, 1, 508, 1, 508, 1, 508, 3, + 508, 8681, 8, 508, 1, 508, 1, 508, 1, 508, 1, 508, 3, 508, 8687, 8, 508, + 3, 508, 8689, 8, 508, 3, 508, 8691, 8, 508, 1, 509, 1, 509, 1, 509, 1, + 509, 1, 509, 3, 509, 8698, 8, 509, 1, 510, 1, 510, 3, 510, 8702, 8, 510, + 1, 511, 1, 511, 1, 512, 1, 512, 1, 512, 1, 512, 1, 512, 3, 512, 8711, 8, + 512, 1, 513, 1, 513, 3, 513, 8715, 8, 513, 1, 514, 1, 514, 1, 515, 1, 515, + 1, 516, 1, 516, 1, 516, 1, 516, 1, 517, 1, 517, 1, 517, 5, 517, 8728, 8, + 517, 10, 517, 12, 517, 8731, 9, 517, 1, 518, 1, 518, 1, 518, 1, 518, 1, + 518, 3, 518, 8738, 8, 518, 1, 519, 1, 519, 1, 519, 1, 520, 1, 520, 1, 520, 1, 520, 1, 520, 1, 521, 1, 521, 1, 521, 1, 521, 1, 521, 1, 522, 1, 522, 1, 522, 1, 522, 1, 522, 1, 522, 1, 523, 1, 523, 1, 523, 1, 524, 1, 524, - 1, 524, 1, 524, 3, 524, 8768, 8, 524, 1, 525, 1, 525, 1, 526, 4, 526, 8773, - 8, 526, 11, 526, 12, 526, 8774, 1, 527, 1, 527, 3, 527, 8779, 8, 527, 1, - 527, 3, 527, 8782, 8, 527, 1, 528, 1, 528, 1, 528, 3, 528, 8787, 8, 528, - 1, 528, 1, 528, 3, 528, 8791, 8, 528, 1, 528, 3, 528, 8794, 8, 528, 1, + 1, 524, 1, 524, 3, 524, 8766, 8, 524, 1, 525, 1, 525, 1, 526, 4, 526, 8771, + 8, 526, 11, 526, 12, 526, 8772, 1, 527, 1, 527, 3, 527, 8777, 8, 527, 1, + 527, 3, 527, 8780, 8, 527, 1, 528, 1, 528, 1, 528, 3, 528, 8785, 8, 528, + 1, 528, 1, 528, 3, 528, 8789, 8, 528, 1, 528, 3, 528, 8792, 8, 528, 1, 529, 1, 529, 1, 529, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, 530, 1, - 530, 1, 530, 1, 530, 5, 530, 8808, 8, 530, 10, 530, 12, 530, 8811, 9, 530, - 1, 531, 1, 531, 1, 531, 1, 532, 1, 532, 1, 532, 5, 532, 8819, 8, 532, 10, - 532, 12, 532, 8822, 9, 532, 1, 533, 1, 533, 3, 533, 8826, 8, 533, 1, 533, - 3, 533, 8829, 8, 533, 1, 533, 1, 533, 3, 533, 8833, 8, 533, 1, 533, 1, - 533, 3, 533, 8837, 8, 533, 1, 533, 1, 533, 3, 533, 8841, 8, 533, 1, 533, - 1, 533, 1, 533, 3, 533, 8846, 8, 533, 1, 533, 1, 533, 3, 533, 8850, 8, - 533, 1, 533, 1, 533, 3, 533, 8854, 8, 533, 3, 533, 8856, 8, 533, 1, 533, - 1, 533, 1, 533, 3, 533, 8861, 8, 533, 1, 533, 1, 533, 3, 533, 8865, 8, - 533, 3, 533, 8867, 8, 533, 1, 533, 5, 533, 8870, 8, 533, 10, 533, 12, 533, - 8873, 9, 533, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 3, 534, 8880, 8, - 534, 1, 534, 1, 534, 1, 534, 3, 534, 8885, 8, 534, 1, 534, 1, 534, 1, 534, - 1, 534, 3, 534, 8891, 8, 534, 1, 535, 3, 535, 8894, 8, 535, 1, 535, 1, - 535, 1, 535, 1, 535, 1, 535, 3, 535, 8901, 8, 535, 1, 536, 1, 536, 1, 537, - 3, 537, 8906, 8, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 3, 537, 8913, - 8, 537, 1, 538, 1, 538, 1, 538, 3, 538, 8918, 8, 538, 1, 538, 3, 538, 8921, - 8, 538, 1, 538, 1, 538, 1, 538, 1, 538, 3, 538, 8927, 8, 538, 1, 539, 1, - 539, 3, 539, 8931, 8, 539, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, - 1, 540, 3, 540, 8940, 8, 540, 1, 541, 1, 541, 3, 541, 8944, 8, 541, 1, - 541, 1, 541, 1, 541, 1, 541, 1, 541, 1, 541, 3, 541, 8952, 8, 541, 3, 541, - 8954, 8, 541, 1, 542, 1, 542, 1, 542, 5, 542, 8959, 8, 542, 10, 542, 12, - 542, 8962, 9, 542, 1, 543, 1, 543, 3, 543, 8966, 8, 543, 1, 543, 3, 543, - 8969, 8, 543, 1, 544, 1, 544, 1, 544, 1, 544, 1, 544, 1, 544, 3, 544, 8977, + 530, 1, 530, 1, 530, 5, 530, 8806, 8, 530, 10, 530, 12, 530, 8809, 9, 530, + 1, 531, 1, 531, 1, 531, 1, 532, 1, 532, 1, 532, 5, 532, 8817, 8, 532, 10, + 532, 12, 532, 8820, 9, 532, 1, 533, 1, 533, 3, 533, 8824, 8, 533, 1, 533, + 3, 533, 8827, 8, 533, 1, 533, 1, 533, 3, 533, 8831, 8, 533, 1, 533, 1, + 533, 3, 533, 8835, 8, 533, 1, 533, 1, 533, 3, 533, 8839, 8, 533, 1, 533, + 1, 533, 1, 533, 3, 533, 8844, 8, 533, 1, 533, 1, 533, 3, 533, 8848, 8, + 533, 1, 533, 1, 533, 3, 533, 8852, 8, 533, 3, 533, 8854, 8, 533, 1, 533, + 1, 533, 1, 533, 3, 533, 8859, 8, 533, 1, 533, 1, 533, 3, 533, 8863, 8, + 533, 3, 533, 8865, 8, 533, 1, 533, 5, 533, 8868, 8, 533, 10, 533, 12, 533, + 8871, 9, 533, 1, 534, 1, 534, 1, 534, 1, 534, 1, 534, 3, 534, 8878, 8, + 534, 1, 534, 1, 534, 1, 534, 3, 534, 8883, 8, 534, 1, 534, 1, 534, 1, 534, + 1, 534, 3, 534, 8889, 8, 534, 1, 535, 3, 535, 8892, 8, 535, 1, 535, 1, + 535, 1, 535, 1, 535, 1, 535, 3, 535, 8899, 8, 535, 1, 536, 1, 536, 1, 537, + 3, 537, 8904, 8, 537, 1, 537, 1, 537, 1, 537, 1, 537, 1, 537, 3, 537, 8911, + 8, 537, 1, 538, 1, 538, 1, 538, 3, 538, 8916, 8, 538, 1, 538, 3, 538, 8919, + 8, 538, 1, 538, 1, 538, 1, 538, 1, 538, 3, 538, 8925, 8, 538, 1, 539, 1, + 539, 3, 539, 8929, 8, 539, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, 1, 540, + 1, 540, 3, 540, 8938, 8, 540, 1, 541, 1, 541, 3, 541, 8942, 8, 541, 1, + 541, 1, 541, 1, 541, 1, 541, 1, 541, 1, 541, 3, 541, 8950, 8, 541, 3, 541, + 8952, 8, 541, 1, 542, 1, 542, 1, 542, 5, 542, 8957, 8, 542, 10, 542, 12, + 542, 8960, 9, 542, 1, 543, 1, 543, 3, 543, 8964, 8, 543, 1, 543, 3, 543, + 8967, 8, 543, 1, 544, 1, 544, 1, 544, 1, 544, 1, 544, 1, 544, 3, 544, 8975, 8, 544, 1, 545, 1, 545, 1, 545, 1, 545, 1, 545, 1, 546, 1, 546, 3, 546, - 8986, 8, 546, 1, 546, 1, 546, 1, 546, 1, 546, 1, 546, 1, 546, 3, 546, 8994, - 8, 546, 3, 546, 8996, 8, 546, 1, 547, 1, 547, 3, 547, 9000, 8, 547, 1, - 548, 1, 548, 1, 548, 5, 548, 9005, 8, 548, 10, 548, 12, 548, 9008, 9, 548, + 8984, 8, 546, 1, 546, 1, 546, 1, 546, 1, 546, 1, 546, 1, 546, 3, 546, 8992, + 8, 546, 3, 546, 8994, 8, 546, 1, 547, 1, 547, 3, 547, 8998, 8, 547, 1, + 548, 1, 548, 1, 548, 5, 548, 9003, 8, 548, 10, 548, 12, 548, 9006, 9, 548, 1, 549, 1, 549, 1, 549, 1, 549, 1, 549, 1, 550, 1, 550, 1, 550, 1, 551, - 1, 551, 1, 551, 1, 552, 1, 552, 1, 552, 1, 552, 1, 552, 3, 552, 9026, 8, - 552, 1, 553, 1, 553, 1, 554, 1, 554, 1, 554, 5, 554, 9033, 8, 554, 10, - 554, 12, 554, 9036, 9, 554, 1, 555, 1, 555, 1, 555, 3, 555, 9041, 8, 555, + 1, 551, 1, 551, 1, 552, 1, 552, 1, 552, 1, 552, 1, 552, 3, 552, 9024, 8, + 552, 1, 553, 1, 553, 1, 554, 1, 554, 1, 554, 5, 554, 9031, 8, 554, 10, + 554, 12, 554, 9034, 9, 554, 1, 555, 1, 555, 1, 555, 3, 555, 9039, 8, 555, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 1, 556, 3, 556, - 9060, 8, 556, 1, 556, 1, 556, 1, 557, 1, 557, 1, 557, 5, 557, 9067, 8, - 557, 10, 557, 12, 557, 9070, 9, 557, 1, 558, 1, 558, 1, 558, 3, 558, 9075, - 8, 558, 1, 558, 1, 558, 3, 558, 9079, 8, 558, 1, 559, 4, 559, 9082, 8, - 559, 11, 559, 12, 559, 9083, 1, 560, 1, 560, 1, 560, 1, 560, 1, 560, 1, - 560, 1, 560, 1, 560, 3, 560, 9094, 8, 560, 1, 561, 1, 561, 1, 561, 5, 561, - 9099, 8, 561, 10, 561, 12, 561, 9102, 9, 561, 1, 562, 1, 562, 1, 562, 1, - 562, 1, 562, 1, 562, 3, 562, 9110, 8, 562, 1, 563, 3, 563, 9113, 8, 563, - 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 3, 563, 9122, 8, - 563, 3, 563, 9124, 8, 563, 1, 563, 1, 563, 1, 563, 1, 563, 3, 563, 9130, - 8, 563, 1, 564, 1, 564, 3, 564, 9134, 8, 564, 1, 564, 5, 564, 9137, 8, - 564, 10, 564, 12, 564, 9140, 9, 564, 1, 565, 1, 565, 1, 565, 1, 565, 1, - 565, 1, 565, 1, 565, 3, 565, 9149, 8, 565, 1, 565, 1, 565, 1, 565, 1, 565, - 3, 565, 9155, 8, 565, 3, 565, 9157, 8, 565, 1, 566, 1, 566, 1, 566, 1, - 566, 3, 566, 9163, 8, 566, 1, 567, 1, 567, 1, 567, 1, 567, 3, 567, 9169, - 8, 567, 1, 567, 3, 567, 9172, 8, 567, 1, 567, 3, 567, 9175, 8, 567, 1, - 568, 1, 568, 1, 568, 1, 568, 1, 569, 1, 569, 1, 569, 1, 569, 1, 569, 1, - 569, 1, 569, 3, 569, 9188, 8, 569, 1, 569, 1, 569, 1, 569, 1, 569, 3, 569, - 9194, 8, 569, 1, 569, 1, 569, 3, 569, 9198, 8, 569, 1, 569, 1, 569, 3, - 569, 9202, 8, 569, 1, 569, 3, 569, 9205, 8, 569, 1, 570, 1, 570, 1, 570, - 1, 570, 1, 571, 1, 571, 3, 571, 9213, 8, 571, 1, 572, 1, 572, 3, 572, 9217, - 8, 572, 1, 573, 1, 573, 3, 573, 9221, 8, 573, 1, 573, 1, 573, 1, 573, 1, - 573, 1, 574, 1, 574, 3, 574, 9229, 8, 574, 1, 575, 1, 575, 1, 575, 1, 575, - 1, 575, 3, 575, 9236, 8, 575, 1, 576, 1, 576, 1, 576, 1, 576, 1, 576, 3, - 576, 9243, 8, 576, 1, 577, 1, 577, 3, 577, 9247, 8, 577, 1, 577, 1, 577, - 1, 577, 1, 577, 3, 577, 9253, 8, 577, 3, 577, 9255, 8, 577, 1, 578, 1, - 578, 1, 579, 1, 579, 1, 579, 1, 579, 1, 579, 3, 579, 9264, 8, 579, 1, 579, - 3, 579, 9267, 8, 579, 1, 580, 1, 580, 1, 581, 1, 581, 1, 581, 1, 581, 1, - 581, 1, 581, 3, 581, 9277, 8, 581, 1, 582, 1, 582, 1, 582, 1, 582, 1, 582, - 1, 582, 1, 582, 1, 582, 1, 582, 1, 582, 1, 582, 1, 582, 1, 582, 1, 582, - 3, 582, 9293, 8, 582, 1, 582, 1, 582, 1, 582, 1, 582, 3, 582, 9299, 8, - 582, 1, 582, 1, 582, 1, 582, 3, 582, 9304, 8, 582, 1, 583, 1, 583, 1, 583, - 1, 583, 1, 583, 3, 583, 9311, 8, 583, 1, 584, 1, 584, 1, 584, 1, 585, 1, - 585, 1, 586, 1, 586, 3, 586, 9320, 8, 586, 1, 587, 1, 587, 1, 587, 5, 587, - 9325, 8, 587, 10, 587, 12, 587, 9328, 9, 587, 1, 588, 1, 588, 1, 588, 5, - 588, 9333, 8, 588, 10, 588, 12, 588, 9336, 9, 588, 1, 589, 1, 589, 1, 589, - 5, 589, 9341, 8, 589, 10, 589, 12, 589, 9344, 9, 589, 1, 590, 1, 590, 3, - 590, 9348, 8, 590, 1, 590, 1, 590, 3, 590, 9352, 8, 590, 1, 590, 1, 590, - 1, 590, 1, 590, 3, 590, 9358, 8, 590, 1, 591, 1, 591, 3, 591, 9362, 8, - 591, 1, 591, 1, 591, 3, 591, 9366, 8, 591, 1, 592, 3, 592, 9369, 8, 592, - 1, 592, 1, 592, 1, 593, 1, 593, 3, 593, 9375, 8, 593, 1, 594, 1, 594, 1, - 594, 3, 594, 9380, 8, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, - 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 1, 594, 3, 594, - 9396, 8, 594, 1, 594, 3, 594, 9399, 8, 594, 3, 594, 9401, 8, 594, 1, 595, + 9058, 8, 556, 1, 556, 1, 556, 1, 557, 1, 557, 1, 557, 5, 557, 9065, 8, + 557, 10, 557, 12, 557, 9068, 9, 557, 1, 558, 1, 558, 1, 558, 3, 558, 9073, + 8, 558, 1, 558, 1, 558, 3, 558, 9077, 8, 558, 1, 559, 4, 559, 9080, 8, + 559, 11, 559, 12, 559, 9081, 1, 560, 1, 560, 1, 560, 1, 560, 1, 560, 1, + 560, 1, 560, 1, 560, 3, 560, 9092, 8, 560, 1, 561, 1, 561, 1, 561, 5, 561, + 9097, 8, 561, 10, 561, 12, 561, 9100, 9, 561, 1, 562, 1, 562, 1, 562, 1, + 562, 1, 562, 1, 562, 3, 562, 9108, 8, 562, 1, 563, 3, 563, 9111, 8, 563, + 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 1, 563, 3, 563, 9120, 8, + 563, 3, 563, 9122, 8, 563, 1, 563, 1, 563, 1, 563, 1, 563, 3, 563, 9128, + 8, 563, 1, 564, 1, 564, 3, 564, 9132, 8, 564, 1, 564, 5, 564, 9135, 8, + 564, 10, 564, 12, 564, 9138, 9, 564, 1, 565, 1, 565, 1, 565, 1, 565, 1, + 565, 1, 565, 1, 565, 3, 565, 9147, 8, 565, 1, 565, 1, 565, 1, 565, 1, 565, + 3, 565, 9153, 8, 565, 1, 565, 3, 565, 9156, 8, 565, 1, 566, 1, 566, 1, + 566, 1, 566, 1, 566, 3, 566, 9163, 8, 566, 1, 567, 1, 567, 1, 567, 3, 567, + 9168, 8, 567, 1, 567, 3, 567, 9171, 8, 567, 1, 567, 3, 567, 9174, 8, 567, + 1, 568, 1, 568, 1, 569, 1, 569, 1, 569, 1, 569, 1, 570, 1, 570, 1, 570, + 1, 570, 1, 570, 1, 570, 1, 570, 3, 570, 9189, 8, 570, 1, 570, 1, 570, 1, + 570, 1, 570, 3, 570, 9195, 8, 570, 1, 570, 1, 570, 3, 570, 9199, 8, 570, + 1, 570, 1, 570, 3, 570, 9203, 8, 570, 1, 570, 3, 570, 9206, 8, 570, 1, + 571, 1, 571, 1, 571, 1, 571, 1, 572, 1, 572, 3, 572, 9214, 8, 572, 1, 573, + 1, 573, 3, 573, 9218, 8, 573, 1, 574, 1, 574, 3, 574, 9222, 8, 574, 1, + 574, 1, 574, 1, 574, 1, 574, 1, 575, 1, 575, 3, 575, 9230, 8, 575, 1, 576, + 1, 576, 1, 576, 1, 576, 1, 576, 3, 576, 9237, 8, 576, 1, 577, 1, 577, 1, + 577, 1, 577, 1, 577, 3, 577, 9244, 8, 577, 1, 578, 1, 578, 3, 578, 9248, + 8, 578, 1, 578, 1, 578, 1, 578, 1, 578, 3, 578, 9254, 8, 578, 3, 578, 9256, + 8, 578, 1, 579, 1, 579, 1, 580, 1, 580, 1, 580, 1, 580, 1, 580, 3, 580, + 9265, 8, 580, 1, 580, 3, 580, 9268, 8, 580, 1, 581, 1, 581, 1, 582, 1, + 582, 1, 582, 1, 582, 1, 582, 1, 582, 3, 582, 9278, 8, 582, 1, 583, 1, 583, + 1, 583, 1, 583, 1, 583, 1, 583, 1, 583, 1, 583, 1, 583, 1, 583, 1, 583, + 1, 583, 1, 583, 1, 583, 3, 583, 9294, 8, 583, 1, 583, 1, 583, 1, 583, 1, + 583, 3, 583, 9300, 8, 583, 1, 583, 1, 583, 1, 583, 3, 583, 9305, 8, 583, + 1, 584, 1, 584, 1, 584, 1, 584, 1, 584, 3, 584, 9312, 8, 584, 1, 585, 1, + 585, 1, 585, 1, 586, 1, 586, 1, 587, 1, 587, 3, 587, 9321, 8, 587, 1, 588, + 1, 588, 1, 588, 5, 588, 9326, 8, 588, 10, 588, 12, 588, 9329, 9, 588, 1, + 589, 1, 589, 1, 589, 5, 589, 9334, 8, 589, 10, 589, 12, 589, 9337, 9, 589, + 1, 590, 1, 590, 1, 590, 5, 590, 9342, 8, 590, 10, 590, 12, 590, 9345, 9, + 590, 1, 591, 1, 591, 3, 591, 9349, 8, 591, 1, 591, 1, 591, 3, 591, 9353, + 8, 591, 1, 591, 1, 591, 1, 591, 1, 591, 3, 591, 9359, 8, 591, 1, 592, 1, + 592, 3, 592, 9363, 8, 592, 1, 592, 1, 592, 3, 592, 9367, 8, 592, 1, 593, + 3, 593, 9370, 8, 593, 1, 593, 1, 593, 1, 594, 1, 594, 3, 594, 9376, 8, + 594, 1, 595, 1, 595, 1, 595, 3, 595, 9381, 8, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, 1, 595, - 3, 595, 9413, 8, 595, 3, 595, 9415, 8, 595, 1, 596, 1, 596, 3, 596, 9419, - 8, 596, 1, 596, 1, 596, 1, 596, 1, 596, 3, 596, 9425, 8, 596, 1, 596, 1, - 596, 3, 596, 9429, 8, 596, 3, 596, 9431, 8, 596, 1, 597, 1, 597, 1, 597, - 1, 597, 5, 597, 9437, 8, 597, 10, 597, 12, 597, 9440, 9, 597, 1, 598, 3, - 598, 9443, 8, 598, 1, 598, 1, 598, 1, 599, 1, 599, 1, 599, 5, 599, 9450, - 8, 599, 10, 599, 12, 599, 9453, 9, 599, 1, 600, 1, 600, 1, 600, 5, 600, - 9458, 8, 600, 10, 600, 12, 600, 9461, 9, 600, 1, 601, 1, 601, 1, 601, 3, - 601, 9466, 8, 601, 1, 602, 3, 602, 9469, 8, 602, 1, 602, 1, 602, 1, 603, - 1, 603, 1, 603, 1, 603, 1, 603, 3, 603, 9478, 8, 603, 1, 604, 1, 604, 1, - 604, 3, 604, 9483, 8, 604, 1, 605, 1, 605, 1, 605, 5, 605, 9488, 8, 605, - 10, 605, 12, 605, 9491, 9, 605, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, - 1, 606, 1, 606, 3, 606, 9500, 8, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, - 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, - 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, - 606, 1, 606, 3, 606, 9526, 8, 606, 1, 606, 1, 606, 1, 606, 1, 606, 1, 606, - 1, 606, 1, 606, 1, 606, 1, 606, 3, 606, 9537, 8, 606, 5, 606, 9539, 8, - 606, 10, 606, 12, 606, 9542, 9, 606, 1, 607, 1, 607, 1, 607, 1, 607, 1, - 607, 3, 607, 9549, 8, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, + 1, 595, 1, 595, 3, 595, 9397, 8, 595, 1, 595, 3, 595, 9400, 8, 595, 3, + 595, 9402, 8, 595, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, 1, 596, + 1, 596, 1, 596, 1, 596, 3, 596, 9414, 8, 596, 3, 596, 9416, 8, 596, 1, + 597, 1, 597, 3, 597, 9420, 8, 597, 1, 597, 1, 597, 1, 597, 1, 597, 3, 597, + 9426, 8, 597, 1, 597, 1, 597, 3, 597, 9430, 8, 597, 3, 597, 9432, 8, 597, + 1, 598, 1, 598, 1, 598, 1, 598, 5, 598, 9438, 8, 598, 10, 598, 12, 598, + 9441, 9, 598, 1, 599, 3, 599, 9444, 8, 599, 1, 599, 1, 599, 1, 600, 1, + 600, 1, 600, 5, 600, 9451, 8, 600, 10, 600, 12, 600, 9454, 9, 600, 1, 601, + 1, 601, 1, 601, 5, 601, 9459, 8, 601, 10, 601, 12, 601, 9462, 9, 601, 1, + 602, 1, 602, 1, 602, 3, 602, 9467, 8, 602, 1, 603, 3, 603, 9470, 8, 603, + 1, 603, 1, 603, 1, 604, 1, 604, 1, 604, 1, 604, 1, 604, 3, 604, 9479, 8, + 604, 1, 605, 1, 605, 1, 605, 3, 605, 9484, 8, 605, 1, 606, 1, 606, 1, 606, + 5, 606, 9489, 8, 606, 10, 606, 12, 606, 9492, 9, 606, 1, 607, 1, 607, 1, + 607, 1, 607, 1, 607, 1, 607, 1, 607, 3, 607, 9501, 8, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, - 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 3, 607, 9572, 8, 607, 1, - 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 3, 607, 9580, 8, 607, 1, 608, - 1, 608, 1, 609, 1, 609, 1, 609, 1, 609, 1, 609, 1, 609, 3, 609, 9590, 8, - 609, 1, 609, 3, 609, 9593, 8, 609, 1, 609, 1, 609, 1, 609, 3, 609, 9598, - 8, 609, 1, 609, 1, 609, 1, 609, 3, 609, 9603, 8, 609, 1, 609, 1, 609, 3, - 609, 9607, 8, 609, 1, 609, 1, 609, 1, 610, 1, 610, 3, 610, 9613, 8, 610, - 1, 610, 3, 610, 9616, 8, 610, 1, 610, 3, 610, 9619, 8, 610, 1, 610, 1, - 610, 3, 610, 9623, 8, 610, 1, 610, 3, 610, 9626, 8, 610, 1, 610, 3, 610, - 9629, 8, 610, 1, 611, 1, 611, 1, 611, 3, 611, 9634, 8, 611, 1, 612, 1, - 612, 1, 612, 1, 612, 3, 612, 9640, 8, 612, 1, 612, 3, 612, 9643, 8, 612, - 1, 612, 3, 612, 9646, 8, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, 612, 1, - 612, 3, 612, 9654, 8, 612, 1, 612, 3, 612, 9657, 8, 612, 1, 612, 3, 612, - 9660, 8, 612, 1, 612, 1, 612, 3, 612, 9664, 8, 612, 1, 613, 1, 613, 1, - 613, 3, 613, 9669, 8, 613, 1, 614, 1, 614, 1, 614, 1, 614, 1, 615, 1, 615, - 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 3, 615, 9687, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, - 615, 9694, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9701, - 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9708, 8, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9726, 8, 615, - 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9734, 8, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 3, 615, 9746, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 3, 615, 9764, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9803, 8, 615, 3, 615, 9805, - 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 3, 615, 9825, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 3, 615, 9835, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9846, 8, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, - 615, 9867, 8, 615, 1, 615, 3, 615, 9870, 8, 615, 1, 615, 3, 615, 9873, - 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9880, 8, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9887, 8, 615, 1, 615, 3, 615, - 9890, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, 9898, - 8, 615, 1, 615, 3, 615, 9901, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 3, 615, 9908, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, - 9915, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 3, 615, 9928, 8, 615, 1, 615, 1, 615, 1, 615, - 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 3, 615, - 9941, 8, 615, 1, 615, 3, 615, 9944, 8, 615, 1, 615, 1, 615, 3, 615, 9948, - 8, 615, 1, 615, 3, 615, 9951, 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, - 615, 1, 615, 1, 615, 1, 615, 3, 615, 9961, 8, 615, 1, 615, 3, 615, 9964, - 8, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, 1, 615, - 3, 615, 9974, 8, 615, 1, 615, 3, 615, 9977, 8, 615, 1, 615, 3, 615, 9980, - 8, 615, 1, 615, 1, 615, 3, 615, 9984, 8, 615, 1, 616, 1, 616, 1, 616, 1, - 616, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, - 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 1, 617, 3, 617, 10005, 8, - 617, 1, 618, 1, 618, 1, 618, 3, 618, 10010, 8, 618, 1, 619, 1, 619, 1, - 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 1, 619, 3, 619, 10022, - 8, 619, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 621, 1, 621, - 3, 621, 10032, 8, 621, 1, 621, 1, 621, 1, 621, 3, 621, 10037, 8, 621, 1, - 621, 3, 621, 10040, 8, 621, 1, 621, 3, 621, 10043, 8, 621, 1, 622, 1, 622, - 1, 622, 1, 623, 1, 623, 1, 623, 5, 623, 10051, 8, 623, 10, 623, 12, 623, - 10054, 9, 623, 1, 624, 1, 624, 1, 624, 1, 624, 1, 625, 1, 625, 1, 625, - 1, 625, 1, 625, 1, 625, 3, 625, 10066, 8, 625, 1, 626, 1, 626, 1, 626, - 5, 626, 10071, 8, 626, 10, 626, 12, 626, 10074, 9, 626, 1, 627, 1, 627, - 1, 627, 3, 627, 10079, 8, 627, 1, 628, 1, 628, 1, 628, 3, 628, 10084, 8, - 628, 1, 628, 1, 628, 1, 628, 3, 628, 10089, 8, 628, 3, 628, 10091, 8, 628, - 1, 629, 1, 629, 1, 629, 1, 629, 1, 629, 1, 629, 3, 629, 10099, 8, 629, - 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 3, 630, 10107, 8, 630, - 1, 631, 1, 631, 1, 631, 5, 631, 10112, 8, 631, 10, 631, 12, 631, 10115, - 9, 631, 1, 632, 1, 632, 1, 632, 1, 632, 1, 632, 1, 632, 1, 632, 1, 632, - 3, 632, 10125, 8, 632, 1, 633, 1, 633, 3, 633, 10129, 8, 633, 1, 634, 1, - 634, 1, 634, 1, 634, 1, 634, 1, 634, 3, 634, 10137, 8, 634, 1, 635, 1, - 635, 1, 635, 1, 635, 1, 635, 3, 635, 10144, 8, 635, 1, 636, 1, 636, 1, - 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 3, 636, 10156, - 8, 636, 1, 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, 638, 1, 638, 1, 638, - 5, 638, 10166, 8, 638, 10, 638, 12, 638, 10169, 9, 638, 1, 639, 1, 639, - 1, 639, 3, 639, 10174, 8, 639, 1, 640, 1, 640, 1, 641, 1, 641, 1, 641, - 1, 641, 3, 641, 10182, 8, 641, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, - 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, 1, 642, - 1, 642, 3, 642, 10199, 8, 642, 1, 643, 1, 643, 1, 643, 1, 644, 1, 644, - 1, 644, 1, 644, 1, 644, 1, 644, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, - 1, 645, 1, 646, 1, 646, 1, 646, 1, 647, 1, 647, 1, 647, 5, 647, 10222, - 8, 647, 10, 647, 12, 647, 10225, 9, 647, 1, 648, 1, 648, 1, 648, 1, 648, - 1, 649, 1, 649, 1, 649, 3, 649, 10234, 8, 649, 1, 650, 1, 650, 3, 650, - 10238, 8, 650, 1, 650, 3, 650, 10241, 8, 650, 1, 650, 3, 650, 10244, 8, - 650, 1, 650, 3, 650, 10247, 8, 650, 1, 650, 1, 650, 1, 651, 1, 651, 1, - 652, 1, 652, 1, 652, 1, 652, 1, 653, 1, 653, 1, 653, 3, 653, 10260, 8, - 653, 1, 653, 1, 653, 1, 653, 3, 653, 10265, 8, 653, 1, 653, 1, 653, 1, - 653, 3, 653, 10270, 8, 653, 3, 653, 10272, 8, 653, 1, 654, 1, 654, 1, 654, - 1, 654, 1, 654, 1, 654, 3, 654, 10280, 8, 654, 1, 655, 1, 655, 1, 655, - 1, 655, 1, 655, 1, 655, 1, 655, 3, 655, 10289, 8, 655, 1, 656, 1, 656, - 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 3, 656, 10298, 8, 656, 1, 657, - 1, 657, 1, 657, 3, 657, 10303, 8, 657, 1, 657, 1, 657, 1, 657, 1, 657, - 1, 657, 1, 657, 1, 657, 3, 657, 10312, 8, 657, 1, 658, 1, 658, 1, 658, - 3, 658, 10317, 8, 658, 1, 658, 1, 658, 1, 659, 1, 659, 1, 659, 1, 659, - 1, 659, 1, 659, 1, 660, 1, 660, 1, 661, 1, 661, 3, 661, 10331, 8, 661, - 1, 662, 1, 662, 1, 663, 1, 663, 1, 663, 1, 663, 1, 663, 1, 663, 3, 663, - 10341, 8, 663, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, 3, 664, - 10349, 8, 664, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, - 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, 3, 665, 10363, 8, 665, 1, 666, - 1, 666, 1, 666, 5, 666, 10368, 8, 666, 10, 666, 12, 666, 10371, 9, 666, - 1, 667, 1, 667, 1, 667, 5, 667, 10376, 8, 667, 10, 667, 12, 667, 10379, - 9, 667, 1, 668, 1, 668, 1, 668, 1, 668, 1, 668, 3, 668, 10386, 8, 668, - 1, 669, 1, 669, 1, 669, 5, 669, 10391, 8, 669, 10, 669, 12, 669, 10394, - 9, 669, 1, 670, 1, 670, 1, 670, 3, 670, 10399, 8, 670, 1, 670, 1, 670, - 1, 671, 1, 671, 1, 671, 5, 671, 10406, 8, 671, 10, 671, 12, 671, 10409, - 9, 671, 1, 672, 1, 672, 1, 672, 1, 672, 1, 673, 1, 673, 1, 673, 1, 673, - 1, 673, 1, 673, 1, 673, 1, 673, 3, 673, 10423, 8, 673, 1, 674, 1, 674, - 1, 675, 1, 675, 1, 675, 1, 675, 1, 675, 1, 675, 1, 675, 3, 675, 10434, - 8, 675, 1, 676, 1, 676, 1, 676, 1, 676, 1, 677, 1, 677, 1, 677, 1, 677, - 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, - 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, - 1, 677, 1, 677, 1, 677, 1, 677, 1, 677, 3, 677, 10467, 8, 677, 1, 678, - 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 3, 678, 10476, 8, 678, - 1, 679, 1, 679, 1, 679, 1, 679, 1, 679, 3, 679, 10483, 8, 679, 1, 680, - 1, 680, 3, 680, 10487, 8, 680, 1, 680, 1, 680, 3, 680, 10491, 8, 680, 1, - 680, 1, 680, 1, 681, 4, 681, 10496, 8, 681, 11, 681, 12, 681, 10497, 1, - 682, 1, 682, 1, 682, 1, 682, 1, 682, 1, 683, 1, 683, 1, 683, 1, 684, 1, - 684, 1, 685, 1, 685, 3, 685, 10512, 8, 685, 1, 686, 1, 686, 1, 686, 3, - 686, 10517, 8, 686, 1, 686, 1, 686, 1, 686, 3, 686, 10522, 8, 686, 1, 686, - 1, 686, 3, 686, 10526, 8, 686, 3, 686, 10528, 8, 686, 1, 686, 3, 686, 10531, - 8, 686, 1, 687, 1, 687, 1, 688, 4, 688, 10536, 8, 688, 11, 688, 12, 688, - 10537, 1, 689, 5, 689, 10541, 8, 689, 10, 689, 12, 689, 10544, 9, 689, - 1, 690, 1, 690, 1, 691, 1, 691, 1, 691, 5, 691, 10551, 8, 691, 10, 691, - 12, 691, 10554, 9, 691, 1, 692, 1, 692, 1, 692, 3, 692, 10559, 8, 692, - 1, 692, 3, 692, 10562, 8, 692, 1, 693, 1, 693, 1, 693, 3, 693, 10567, 8, - 693, 1, 694, 1, 694, 1, 694, 5, 694, 10572, 8, 694, 10, 694, 12, 694, 10575, - 9, 694, 1, 695, 1, 695, 3, 695, 10579, 8, 695, 1, 696, 1, 696, 1, 696, - 5, 696, 10584, 8, 696, 10, 696, 12, 696, 10587, 9, 696, 1, 697, 1, 697, - 1, 698, 1, 698, 1, 699, 1, 699, 1, 700, 1, 700, 1, 700, 1, 700, 1, 700, - 1, 700, 1, 700, 3, 700, 10602, 8, 700, 1, 701, 1, 701, 1, 701, 1, 701, - 1, 701, 1, 701, 1, 701, 1, 701, 1, 701, 1, 701, 3, 701, 10614, 8, 701, - 1, 701, 1, 701, 1, 701, 3, 701, 10619, 8, 701, 1, 701, 1, 701, 1, 701, - 1, 701, 1, 701, 1, 701, 3, 701, 10627, 8, 701, 1, 701, 1, 701, 1, 701, - 1, 701, 1, 701, 3, 701, 10634, 8, 701, 1, 701, 1, 701, 1, 701, 3, 701, - 10639, 8, 701, 1, 702, 1, 702, 1, 703, 1, 703, 1, 704, 1, 704, 1, 705, - 1, 705, 1, 706, 1, 706, 3, 706, 10651, 8, 706, 1, 707, 1, 707, 1, 707, - 1, 707, 5, 707, 10657, 8, 707, 10, 707, 12, 707, 10660, 9, 707, 1, 707, - 1, 707, 3, 707, 10664, 8, 707, 1, 708, 1, 708, 1, 708, 1, 709, 1, 709, - 1, 709, 1, 709, 1, 709, 3, 709, 10674, 8, 709, 1, 710, 1, 710, 1, 711, - 1, 711, 1, 711, 3, 711, 10681, 8, 711, 1, 712, 1, 712, 1, 712, 5, 712, - 10686, 8, 712, 10, 712, 12, 712, 10689, 9, 712, 1, 713, 1, 713, 1, 713, - 1, 713, 1, 713, 1, 713, 3, 713, 10697, 8, 713, 1, 714, 1, 714, 1, 714, - 1, 714, 3, 714, 10703, 8, 714, 1, 715, 1, 715, 1, 715, 1, 715, 3, 715, - 10709, 8, 715, 1, 716, 1, 716, 1, 716, 1, 716, 3, 716, 10715, 8, 716, 1, - 717, 1, 717, 1, 717, 1, 717, 1, 717, 1, 717, 3, 717, 10723, 8, 717, 1, - 718, 1, 718, 3, 718, 10727, 8, 718, 1, 718, 1, 718, 1, 718, 1, 718, 1, - 718, 3, 718, 10734, 8, 718, 1, 719, 1, 719, 1, 720, 1, 720, 1, 721, 1, - 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, - 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, - 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, - 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, - 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, - 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, 721, 1, - 721, 3, 721, 10796, 8, 721, 1, 722, 1, 722, 1, 723, 1, 723, 1, 724, 1, - 724, 1, 725, 1, 725, 1, 725, 3, 725, 10807, 8, 725, 1, 726, 5, 726, 10810, - 8, 726, 10, 726, 12, 726, 10813, 9, 726, 1, 727, 1, 727, 1, 727, 1, 727, - 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, - 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 1, 727, 3, 727, 10835, - 8, 727, 1, 728, 1, 728, 1, 729, 1, 729, 1, 729, 1, 729, 3, 729, 10843, - 8, 729, 1, 730, 1, 730, 1, 731, 1, 731, 1, 731, 1, 731, 3, 731, 10851, - 8, 731, 1, 731, 1, 731, 3, 731, 10855, 8, 731, 1, 732, 3, 732, 10858, 8, - 732, 1, 732, 1, 732, 3, 732, 10862, 8, 732, 3, 732, 10864, 8, 732, 1, 733, - 1, 733, 1, 734, 4, 734, 10869, 8, 734, 11, 734, 12, 734, 10870, 1, 735, - 1, 735, 1, 735, 1, 735, 1, 736, 1, 736, 1, 736, 3, 736, 10880, 8, 736, - 1, 737, 1, 737, 1, 737, 1, 737, 1, 737, 3, 737, 10887, 8, 737, 1, 737, - 1, 737, 3, 737, 10891, 8, 737, 1, 737, 3, 737, 10894, 8, 737, 1, 737, 3, - 737, 10897, 8, 737, 1, 737, 3, 737, 10900, 8, 737, 1, 737, 1, 737, 3, 737, - 10904, 8, 737, 1, 737, 1, 737, 1, 737, 3, 737, 10909, 8, 737, 1, 737, 1, - 737, 1, 738, 1, 738, 1, 738, 3, 738, 10916, 8, 738, 1, 739, 1, 739, 1, - 740, 1, 740, 1, 740, 1, 740, 1, 741, 1, 741, 1, 741, 5, 741, 10927, 8, - 741, 10, 741, 12, 741, 10930, 9, 741, 1, 742, 1, 742, 1, 742, 1, 743, 1, - 743, 1, 744, 1, 744, 3, 744, 10939, 8, 744, 1, 745, 1, 745, 1, 746, 1, - 746, 1, 747, 1, 747, 1, 748, 1, 748, 1, 748, 1, 749, 1, 749, 1, 749, 1, - 750, 1, 750, 1, 750, 1, 751, 1, 751, 3, 751, 10958, 8, 751, 1, 752, 1, - 752, 1, 753, 5, 753, 10963, 8, 753, 10, 753, 12, 753, 10966, 9, 753, 1, - 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, - 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, - 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 3, - 754, 10995, 8, 754, 1, 755, 1, 755, 1, 755, 1, 755, 1, 756, 1, 756, 1, - 756, 1, 756, 3, 756, 11005, 8, 756, 1, 756, 1, 756, 1, 756, 1, 756, 1, - 756, 1, 756, 1, 756, 3, 756, 11014, 8, 756, 1, 756, 1, 756, 1, 756, 3, - 756, 11019, 8, 756, 1, 757, 1, 757, 1, 758, 1, 758, 1, 758, 1, 758, 1, - 758, 1, 759, 1, 759, 3, 759, 11030, 8, 759, 1, 759, 1, 759, 1, 759, 1, - 759, 1, 760, 1, 760, 1, 761, 1, 761, 1, 761, 5, 761, 11041, 8, 761, 10, - 761, 12, 761, 11044, 9, 761, 1, 762, 1, 762, 1, 762, 1, 762, 1, 763, 1, - 763, 1, 764, 1, 764, 1, 765, 1, 765, 3, 765, 11056, 8, 765, 1, 765, 1, - 765, 1, 765, 1, 765, 5, 765, 11062, 8, 765, 10, 765, 12, 765, 11065, 9, - 765, 1, 766, 1, 766, 1, 766, 1, 766, 1, 766, 1, 766, 3, 766, 11073, 8, - 766, 1, 766, 1, 766, 1, 766, 1, 766, 1, 767, 1, 767, 1, 767, 1, 767, 1, - 767, 5, 767, 11084, 8, 767, 10, 767, 12, 767, 11087, 9, 767, 1, 768, 1, - 768, 1, 768, 1, 769, 1, 769, 3, 769, 11094, 8, 769, 1, 769, 1, 769, 3, - 769, 11098, 8, 769, 1, 769, 1, 769, 1, 769, 1, 769, 1, 770, 1, 770, 1, - 771, 4, 771, 11107, 8, 771, 11, 771, 12, 771, 11108, 1, 772, 1, 772, 1, - 772, 1, 772, 1, 772, 1, 773, 1, 773, 1, 773, 1, 774, 3, 774, 11120, 8, - 774, 1, 774, 1, 774, 1, 775, 3, 775, 11125, 8, 775, 1, 775, 1, 775, 1, - 775, 1, 775, 1, 776, 3, 776, 11132, 8, 776, 1, 776, 1, 776, 1, 776, 1, - 776, 1, 777, 1, 777, 1, 777, 1, 777, 3, 777, 11142, 8, 777, 1, 777, 1, - 777, 1, 777, 1, 777, 1, 777, 3, 777, 11149, 8, 777, 1, 777, 3, 777, 11152, - 8, 777, 1, 777, 1, 777, 1, 777, 1, 777, 3, 777, 11158, 8, 777, 3, 777, - 11160, 8, 777, 1, 778, 1, 778, 1, 778, 1, 779, 1, 779, 1, 779, 1, 779, - 5, 779, 11169, 8, 779, 10, 779, 12, 779, 11172, 9, 779, 1, 779, 1, 779, - 1, 780, 1, 780, 1, 781, 1, 781, 1, 781, 1, 782, 1, 782, 1, 783, 3, 783, - 11184, 8, 783, 1, 783, 1, 783, 1, 783, 3, 783, 11189, 8, 783, 1, 783, 1, - 783, 1, 783, 1, 783, 1, 783, 1, 784, 1, 784, 1, 784, 1, 785, 1, 785, 3, - 785, 11201, 8, 785, 1, 785, 3, 785, 11204, 8, 785, 1, 785, 1, 785, 1, 786, - 1, 786, 1, 787, 1, 787, 1, 787, 1, 787, 1, 787, 1, 787, 1, 787, 3, 787, - 11217, 8, 787, 1, 787, 3, 787, 11220, 8, 787, 1, 787, 3, 787, 11223, 8, - 787, 3, 787, 11225, 8, 787, 1, 787, 1, 787, 1, 788, 1, 788, 1, 789, 1, - 789, 3, 789, 11233, 8, 789, 1, 789, 1, 789, 3, 789, 11237, 8, 789, 1, 789, - 3, 789, 11240, 8, 789, 1, 789, 1, 789, 1, 789, 1, 789, 3, 789, 11246, 8, - 789, 1, 789, 1, 789, 3, 789, 11250, 8, 789, 1, 789, 1, 789, 1, 789, 1, - 789, 3, 789, 11256, 8, 789, 1, 789, 1, 789, 1, 789, 3, 789, 11261, 8, 789, - 1, 789, 1, 789, 1, 789, 1, 789, 3, 789, 11267, 8, 789, 1, 789, 3, 789, - 11270, 8, 789, 1, 789, 1, 789, 3, 789, 11274, 8, 789, 1, 790, 1, 790, 1, - 791, 1, 791, 4, 791, 11280, 8, 791, 11, 791, 12, 791, 11281, 1, 792, 1, - 792, 1, 792, 1, 793, 1, 793, 1, 793, 1, 793, 1, 794, 1, 794, 1, 794, 5, - 794, 11294, 8, 794, 10, 794, 12, 794, 11297, 9, 794, 1, 795, 1, 795, 1, - 795, 3, 795, 11302, 8, 795, 1, 795, 1, 795, 1, 796, 1, 796, 1, 796, 1, - 797, 1, 797, 1, 797, 1, 797, 1, 797, 3, 797, 11314, 8, 797, 1, 797, 1, - 797, 1, 798, 1, 798, 1, 798, 1, 799, 1, 799, 1, 799, 3, 799, 11324, 8, - 799, 1, 799, 3, 799, 11327, 8, 799, 1, 799, 3, 799, 11330, 8, 799, 1, 799, - 3, 799, 11333, 8, 799, 1, 799, 3, 799, 11336, 8, 799, 1, 799, 1, 799, 1, - 800, 1, 800, 1, 800, 1, 801, 1, 801, 1, 801, 5, 801, 11346, 8, 801, 10, - 801, 12, 801, 11349, 9, 801, 1, 802, 1, 802, 3, 802, 11353, 8, 802, 1, - 802, 1, 802, 1, 803, 1, 803, 1, 803, 3, 803, 11360, 8, 803, 1, 803, 1, - 803, 1, 803, 1, 803, 1, 803, 3, 803, 11367, 8, 803, 3, 803, 11369, 8, 803, - 1, 803, 1, 803, 1, 803, 1, 803, 1, 803, 3, 803, 11376, 8, 803, 3, 803, - 11378, 8, 803, 1, 803, 1, 803, 1, 804, 1, 804, 1, 804, 1, 804, 1, 804, - 3, 804, 11387, 8, 804, 1, 805, 1, 805, 1, 805, 5, 805, 11392, 8, 805, 10, - 805, 12, 805, 11395, 9, 805, 1, 806, 1, 806, 1, 806, 1, 807, 3, 807, 11401, - 8, 807, 1, 807, 1, 807, 1, 808, 1, 808, 1, 809, 1, 809, 3, 809, 11409, - 8, 809, 1, 809, 3, 809, 11412, 8, 809, 1, 809, 1, 809, 1, 809, 1, 809, - 1, 809, 1, 810, 1, 810, 1, 811, 1, 811, 1, 812, 1, 812, 1, 812, 1, 812, - 1, 812, 1, 812, 1, 812, 1, 812, 1, 812, 1, 812, 1, 812, 1, 812, 1, 812, - 3, 812, 11436, 8, 812, 3, 812, 11438, 8, 812, 1, 813, 1, 813, 3, 813, 11442, - 8, 813, 1, 813, 1, 813, 1, 813, 1, 814, 1, 814, 1, 814, 1, 814, 1, 815, - 1, 815, 1, 815, 1, 816, 1, 816, 3, 816, 11456, 8, 816, 1, 816, 1, 816, - 1, 817, 1, 817, 3, 817, 11462, 8, 817, 1, 817, 1, 817, 1, 818, 1, 818, - 3, 818, 11468, 8, 818, 1, 818, 1, 818, 1, 819, 1, 819, 1, 819, 1, 819, - 1, 819, 1, 819, 1, 819, 1, 819, 1, 819, 3, 819, 11481, 8, 819, 1, 819, - 3, 819, 11484, 8, 819, 1, 820, 1, 820, 3, 820, 11488, 8, 820, 1, 821, 1, - 821, 1, 821, 1, 822, 4, 822, 11494, 8, 822, 11, 822, 12, 822, 11495, 1, - 823, 1, 823, 1, 823, 1, 823, 1, 823, 1, 824, 1, 824, 1, 824, 5, 824, 11506, - 8, 824, 10, 824, 12, 824, 11509, 9, 824, 1, 825, 1, 825, 1, 825, 3, 825, - 11514, 8, 825, 1, 826, 1, 826, 1, 827, 1, 827, 1, 828, 1, 828, 1, 829, - 1, 829, 1, 829, 1, 830, 1, 830, 3, 830, 11527, 8, 830, 1, 831, 1, 831, - 1, 832, 3, 832, 11532, 8, 832, 1, 832, 1, 832, 3, 832, 11536, 8, 832, 1, - 832, 3, 832, 11539, 8, 832, 1, 832, 3, 832, 11542, 8, 832, 1, 832, 3, 832, - 11545, 8, 832, 1, 832, 3, 832, 11548, 8, 832, 1, 832, 3, 832, 11551, 8, - 832, 1, 832, 3, 832, 11554, 8, 832, 1, 832, 3, 832, 11557, 8, 832, 1, 833, - 1, 833, 1, 834, 1, 834, 1, 835, 1, 835, 1, 836, 1, 836, 1, 837, 1, 837, - 3, 837, 11569, 8, 837, 1, 838, 1, 838, 3, 838, 11573, 8, 838, 1, 838, 1, - 838, 1, 838, 0, 1, 1212, 839, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, - 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, - 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, - 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, - 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, - 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, - 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, - 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, - 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, - 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, - 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, - 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, - 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, - 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, - 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, - 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, - 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, - 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, - 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, - 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, - 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, - 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, - 666, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, - 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, - 726, 728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, - 756, 758, 760, 762, 764, 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, - 786, 788, 790, 792, 794, 796, 798, 800, 802, 804, 806, 808, 810, 812, 814, - 816, 818, 820, 822, 824, 826, 828, 830, 832, 834, 836, 838, 840, 842, 844, - 846, 848, 850, 852, 854, 856, 858, 860, 862, 864, 866, 868, 870, 872, 874, - 876, 878, 880, 882, 884, 886, 888, 890, 892, 894, 896, 898, 900, 902, 904, - 906, 908, 910, 912, 914, 916, 918, 920, 922, 924, 926, 928, 930, 932, 934, - 936, 938, 940, 942, 944, 946, 948, 950, 952, 954, 956, 958, 960, 962, 964, - 966, 968, 970, 972, 974, 976, 978, 980, 982, 984, 986, 988, 990, 992, 994, - 996, 998, 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020, - 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, - 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, - 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, - 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, - 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, - 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, - 1166, 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, - 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, - 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, - 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256, 1258, 1260, - 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, - 1286, 1288, 1290, 1292, 1294, 1296, 1298, 1300, 1302, 1304, 1306, 1308, - 1310, 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332, - 1334, 1336, 1338, 1340, 1342, 1344, 1346, 1348, 1350, 1352, 1354, 1356, - 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380, - 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, - 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428, - 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, - 1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476, - 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1496, 1498, 1500, - 1502, 1504, 1506, 1508, 1510, 1512, 1514, 1516, 1518, 1520, 1522, 1524, - 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540, 1542, 1544, 1546, 1548, - 1550, 1552, 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, - 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1592, 1594, 1596, - 1598, 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620, - 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, 1644, - 1646, 1648, 1650, 1652, 1654, 1656, 1658, 1660, 1662, 1664, 1666, 1668, - 1670, 1672, 1674, 1676, 0, 77, 2, 0, 214, 214, 376, 376, 2, 0, 66, 66, - 330, 330, 2, 0, 99, 99, 330, 330, 3, 0, 66, 66, 99, 99, 330, 330, 2, 0, - 152, 152, 210, 210, 2, 0, 264, 264, 344, 344, 2, 0, 10, 10, 94, 94, 2, - 0, 181, 181, 375, 375, 2, 0, 199, 199, 240, 240, 5, 0, 30, 30, 300, 300, - 341, 341, 364, 364, 366, 366, 2, 0, 169, 169, 327, 327, 2, 0, 64, 64, 94, - 94, 2, 0, 364, 364, 366, 366, 2, 0, 219, 219, 243, 243, 9, 0, 30, 30, 179, - 179, 184, 184, 198, 198, 238, 238, 246, 246, 354, 354, 357, 357, 459, 459, - 3, 0, 132, 132, 296, 296, 348, 348, 2, 0, 53, 53, 78, 78, 3, 0, 192, 192, - 271, 271, 274, 274, 5, 0, 30, 30, 88, 88, 201, 201, 251, 251, 381, 381, - 2, 0, 92, 92, 245, 245, 1, 0, 469, 470, 2, 0, 92, 92, 428, 428, 2, 0, 353, - 353, 428, 428, 2, 0, 230, 230, 308, 308, 3, 0, 333, 333, 369, 369, 466, - 466, 2, 0, 64, 64, 68, 68, 5, 0, 231, 231, 341, 341, 362, 362, 373, 373, - 476, 477, 2, 0, 37, 37, 55, 55, 2, 0, 10, 10, 53, 53, 3, 0, 230, 230, 308, - 308, 463, 463, 5, 0, 92, 92, 194, 194, 245, 245, 335, 335, 361, 361, 3, - 0, 194, 194, 335, 335, 361, 361, 3, 0, 128, 128, 147, 147, 363, 363, 4, - 0, 88, 88, 201, 201, 251, 251, 381, 381, 2, 0, 156, 156, 252, 252, 2, 0, - 368, 368, 392, 392, 2, 0, 170, 170, 264, 264, 2, 0, 325, 325, 345, 345, - 1, 0, 31, 32, 2, 0, 99, 99, 361, 361, 2, 0, 220, 220, 346, 346, 2, 0, 59, - 59, 97, 97, 2, 0, 232, 232, 264, 264, 2, 0, 30, 30, 56, 56, 2, 0, 332, - 332, 428, 428, 2, 0, 226, 226, 280, 280, 4, 0, 132, 132, 134, 134, 138, - 138, 145, 145, 2, 0, 372, 372, 498, 498, 2, 0, 404, 405, 419, 419, 1, 0, - 404, 405, 1, 0, 432, 433, 1, 0, 18, 19, 2, 0, 136, 136, 141, 141, 5, 0, - 10, 10, 16, 17, 21, 21, 23, 23, 25, 25, 1, 0, 12, 13, 3, 0, 9, 9, 14, 14, - 27, 27, 3, 0, 39, 39, 73, 73, 95, 95, 1, 0, 116, 117, 1, 0, 120, 121, 2, - 0, 185, 185, 207, 207, 2, 0, 316, 316, 471, 471, 2, 0, 227, 227, 301, 301, - 3, 0, 30, 30, 34, 34, 90, 90, 6, 0, 9, 10, 12, 17, 21, 21, 23, 23, 25, - 25, 27, 27, 2, 0, 20, 20, 22, 22, 1, 0, 504, 507, 16, 0, 108, 108, 119, - 119, 122, 123, 143, 143, 148, 268, 270, 271, 273, 322, 324, 399, 424, 424, - 454, 473, 476, 490, 492, 492, 494, 494, 496, 496, 499, 509, 602, 602, 5, - 0, 125, 137, 139, 142, 144, 144, 146, 147, 493, 493, 4, 0, 30, 52, 54, - 70, 72, 105, 475, 475, 5, 0, 323, 323, 439, 445, 525, 525, 534, 534, 542, - 657, 2, 0, 62, 62, 135, 135, 2, 0, 10, 10, 20, 20, 2, 0, 455, 455, 522, - 522, 2, 0, 186, 186, 528, 528, 1, 0, 533, 538, 2, 0, 163, 163, 229, 229, - 36, 0, 33, 33, 35, 35, 43, 45, 53, 53, 57, 57, 61, 61, 92, 92, 135, 135, - 142, 142, 149, 149, 163, 163, 172, 172, 176, 176, 180, 180, 186, 186, 191, - 191, 226, 226, 229, 229, 251, 251, 259, 259, 277, 277, 280, 281, 291, 291, - 305, 305, 319, 319, 325, 325, 331, 331, 335, 336, 345, 345, 372, 372, 454, - 455, 498, 498, 511, 523, 527, 533, 535, 539, 541, 541, 12828, 0, 1678, - 1, 0, 0, 0, 2, 1681, 1, 0, 0, 0, 4, 1683, 1, 0, 0, 0, 6, 1691, 1, 0, 0, - 0, 8, 1819, 1, 0, 0, 0, 10, 1821, 1, 0, 0, 0, 12, 1825, 1, 0, 0, 0, 14, - 1828, 1, 0, 0, 0, 16, 1836, 1, 0, 0, 0, 18, 1841, 1, 0, 0, 0, 20, 1847, - 1, 0, 0, 0, 22, 1868, 1, 0, 0, 0, 24, 1880, 1, 0, 0, 0, 26, 1882, 1, 0, - 0, 0, 28, 1890, 1, 0, 0, 0, 30, 1898, 1, 0, 0, 0, 32, 1902, 1, 0, 0, 0, - 34, 1913, 1, 0, 0, 0, 36, 1921, 1, 0, 0, 0, 38, 1929, 1, 0, 0, 0, 40, 1936, - 1, 0, 0, 0, 42, 1938, 1, 0, 0, 0, 44, 1955, 1, 0, 0, 0, 46, 1960, 1, 0, - 0, 0, 48, 1969, 1, 0, 0, 0, 50, 1971, 1, 0, 0, 0, 52, 1985, 1, 0, 0, 0, - 54, 1987, 1, 0, 0, 0, 56, 2018, 1, 0, 0, 0, 58, 2020, 1, 0, 0, 0, 60, 2028, - 1, 0, 0, 0, 62, 2038, 1, 0, 0, 0, 64, 2045, 1, 0, 0, 0, 66, 2051, 1, 0, - 0, 0, 68, 2069, 1, 0, 0, 0, 70, 2073, 1, 0, 0, 0, 72, 2077, 1, 0, 0, 0, - 74, 2079, 1, 0, 0, 0, 76, 2090, 1, 0, 0, 0, 78, 2094, 1, 0, 0, 0, 80, 2099, - 1, 0, 0, 0, 82, 2104, 1, 0, 0, 0, 84, 2106, 1, 0, 0, 0, 86, 2118, 1, 0, - 0, 0, 88, 2125, 1, 0, 0, 0, 90, 2127, 1, 0, 0, 0, 92, 2129, 1, 0, 0, 0, - 94, 2131, 1, 0, 0, 0, 96, 2246, 1, 0, 0, 0, 98, 2248, 1, 0, 0, 0, 100, - 2264, 1, 0, 0, 0, 102, 2266, 1, 0, 0, 0, 104, 2572, 1, 0, 0, 0, 106, 2579, - 1, 0, 0, 0, 108, 2581, 1, 0, 0, 0, 110, 2583, 1, 0, 0, 0, 112, 2586, 1, - 0, 0, 0, 114, 2595, 1, 0, 0, 0, 116, 2597, 1, 0, 0, 0, 118, 2601, 1, 0, - 0, 0, 120, 2604, 1, 0, 0, 0, 122, 2612, 1, 0, 0, 0, 124, 2624, 1, 0, 0, - 0, 126, 2641, 1, 0, 0, 0, 128, 2669, 1, 0, 0, 0, 130, 2671, 1, 0, 0, 0, - 132, 2674, 1, 0, 0, 0, 134, 2682, 1, 0, 0, 0, 136, 2687, 1, 0, 0, 0, 138, - 2725, 1, 0, 0, 0, 140, 2727, 1, 0, 0, 0, 142, 2769, 1, 0, 0, 0, 144, 2771, - 1, 0, 0, 0, 146, 2773, 1, 0, 0, 0, 148, 2778, 1, 0, 0, 0, 150, 2785, 1, - 0, 0, 0, 152, 2790, 1, 0, 0, 0, 154, 2832, 1, 0, 0, 0, 156, 2834, 1, 0, - 0, 0, 158, 2837, 1, 0, 0, 0, 160, 2842, 1, 0, 0, 0, 162, 2844, 1, 0, 0, - 0, 164, 2852, 1, 0, 0, 0, 166, 2863, 1, 0, 0, 0, 168, 2865, 1, 0, 0, 0, - 170, 2873, 1, 0, 0, 0, 172, 2875, 1, 0, 0, 0, 174, 2960, 1, 0, 0, 0, 176, - 2962, 1, 0, 0, 0, 178, 2964, 1, 0, 0, 0, 180, 2968, 1, 0, 0, 0, 182, 2976, - 1, 0, 0, 0, 184, 2987, 1, 0, 0, 0, 186, 2991, 1, 0, 0, 0, 188, 2993, 1, - 0, 0, 0, 190, 3000, 1, 0, 0, 0, 192, 3010, 1, 0, 0, 0, 194, 3021, 1, 0, - 0, 0, 196, 3078, 1, 0, 0, 0, 198, 3080, 1, 0, 0, 0, 200, 3089, 1, 0, 0, - 0, 202, 3096, 1, 0, 0, 0, 204, 3098, 1, 0, 0, 0, 206, 3106, 1, 0, 0, 0, - 208, 3109, 1, 0, 0, 0, 210, 3116, 1, 0, 0, 0, 212, 3207, 1, 0, 0, 0, 214, - 3209, 1, 0, 0, 0, 216, 3212, 1, 0, 0, 0, 218, 3216, 1, 0, 0, 0, 220, 3224, - 1, 0, 0, 0, 222, 3226, 1, 0, 0, 0, 224, 3231, 1, 0, 0, 0, 226, 3234, 1, - 0, 0, 0, 228, 3242, 1, 0, 0, 0, 230, 3252, 1, 0, 0, 0, 232, 3265, 1, 0, - 0, 0, 234, 3267, 1, 0, 0, 0, 236, 3271, 1, 0, 0, 0, 238, 3284, 1, 0, 0, - 0, 240, 3286, 1, 0, 0, 0, 242, 3291, 1, 0, 0, 0, 244, 3293, 1, 0, 0, 0, - 246, 3300, 1, 0, 0, 0, 248, 3331, 1, 0, 0, 0, 250, 3333, 1, 0, 0, 0, 252, - 3340, 1, 0, 0, 0, 254, 3342, 1, 0, 0, 0, 256, 3351, 1, 0, 0, 0, 258, 3354, - 1, 0, 0, 0, 260, 3359, 1, 0, 0, 0, 262, 3363, 1, 0, 0, 0, 264, 3379, 1, - 0, 0, 0, 266, 3390, 1, 0, 0, 0, 268, 3406, 1, 0, 0, 0, 270, 3422, 1, 0, - 0, 0, 272, 3428, 1, 0, 0, 0, 274, 3445, 1, 0, 0, 0, 276, 3458, 1, 0, 0, - 0, 278, 3460, 1, 0, 0, 0, 280, 3470, 1, 0, 0, 0, 282, 3484, 1, 0, 0, 0, - 284, 3493, 1, 0, 0, 0, 286, 3495, 1, 0, 0, 0, 288, 3500, 1, 0, 0, 0, 290, - 3540, 1, 0, 0, 0, 292, 3542, 1, 0, 0, 0, 294, 3550, 1, 0, 0, 0, 296, 3552, - 1, 0, 0, 0, 298, 3560, 1, 0, 0, 0, 300, 3582, 1, 0, 0, 0, 302, 3584, 1, - 0, 0, 0, 304, 3588, 1, 0, 0, 0, 306, 3595, 1, 0, 0, 0, 308, 3597, 1, 0, - 0, 0, 310, 3599, 1, 0, 0, 0, 312, 3601, 1, 0, 0, 0, 314, 3612, 1, 0, 0, - 0, 316, 3615, 1, 0, 0, 0, 318, 3623, 1, 0, 0, 0, 320, 3639, 1, 0, 0, 0, - 322, 3649, 1, 0, 0, 0, 324, 3651, 1, 0, 0, 0, 326, 3660, 1, 0, 0, 0, 328, - 3663, 1, 0, 0, 0, 330, 3770, 1, 0, 0, 0, 332, 3772, 1, 0, 0, 0, 334, 3791, - 1, 0, 0, 0, 336, 3794, 1, 0, 0, 0, 338, 3798, 1, 0, 0, 0, 340, 3817, 1, - 0, 0, 0, 342, 3819, 1, 0, 0, 0, 344, 3824, 1, 0, 0, 0, 346, 3832, 1, 0, - 0, 0, 348, 3837, 1, 0, 0, 0, 350, 3852, 1, 0, 0, 0, 352, 3854, 1, 0, 0, - 0, 354, 3857, 1, 0, 0, 0, 356, 3859, 1, 0, 0, 0, 358, 3896, 1, 0, 0, 0, - 360, 3898, 1, 0, 0, 0, 362, 3901, 1, 0, 0, 0, 364, 3906, 1, 0, 0, 0, 366, - 3908, 1, 0, 0, 0, 368, 3990, 1, 0, 0, 0, 370, 3992, 1, 0, 0, 0, 372, 4010, - 1, 0, 0, 0, 374, 4012, 1, 0, 0, 0, 376, 4040, 1, 0, 0, 0, 378, 4044, 1, - 0, 0, 0, 380, 4064, 1, 0, 0, 0, 382, 4066, 1, 0, 0, 0, 384, 4075, 1, 0, - 0, 0, 386, 4095, 1, 0, 0, 0, 388, 4109, 1, 0, 0, 0, 390, 4114, 1, 0, 0, - 0, 392, 4120, 1, 0, 0, 0, 394, 4123, 1, 0, 0, 0, 396, 4126, 1, 0, 0, 0, - 398, 4129, 1, 0, 0, 0, 400, 4132, 1, 0, 0, 0, 402, 4134, 1, 0, 0, 0, 404, - 4143, 1, 0, 0, 0, 406, 4193, 1, 0, 0, 0, 408, 4199, 1, 0, 0, 0, 410, 4201, - 1, 0, 0, 0, 412, 4216, 1, 0, 0, 0, 414, 4218, 1, 0, 0, 0, 416, 4222, 1, - 0, 0, 0, 418, 4226, 1, 0, 0, 0, 420, 4233, 1, 0, 0, 0, 422, 4235, 1, 0, - 0, 0, 424, 4237, 1, 0, 0, 0, 426, 4239, 1, 0, 0, 0, 428, 4245, 1, 0, 0, - 0, 430, 4247, 1, 0, 0, 0, 432, 4249, 1, 0, 0, 0, 434, 4254, 1, 0, 0, 0, - 436, 4258, 1, 0, 0, 0, 438, 4271, 1, 0, 0, 0, 440, 4273, 1, 0, 0, 0, 442, - 4279, 1, 0, 0, 0, 444, 4293, 1, 0, 0, 0, 446, 4321, 1, 0, 0, 0, 448, 4323, - 1, 0, 0, 0, 450, 4331, 1, 0, 0, 0, 452, 4337, 1, 0, 0, 0, 454, 4345, 1, - 0, 0, 0, 456, 4357, 1, 0, 0, 0, 458, 4359, 1, 0, 0, 0, 460, 4482, 1, 0, - 0, 0, 462, 4484, 1, 0, 0, 0, 464, 4488, 1, 0, 0, 0, 466, 4496, 1, 0, 0, - 0, 468, 4507, 1, 0, 0, 0, 470, 4509, 1, 0, 0, 0, 472, 4513, 1, 0, 0, 0, - 474, 4521, 1, 0, 0, 0, 476, 4525, 1, 0, 0, 0, 478, 4527, 1, 0, 0, 0, 480, - 4578, 1, 0, 0, 0, 482, 4580, 1, 0, 0, 0, 484, 4584, 1, 0, 0, 0, 486, 4602, - 1, 0, 0, 0, 488, 4641, 1, 0, 0, 0, 490, 4643, 1, 0, 0, 0, 492, 4645, 1, - 0, 0, 0, 494, 4654, 1, 0, 0, 0, 496, 4656, 1, 0, 0, 0, 498, 4658, 1, 0, - 0, 0, 500, 4683, 1, 0, 0, 0, 502, 4685, 1, 0, 0, 0, 504, 4705, 1, 0, 0, - 0, 506, 4727, 1, 0, 0, 0, 508, 4749, 1, 0, 0, 0, 510, 4751, 1, 0, 0, 0, - 512, 4758, 1, 0, 0, 0, 514, 4855, 1, 0, 0, 0, 516, 4880, 1, 0, 0, 0, 518, - 4887, 1, 0, 0, 0, 520, 4904, 1, 0, 0, 0, 522, 4906, 1, 0, 0, 0, 524, 4908, - 1, 0, 0, 0, 526, 4916, 1, 0, 0, 0, 528, 4922, 1, 0, 0, 0, 530, 4926, 1, - 0, 0, 0, 532, 4934, 1, 0, 0, 0, 534, 4949, 1, 0, 0, 0, 536, 5098, 1, 0, - 0, 0, 538, 5102, 1, 0, 0, 0, 540, 5215, 1, 0, 0, 0, 542, 5217, 1, 0, 0, - 0, 544, 5222, 1, 0, 0, 0, 546, 5228, 1, 0, 0, 0, 548, 5315, 1, 0, 0, 0, - 550, 5317, 1, 0, 0, 0, 552, 5319, 1, 0, 0, 0, 554, 5321, 1, 0, 0, 0, 556, - 5351, 1, 0, 0, 0, 558, 5368, 1, 0, 0, 0, 560, 5370, 1, 0, 0, 0, 562, 5396, - 1, 0, 0, 0, 564, 5458, 1, 0, 0, 0, 566, 5460, 1, 0, 0, 0, 568, 5468, 1, - 0, 0, 0, 570, 5473, 1, 0, 0, 0, 572, 5484, 1, 0, 0, 0, 574, 5486, 1, 0, - 0, 0, 576, 5490, 1, 0, 0, 0, 578, 5523, 1, 0, 0, 0, 580, 5525, 1, 0, 0, - 0, 582, 5529, 1, 0, 0, 0, 584, 5533, 1, 0, 0, 0, 586, 5542, 1, 0, 0, 0, - 588, 5554, 1, 0, 0, 0, 590, 5586, 1, 0, 0, 0, 592, 5588, 1, 0, 0, 0, 594, - 5590, 1, 0, 0, 0, 596, 5629, 1, 0, 0, 0, 598, 5631, 1, 0, 0, 0, 600, 5633, - 1, 0, 0, 0, 602, 5635, 1, 0, 0, 0, 604, 5638, 1, 0, 0, 0, 606, 5669, 1, - 0, 0, 0, 608, 5682, 1, 0, 0, 0, 610, 5684, 1, 0, 0, 0, 612, 5689, 1, 0, - 0, 0, 614, 5697, 1, 0, 0, 0, 616, 5700, 1, 0, 0, 0, 618, 5702, 1, 0, 0, - 0, 620, 5708, 1, 0, 0, 0, 622, 5710, 1, 0, 0, 0, 624, 5730, 1, 0, 0, 0, - 626, 5733, 1, 0, 0, 0, 628, 5739, 1, 0, 0, 0, 630, 5747, 1, 0, 0, 0, 632, - 5763, 1, 0, 0, 0, 634, 5765, 1, 0, 0, 0, 636, 5771, 1, 0, 0, 0, 638, 5792, - 1, 0, 0, 0, 640, 5801, 1, 0, 0, 0, 642, 5807, 1, 0, 0, 0, 644, 5809, 1, - 0, 0, 0, 646, 5825, 1, 0, 0, 0, 648, 5827, 1, 0, 0, 0, 650, 5832, 1, 0, - 0, 0, 652, 5834, 1, 0, 0, 0, 654, 5849, 1, 0, 0, 0, 656, 5857, 1, 0, 0, - 0, 658, 5860, 1, 0, 0, 0, 660, 5869, 1, 0, 0, 0, 662, 5910, 1, 0, 0, 0, - 664, 5925, 1, 0, 0, 0, 666, 5932, 1, 0, 0, 0, 668, 5934, 1, 0, 0, 0, 670, - 5946, 1, 0, 0, 0, 672, 5949, 1, 0, 0, 0, 674, 5952, 1, 0, 0, 0, 676, 5960, - 1, 0, 0, 0, 678, 5968, 1, 0, 0, 0, 680, 5972, 1, 0, 0, 0, 682, 6016, 1, - 0, 0, 0, 684, 6032, 1, 0, 0, 0, 686, 6048, 1, 0, 0, 0, 688, 6072, 1, 0, - 0, 0, 690, 6079, 1, 0, 0, 0, 692, 6084, 1, 0, 0, 0, 694, 6092, 1, 0, 0, - 0, 696, 6095, 1, 0, 0, 0, 698, 6099, 1, 0, 0, 0, 700, 6106, 1, 0, 0, 0, - 702, 6145, 1, 0, 0, 0, 704, 6151, 1, 0, 0, 0, 706, 6153, 1, 0, 0, 0, 708, - 6166, 1, 0, 0, 0, 710, 6169, 1, 0, 0, 0, 712, 6216, 1, 0, 0, 0, 714, 6218, - 1, 0, 0, 0, 716, 6264, 1, 0, 0, 0, 718, 6266, 1, 0, 0, 0, 720, 6268, 1, - 0, 0, 0, 722, 6270, 1, 0, 0, 0, 724, 6278, 1, 0, 0, 0, 726, 6292, 1, 0, - 0, 0, 728, 6781, 1, 0, 0, 0, 730, 6783, 1, 0, 0, 0, 732, 6785, 1, 0, 0, - 0, 734, 6857, 1, 0, 0, 0, 736, 6859, 1, 0, 0, 0, 738, 7078, 1, 0, 0, 0, - 740, 7080, 1, 0, 0, 0, 742, 7088, 1, 0, 0, 0, 744, 7104, 1, 0, 0, 0, 746, - 7111, 1, 0, 0, 0, 748, 7113, 1, 0, 0, 0, 750, 7306, 1, 0, 0, 0, 752, 7331, - 1, 0, 0, 0, 754, 7333, 1, 0, 0, 0, 756, 7379, 1, 0, 0, 0, 758, 7381, 1, - 0, 0, 0, 760, 7410, 1, 0, 0, 0, 762, 7412, 1, 0, 0, 0, 764, 7422, 1, 0, - 0, 0, 766, 7430, 1, 0, 0, 0, 768, 7477, 1, 0, 0, 0, 770, 7493, 1, 0, 0, - 0, 772, 7495, 1, 0, 0, 0, 774, 7521, 1, 0, 0, 0, 776, 7524, 1, 0, 0, 0, - 778, 7540, 1, 0, 0, 0, 780, 7542, 1, 0, 0, 0, 782, 7544, 1, 0, 0, 0, 784, - 7546, 1, 0, 0, 0, 786, 7548, 1, 0, 0, 0, 788, 7553, 1, 0, 0, 0, 790, 7556, - 1, 0, 0, 0, 792, 7563, 1, 0, 0, 0, 794, 7634, 1, 0, 0, 0, 796, 7636, 1, - 0, 0, 0, 798, 7648, 1, 0, 0, 0, 800, 7650, 1, 0, 0, 0, 802, 7660, 1, 0, - 0, 0, 804, 7662, 1, 0, 0, 0, 806, 7668, 1, 0, 0, 0, 808, 7700, 1, 0, 0, - 0, 810, 7707, 1, 0, 0, 0, 812, 7710, 1, 0, 0, 0, 814, 7719, 1, 0, 0, 0, - 816, 7722, 1, 0, 0, 0, 818, 7726, 1, 0, 0, 0, 820, 7743, 1, 0, 0, 0, 822, - 7745, 1, 0, 0, 0, 824, 7747, 1, 0, 0, 0, 826, 7765, 1, 0, 0, 0, 828, 7770, - 1, 0, 0, 0, 830, 7786, 1, 0, 0, 0, 832, 7794, 1, 0, 0, 0, 834, 7796, 1, - 0, 0, 0, 836, 7802, 1, 0, 0, 0, 838, 7807, 1, 0, 0, 0, 840, 7816, 1, 0, - 0, 0, 842, 7843, 1, 0, 0, 0, 844, 7845, 1, 0, 0, 0, 846, 7924, 1, 0, 0, - 0, 848, 7926, 1, 0, 0, 0, 850, 7928, 1, 0, 0, 0, 852, 7961, 1, 0, 0, 0, - 854, 7963, 1, 0, 0, 0, 856, 7989, 1, 0, 0, 0, 858, 8005, 1, 0, 0, 0, 860, - 8007, 1, 0, 0, 0, 862, 8015, 1, 0, 0, 0, 864, 8017, 1, 0, 0, 0, 866, 8023, - 1, 0, 0, 0, 868, 8027, 1, 0, 0, 0, 870, 8029, 1, 0, 0, 0, 872, 8031, 1, - 0, 0, 0, 874, 8033, 1, 0, 0, 0, 876, 8035, 1, 0, 0, 0, 878, 8037, 1, 0, - 0, 0, 880, 8041, 1, 0, 0, 0, 882, 8045, 1, 0, 0, 0, 884, 8053, 1, 0, 0, - 0, 886, 8073, 1, 0, 0, 0, 888, 8084, 1, 0, 0, 0, 890, 8086, 1, 0, 0, 0, - 892, 8094, 1, 0, 0, 0, 894, 8100, 1, 0, 0, 0, 896, 8104, 1, 0, 0, 0, 898, - 8106, 1, 0, 0, 0, 900, 8114, 1, 0, 0, 0, 902, 8123, 1, 0, 0, 0, 904, 8163, - 1, 0, 0, 0, 906, 8165, 1, 0, 0, 0, 908, 8179, 1, 0, 0, 0, 910, 8182, 1, - 0, 0, 0, 912, 8194, 1, 0, 0, 0, 914, 8218, 1, 0, 0, 0, 916, 8220, 1, 0, - 0, 0, 918, 8222, 1, 0, 0, 0, 920, 8230, 1, 0, 0, 0, 922, 8233, 1, 0, 0, - 0, 924, 8257, 1, 0, 0, 0, 926, 8259, 1, 0, 0, 0, 928, 8263, 1, 0, 0, 0, - 930, 8297, 1, 0, 0, 0, 932, 8316, 1, 0, 0, 0, 934, 8329, 1, 0, 0, 0, 936, - 8337, 1, 0, 0, 0, 938, 8351, 1, 0, 0, 0, 940, 8354, 1, 0, 0, 0, 942, 8365, - 1, 0, 0, 0, 944, 8381, 1, 0, 0, 0, 946, 8383, 1, 0, 0, 0, 948, 8388, 1, - 0, 0, 0, 950, 8391, 1, 0, 0, 0, 952, 8406, 1, 0, 0, 0, 954, 8424, 1, 0, - 0, 0, 956, 8426, 1, 0, 0, 0, 958, 8429, 1, 0, 0, 0, 960, 8437, 1, 0, 0, - 0, 962, 8447, 1, 0, 0, 0, 964, 8456, 1, 0, 0, 0, 966, 8463, 1, 0, 0, 0, - 968, 8467, 1, 0, 0, 0, 970, 8477, 1, 0, 0, 0, 972, 8480, 1, 0, 0, 0, 974, - 8496, 1, 0, 0, 0, 976, 8507, 1, 0, 0, 0, 978, 8555, 1, 0, 0, 0, 980, 8557, - 1, 0, 0, 0, 982, 8563, 1, 0, 0, 0, 984, 8571, 1, 0, 0, 0, 986, 8586, 1, - 0, 0, 0, 988, 8588, 1, 0, 0, 0, 990, 8590, 1, 0, 0, 0, 992, 8598, 1, 0, - 0, 0, 994, 8616, 1, 0, 0, 0, 996, 8618, 1, 0, 0, 0, 998, 8620, 1, 0, 0, - 0, 1000, 8622, 1, 0, 0, 0, 1002, 8630, 1, 0, 0, 0, 1004, 8632, 1, 0, 0, - 0, 1006, 8634, 1, 0, 0, 0, 1008, 8638, 1, 0, 0, 0, 1010, 8646, 1, 0, 0, - 0, 1012, 8665, 1, 0, 0, 0, 1014, 8667, 1, 0, 0, 0, 1016, 8692, 1, 0, 0, - 0, 1018, 8694, 1, 0, 0, 0, 1020, 8703, 1, 0, 0, 0, 1022, 8705, 1, 0, 0, - 0, 1024, 8712, 1, 0, 0, 0, 1026, 8716, 1, 0, 0, 0, 1028, 8718, 1, 0, 0, - 0, 1030, 8720, 1, 0, 0, 0, 1032, 8722, 1, 0, 0, 0, 1034, 8726, 1, 0, 0, - 0, 1036, 8739, 1, 0, 0, 0, 1038, 8741, 1, 0, 0, 0, 1040, 8744, 1, 0, 0, - 0, 1042, 8749, 1, 0, 0, 0, 1044, 8754, 1, 0, 0, 0, 1046, 8760, 1, 0, 0, - 0, 1048, 8767, 1, 0, 0, 0, 1050, 8769, 1, 0, 0, 0, 1052, 8772, 1, 0, 0, - 0, 1054, 8776, 1, 0, 0, 0, 1056, 8783, 1, 0, 0, 0, 1058, 8795, 1, 0, 0, - 0, 1060, 8798, 1, 0, 0, 0, 1062, 8812, 1, 0, 0, 0, 1064, 8815, 1, 0, 0, - 0, 1066, 8866, 1, 0, 0, 0, 1068, 8890, 1, 0, 0, 0, 1070, 8893, 1, 0, 0, - 0, 1072, 8902, 1, 0, 0, 0, 1074, 8905, 1, 0, 0, 0, 1076, 8926, 1, 0, 0, - 0, 1078, 8928, 1, 0, 0, 0, 1080, 8939, 1, 0, 0, 0, 1082, 8953, 1, 0, 0, - 0, 1084, 8955, 1, 0, 0, 0, 1086, 8963, 1, 0, 0, 0, 1088, 8970, 1, 0, 0, - 0, 1090, 8978, 1, 0, 0, 0, 1092, 8995, 1, 0, 0, 0, 1094, 8997, 1, 0, 0, - 0, 1096, 9001, 1, 0, 0, 0, 1098, 9009, 1, 0, 0, 0, 1100, 9014, 1, 0, 0, - 0, 1102, 9017, 1, 0, 0, 0, 1104, 9020, 1, 0, 0, 0, 1106, 9027, 1, 0, 0, - 0, 1108, 9029, 1, 0, 0, 0, 1110, 9037, 1, 0, 0, 0, 1112, 9042, 1, 0, 0, - 0, 1114, 9063, 1, 0, 0, 0, 1116, 9071, 1, 0, 0, 0, 1118, 9081, 1, 0, 0, - 0, 1120, 9093, 1, 0, 0, 0, 1122, 9095, 1, 0, 0, 0, 1124, 9109, 1, 0, 0, - 0, 1126, 9129, 1, 0, 0, 0, 1128, 9138, 1, 0, 0, 0, 1130, 9156, 1, 0, 0, - 0, 1132, 9162, 1, 0, 0, 0, 1134, 9168, 1, 0, 0, 0, 1136, 9176, 1, 0, 0, - 0, 1138, 9204, 1, 0, 0, 0, 1140, 9206, 1, 0, 0, 0, 1142, 9212, 1, 0, 0, - 0, 1144, 9216, 1, 0, 0, 0, 1146, 9218, 1, 0, 0, 0, 1148, 9226, 1, 0, 0, - 0, 1150, 9230, 1, 0, 0, 0, 1152, 9237, 1, 0, 0, 0, 1154, 9254, 1, 0, 0, - 0, 1156, 9256, 1, 0, 0, 0, 1158, 9258, 1, 0, 0, 0, 1160, 9268, 1, 0, 0, - 0, 1162, 9276, 1, 0, 0, 0, 1164, 9303, 1, 0, 0, 0, 1166, 9305, 1, 0, 0, - 0, 1168, 9312, 1, 0, 0, 0, 1170, 9315, 1, 0, 0, 0, 1172, 9317, 1, 0, 0, - 0, 1174, 9321, 1, 0, 0, 0, 1176, 9329, 1, 0, 0, 0, 1178, 9337, 1, 0, 0, - 0, 1180, 9345, 1, 0, 0, 0, 1182, 9359, 1, 0, 0, 0, 1184, 9368, 1, 0, 0, - 0, 1186, 9372, 1, 0, 0, 0, 1188, 9376, 1, 0, 0, 0, 1190, 9402, 1, 0, 0, - 0, 1192, 9416, 1, 0, 0, 0, 1194, 9432, 1, 0, 0, 0, 1196, 9442, 1, 0, 0, - 0, 1198, 9446, 1, 0, 0, 0, 1200, 9454, 1, 0, 0, 0, 1202, 9462, 1, 0, 0, - 0, 1204, 9468, 1, 0, 0, 0, 1206, 9472, 1, 0, 0, 0, 1208, 9479, 1, 0, 0, - 0, 1210, 9484, 1, 0, 0, 0, 1212, 9499, 1, 0, 0, 0, 1214, 9579, 1, 0, 0, - 0, 1216, 9581, 1, 0, 0, 0, 1218, 9583, 1, 0, 0, 0, 1220, 9628, 1, 0, 0, - 0, 1222, 9633, 1, 0, 0, 0, 1224, 9663, 1, 0, 0, 0, 1226, 9665, 1, 0, 0, - 0, 1228, 9670, 1, 0, 0, 0, 1230, 9983, 1, 0, 0, 0, 1232, 9985, 1, 0, 0, - 0, 1234, 10004, 1, 0, 0, 0, 1236, 10009, 1, 0, 0, 0, 1238, 10021, 1, 0, - 0, 0, 1240, 10023, 1, 0, 0, 0, 1242, 10042, 1, 0, 0, 0, 1244, 10044, 1, - 0, 0, 0, 1246, 10047, 1, 0, 0, 0, 1248, 10055, 1, 0, 0, 0, 1250, 10065, - 1, 0, 0, 0, 1252, 10067, 1, 0, 0, 0, 1254, 10075, 1, 0, 0, 0, 1256, 10090, - 1, 0, 0, 0, 1258, 10098, 1, 0, 0, 0, 1260, 10106, 1, 0, 0, 0, 1262, 10108, - 1, 0, 0, 0, 1264, 10124, 1, 0, 0, 0, 1266, 10126, 1, 0, 0, 0, 1268, 10136, - 1, 0, 0, 0, 1270, 10143, 1, 0, 0, 0, 1272, 10155, 1, 0, 0, 0, 1274, 10157, - 1, 0, 0, 0, 1276, 10162, 1, 0, 0, 0, 1278, 10170, 1, 0, 0, 0, 1280, 10175, - 1, 0, 0, 0, 1282, 10181, 1, 0, 0, 0, 1284, 10198, 1, 0, 0, 0, 1286, 10200, - 1, 0, 0, 0, 1288, 10203, 1, 0, 0, 0, 1290, 10209, 1, 0, 0, 0, 1292, 10215, - 1, 0, 0, 0, 1294, 10218, 1, 0, 0, 0, 1296, 10226, 1, 0, 0, 0, 1298, 10230, - 1, 0, 0, 0, 1300, 10235, 1, 0, 0, 0, 1302, 10250, 1, 0, 0, 0, 1304, 10252, - 1, 0, 0, 0, 1306, 10271, 1, 0, 0, 0, 1308, 10279, 1, 0, 0, 0, 1310, 10288, - 1, 0, 0, 0, 1312, 10290, 1, 0, 0, 0, 1314, 10311, 1, 0, 0, 0, 1316, 10313, - 1, 0, 0, 0, 1318, 10320, 1, 0, 0, 0, 1320, 10326, 1, 0, 0, 0, 1322, 10330, - 1, 0, 0, 0, 1324, 10332, 1, 0, 0, 0, 1326, 10340, 1, 0, 0, 0, 1328, 10348, - 1, 0, 0, 0, 1330, 10362, 1, 0, 0, 0, 1332, 10364, 1, 0, 0, 0, 1334, 10372, - 1, 0, 0, 0, 1336, 10385, 1, 0, 0, 0, 1338, 10387, 1, 0, 0, 0, 1340, 10395, - 1, 0, 0, 0, 1342, 10402, 1, 0, 0, 0, 1344, 10410, 1, 0, 0, 0, 1346, 10422, - 1, 0, 0, 0, 1348, 10424, 1, 0, 0, 0, 1350, 10426, 1, 0, 0, 0, 1352, 10435, - 1, 0, 0, 0, 1354, 10466, 1, 0, 0, 0, 1356, 10475, 1, 0, 0, 0, 1358, 10482, - 1, 0, 0, 0, 1360, 10484, 1, 0, 0, 0, 1362, 10495, 1, 0, 0, 0, 1364, 10499, - 1, 0, 0, 0, 1366, 10504, 1, 0, 0, 0, 1368, 10507, 1, 0, 0, 0, 1370, 10509, - 1, 0, 0, 0, 1372, 10530, 1, 0, 0, 0, 1374, 10532, 1, 0, 0, 0, 1376, 10535, - 1, 0, 0, 0, 1378, 10542, 1, 0, 0, 0, 1380, 10545, 1, 0, 0, 0, 1382, 10547, - 1, 0, 0, 0, 1384, 10561, 1, 0, 0, 0, 1386, 10566, 1, 0, 0, 0, 1388, 10568, - 1, 0, 0, 0, 1390, 10576, 1, 0, 0, 0, 1392, 10580, 1, 0, 0, 0, 1394, 10588, - 1, 0, 0, 0, 1396, 10590, 1, 0, 0, 0, 1398, 10592, 1, 0, 0, 0, 1400, 10601, - 1, 0, 0, 0, 1402, 10638, 1, 0, 0, 0, 1404, 10640, 1, 0, 0, 0, 1406, 10642, - 1, 0, 0, 0, 1408, 10644, 1, 0, 0, 0, 1410, 10646, 1, 0, 0, 0, 1412, 10648, - 1, 0, 0, 0, 1414, 10663, 1, 0, 0, 0, 1416, 10665, 1, 0, 0, 0, 1418, 10673, - 1, 0, 0, 0, 1420, 10675, 1, 0, 0, 0, 1422, 10680, 1, 0, 0, 0, 1424, 10682, - 1, 0, 0, 0, 1426, 10696, 1, 0, 0, 0, 1428, 10702, 1, 0, 0, 0, 1430, 10708, - 1, 0, 0, 0, 1432, 10714, 1, 0, 0, 0, 1434, 10722, 1, 0, 0, 0, 1436, 10733, - 1, 0, 0, 0, 1438, 10735, 1, 0, 0, 0, 1440, 10737, 1, 0, 0, 0, 1442, 10795, - 1, 0, 0, 0, 1444, 10797, 1, 0, 0, 0, 1446, 10799, 1, 0, 0, 0, 1448, 10801, - 1, 0, 0, 0, 1450, 10803, 1, 0, 0, 0, 1452, 10811, 1, 0, 0, 0, 1454, 10834, - 1, 0, 0, 0, 1456, 10836, 1, 0, 0, 0, 1458, 10842, 1, 0, 0, 0, 1460, 10844, - 1, 0, 0, 0, 1462, 10846, 1, 0, 0, 0, 1464, 10857, 1, 0, 0, 0, 1466, 10865, - 1, 0, 0, 0, 1468, 10868, 1, 0, 0, 0, 1470, 10872, 1, 0, 0, 0, 1472, 10879, - 1, 0, 0, 0, 1474, 10881, 1, 0, 0, 0, 1476, 10915, 1, 0, 0, 0, 1478, 10917, - 1, 0, 0, 0, 1480, 10919, 1, 0, 0, 0, 1482, 10923, 1, 0, 0, 0, 1484, 10931, - 1, 0, 0, 0, 1486, 10934, 1, 0, 0, 0, 1488, 10938, 1, 0, 0, 0, 1490, 10940, - 1, 0, 0, 0, 1492, 10942, 1, 0, 0, 0, 1494, 10944, 1, 0, 0, 0, 1496, 10946, - 1, 0, 0, 0, 1498, 10949, 1, 0, 0, 0, 1500, 10952, 1, 0, 0, 0, 1502, 10957, - 1, 0, 0, 0, 1504, 10959, 1, 0, 0, 0, 1506, 10964, 1, 0, 0, 0, 1508, 10994, - 1, 0, 0, 0, 1510, 10996, 1, 0, 0, 0, 1512, 11018, 1, 0, 0, 0, 1514, 11020, - 1, 0, 0, 0, 1516, 11022, 1, 0, 0, 0, 1518, 11027, 1, 0, 0, 0, 1520, 11035, - 1, 0, 0, 0, 1522, 11037, 1, 0, 0, 0, 1524, 11045, 1, 0, 0, 0, 1526, 11049, - 1, 0, 0, 0, 1528, 11051, 1, 0, 0, 0, 1530, 11055, 1, 0, 0, 0, 1532, 11066, - 1, 0, 0, 0, 1534, 11085, 1, 0, 0, 0, 1536, 11088, 1, 0, 0, 0, 1538, 11091, - 1, 0, 0, 0, 1540, 11103, 1, 0, 0, 0, 1542, 11106, 1, 0, 0, 0, 1544, 11110, - 1, 0, 0, 0, 1546, 11115, 1, 0, 0, 0, 1548, 11119, 1, 0, 0, 0, 1550, 11124, - 1, 0, 0, 0, 1552, 11131, 1, 0, 0, 0, 1554, 11137, 1, 0, 0, 0, 1556, 11161, - 1, 0, 0, 0, 1558, 11164, 1, 0, 0, 0, 1560, 11175, 1, 0, 0, 0, 1562, 11177, - 1, 0, 0, 0, 1564, 11180, 1, 0, 0, 0, 1566, 11183, 1, 0, 0, 0, 1568, 11195, - 1, 0, 0, 0, 1570, 11198, 1, 0, 0, 0, 1572, 11207, 1, 0, 0, 0, 1574, 11209, - 1, 0, 0, 0, 1576, 11228, 1, 0, 0, 0, 1578, 11273, 1, 0, 0, 0, 1580, 11275, - 1, 0, 0, 0, 1582, 11279, 1, 0, 0, 0, 1584, 11283, 1, 0, 0, 0, 1586, 11286, - 1, 0, 0, 0, 1588, 11290, 1, 0, 0, 0, 1590, 11298, 1, 0, 0, 0, 1592, 11305, - 1, 0, 0, 0, 1594, 11308, 1, 0, 0, 0, 1596, 11317, 1, 0, 0, 0, 1598, 11320, - 1, 0, 0, 0, 1600, 11339, 1, 0, 0, 0, 1602, 11342, 1, 0, 0, 0, 1604, 11350, - 1, 0, 0, 0, 1606, 11356, 1, 0, 0, 0, 1608, 11386, 1, 0, 0, 0, 1610, 11388, - 1, 0, 0, 0, 1612, 11396, 1, 0, 0, 0, 1614, 11400, 1, 0, 0, 0, 1616, 11404, - 1, 0, 0, 0, 1618, 11406, 1, 0, 0, 0, 1620, 11418, 1, 0, 0, 0, 1622, 11420, - 1, 0, 0, 0, 1624, 11437, 1, 0, 0, 0, 1626, 11439, 1, 0, 0, 0, 1628, 11446, - 1, 0, 0, 0, 1630, 11450, 1, 0, 0, 0, 1632, 11453, 1, 0, 0, 0, 1634, 11459, - 1, 0, 0, 0, 1636, 11465, 1, 0, 0, 0, 1638, 11483, 1, 0, 0, 0, 1640, 11487, - 1, 0, 0, 0, 1642, 11489, 1, 0, 0, 0, 1644, 11493, 1, 0, 0, 0, 1646, 11497, - 1, 0, 0, 0, 1648, 11502, 1, 0, 0, 0, 1650, 11513, 1, 0, 0, 0, 1652, 11515, - 1, 0, 0, 0, 1654, 11517, 1, 0, 0, 0, 1656, 11519, 1, 0, 0, 0, 1658, 11521, - 1, 0, 0, 0, 1660, 11526, 1, 0, 0, 0, 1662, 11528, 1, 0, 0, 0, 1664, 11531, - 1, 0, 0, 0, 1666, 11558, 1, 0, 0, 0, 1668, 11560, 1, 0, 0, 0, 1670, 11562, - 1, 0, 0, 0, 1672, 11564, 1, 0, 0, 0, 1674, 11566, 1, 0, 0, 0, 1676, 11570, + 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, + 1, 607, 1, 607, 1, 607, 1, 607, 3, 607, 9527, 8, 607, 1, 607, 1, 607, 1, + 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 1, 607, 3, 607, 9538, 8, 607, + 5, 607, 9540, 8, 607, 10, 607, 12, 607, 9543, 9, 607, 1, 608, 1, 608, 1, + 608, 1, 608, 1, 608, 3, 608, 9550, 8, 608, 1, 608, 1, 608, 1, 608, 1, 608, + 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, + 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 3, 608, + 9573, 8, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 1, 608, 3, 608, 9581, + 8, 608, 1, 609, 1, 609, 1, 610, 1, 610, 1, 610, 1, 610, 1, 610, 1, 610, + 3, 610, 9591, 8, 610, 1, 610, 3, 610, 9594, 8, 610, 1, 610, 1, 610, 1, + 610, 3, 610, 9599, 8, 610, 1, 610, 1, 610, 1, 610, 3, 610, 9604, 8, 610, + 1, 610, 1, 610, 3, 610, 9608, 8, 610, 1, 610, 1, 610, 1, 611, 1, 611, 3, + 611, 9614, 8, 611, 1, 611, 3, 611, 9617, 8, 611, 1, 611, 3, 611, 9620, + 8, 611, 1, 611, 1, 611, 3, 611, 9624, 8, 611, 1, 611, 3, 611, 9627, 8, + 611, 1, 611, 3, 611, 9630, 8, 611, 1, 612, 1, 612, 1, 612, 3, 612, 9635, + 8, 612, 1, 613, 1, 613, 1, 613, 1, 613, 3, 613, 9641, 8, 613, 1, 613, 3, + 613, 9644, 8, 613, 1, 613, 3, 613, 9647, 8, 613, 1, 613, 1, 613, 1, 613, + 1, 613, 1, 613, 1, 613, 3, 613, 9655, 8, 613, 1, 613, 3, 613, 9658, 8, + 613, 1, 613, 3, 613, 9661, 8, 613, 1, 613, 1, 613, 3, 613, 9665, 8, 613, + 1, 614, 1, 614, 1, 614, 3, 614, 9670, 8, 614, 1, 615, 1, 615, 1, 615, 1, + 615, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 3, 616, 9688, 8, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 3, 616, 9695, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 3, 616, 9702, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, + 9709, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, + 616, 9727, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, + 9735, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 3, 616, 9747, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 1, 616, 3, 616, 9765, 8, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9804, 8, 616, + 3, 616, 9806, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 3, 616, 9826, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9836, 8, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9847, 8, 616, + 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 3, 616, 9868, 8, 616, 1, 616, 3, 616, 9871, 8, 616, 1, 616, 3, + 616, 9874, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9881, + 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9888, 8, 616, 1, + 616, 3, 616, 9891, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 3, 616, 9899, 8, 616, 1, 616, 3, 616, 9902, 8, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 3, 616, 9909, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 3, 616, 9916, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, + 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9929, 8, 616, 1, 616, + 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 3, 616, 9942, 8, 616, 1, 616, 3, 616, 9945, 8, 616, 1, 616, 1, + 616, 3, 616, 9949, 8, 616, 1, 616, 3, 616, 9952, 8, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 3, 616, 9962, 8, 616, 1, + 616, 3, 616, 9965, 8, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, 1, 616, + 1, 616, 1, 616, 3, 616, 9975, 8, 616, 1, 616, 3, 616, 9978, 8, 616, 1, + 616, 3, 616, 9981, 8, 616, 1, 616, 1, 616, 3, 616, 9985, 8, 616, 1, 617, + 1, 617, 1, 617, 1, 617, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, + 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, 1, 618, + 3, 618, 10006, 8, 618, 1, 619, 1, 619, 1, 619, 3, 619, 10011, 8, 619, 1, + 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, 620, 1, + 620, 3, 620, 10023, 8, 620, 1, 621, 1, 621, 1, 621, 1, 621, 1, 621, 1, + 621, 1, 622, 1, 622, 3, 622, 10033, 8, 622, 1, 622, 1, 622, 1, 622, 3, + 622, 10038, 8, 622, 1, 622, 3, 622, 10041, 8, 622, 1, 622, 3, 622, 10044, + 8, 622, 1, 623, 1, 623, 1, 623, 1, 624, 1, 624, 1, 624, 5, 624, 10052, + 8, 624, 10, 624, 12, 624, 10055, 9, 624, 1, 625, 1, 625, 1, 625, 1, 625, + 1, 626, 1, 626, 1, 626, 1, 626, 1, 626, 1, 626, 3, 626, 10067, 8, 626, + 1, 627, 1, 627, 1, 627, 5, 627, 10072, 8, 627, 10, 627, 12, 627, 10075, + 9, 627, 1, 628, 1, 628, 1, 628, 3, 628, 10080, 8, 628, 1, 629, 1, 629, + 1, 629, 3, 629, 10085, 8, 629, 1, 629, 1, 629, 1, 629, 3, 629, 10090, 8, + 629, 3, 629, 10092, 8, 629, 1, 630, 1, 630, 1, 630, 1, 630, 1, 630, 1, + 630, 3, 630, 10100, 8, 630, 1, 631, 1, 631, 1, 631, 1, 631, 1, 631, 1, + 631, 3, 631, 10108, 8, 631, 1, 632, 1, 632, 1, 632, 5, 632, 10113, 8, 632, + 10, 632, 12, 632, 10116, 9, 632, 1, 633, 1, 633, 1, 633, 1, 633, 1, 633, + 1, 633, 1, 633, 1, 633, 3, 633, 10126, 8, 633, 1, 634, 1, 634, 3, 634, + 10130, 8, 634, 1, 635, 1, 635, 1, 635, 1, 635, 1, 635, 1, 635, 3, 635, + 10138, 8, 635, 1, 636, 1, 636, 1, 636, 1, 636, 1, 636, 3, 636, 10145, 8, + 636, 1, 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, 637, 1, + 637, 1, 637, 3, 637, 10157, 8, 637, 1, 638, 1, 638, 1, 638, 1, 638, 1, + 638, 1, 639, 1, 639, 1, 639, 5, 639, 10167, 8, 639, 10, 639, 12, 639, 10170, + 9, 639, 1, 640, 1, 640, 1, 640, 3, 640, 10175, 8, 640, 1, 641, 1, 641, + 1, 642, 1, 642, 1, 642, 1, 642, 3, 642, 10183, 8, 642, 1, 643, 1, 643, + 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, 1, 643, + 1, 643, 1, 643, 1, 643, 1, 643, 3, 643, 10200, 8, 643, 1, 644, 1, 644, + 1, 644, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, 645, 1, 646, 1, 646, + 1, 646, 1, 646, 1, 646, 1, 646, 1, 647, 1, 647, 1, 647, 1, 648, 1, 648, + 1, 648, 5, 648, 10223, 8, 648, 10, 648, 12, 648, 10226, 9, 648, 1, 649, + 1, 649, 1, 649, 1, 649, 1, 650, 1, 650, 1, 650, 3, 650, 10235, 8, 650, + 1, 651, 1, 651, 3, 651, 10239, 8, 651, 1, 651, 3, 651, 10242, 8, 651, 1, + 651, 3, 651, 10245, 8, 651, 1, 651, 3, 651, 10248, 8, 651, 1, 651, 1, 651, + 1, 652, 1, 652, 1, 653, 1, 653, 1, 653, 1, 653, 1, 654, 1, 654, 1, 654, + 3, 654, 10261, 8, 654, 1, 654, 1, 654, 1, 654, 3, 654, 10266, 8, 654, 1, + 654, 1, 654, 1, 654, 3, 654, 10271, 8, 654, 3, 654, 10273, 8, 654, 1, 655, + 1, 655, 1, 655, 1, 655, 1, 655, 1, 655, 3, 655, 10281, 8, 655, 1, 656, + 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 1, 656, 3, 656, 10290, 8, 656, + 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 1, 657, 3, 657, 10299, + 8, 657, 1, 658, 1, 658, 1, 658, 3, 658, 10304, 8, 658, 1, 658, 1, 658, + 1, 658, 1, 658, 1, 658, 1, 658, 1, 658, 3, 658, 10313, 8, 658, 1, 659, + 1, 659, 1, 659, 3, 659, 10318, 8, 659, 1, 659, 1, 659, 1, 660, 1, 660, + 1, 660, 1, 660, 1, 660, 1, 660, 1, 661, 1, 661, 1, 662, 1, 662, 3, 662, + 10332, 8, 662, 1, 663, 1, 663, 1, 664, 1, 664, 1, 664, 1, 664, 1, 664, + 1, 664, 3, 664, 10342, 8, 664, 1, 665, 1, 665, 1, 665, 1, 665, 1, 665, + 1, 665, 3, 665, 10350, 8, 665, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, + 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 1, 666, 3, 666, 10364, + 8, 666, 1, 667, 1, 667, 1, 667, 5, 667, 10369, 8, 667, 10, 667, 12, 667, + 10372, 9, 667, 1, 668, 1, 668, 1, 668, 5, 668, 10377, 8, 668, 10, 668, + 12, 668, 10380, 9, 668, 1, 669, 1, 669, 1, 669, 1, 669, 1, 669, 3, 669, + 10387, 8, 669, 1, 670, 1, 670, 1, 670, 5, 670, 10392, 8, 670, 10, 670, + 12, 670, 10395, 9, 670, 1, 671, 1, 671, 1, 671, 3, 671, 10400, 8, 671, + 1, 671, 1, 671, 1, 672, 1, 672, 1, 672, 5, 672, 10407, 8, 672, 10, 672, + 12, 672, 10410, 9, 672, 1, 673, 1, 673, 1, 673, 1, 673, 1, 674, 1, 674, + 1, 674, 1, 674, 1, 674, 1, 674, 1, 674, 1, 674, 3, 674, 10424, 8, 674, + 1, 675, 1, 675, 1, 676, 1, 676, 1, 676, 1, 676, 1, 676, 1, 676, 1, 676, + 3, 676, 10435, 8, 676, 1, 677, 1, 677, 1, 677, 1, 677, 1, 678, 1, 678, + 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, + 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, + 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 1, 678, 3, 678, 10468, + 8, 678, 1, 679, 1, 679, 1, 679, 1, 679, 1, 679, 1, 679, 1, 679, 3, 679, + 10477, 8, 679, 1, 680, 1, 680, 1, 680, 1, 680, 1, 680, 3, 680, 10484, 8, + 680, 1, 681, 1, 681, 3, 681, 10488, 8, 681, 1, 681, 1, 681, 3, 681, 10492, + 8, 681, 1, 681, 1, 681, 1, 682, 4, 682, 10497, 8, 682, 11, 682, 12, 682, + 10498, 1, 683, 1, 683, 1, 683, 1, 683, 1, 683, 1, 684, 1, 684, 1, 684, + 1, 685, 1, 685, 1, 686, 1, 686, 3, 686, 10513, 8, 686, 1, 687, 1, 687, + 1, 687, 3, 687, 10518, 8, 687, 1, 687, 1, 687, 1, 687, 3, 687, 10523, 8, + 687, 1, 687, 1, 687, 3, 687, 10527, 8, 687, 3, 687, 10529, 8, 687, 1, 687, + 3, 687, 10532, 8, 687, 1, 688, 1, 688, 1, 689, 4, 689, 10537, 8, 689, 11, + 689, 12, 689, 10538, 1, 690, 5, 690, 10542, 8, 690, 10, 690, 12, 690, 10545, + 9, 690, 1, 691, 1, 691, 1, 692, 1, 692, 1, 692, 5, 692, 10552, 8, 692, + 10, 692, 12, 692, 10555, 9, 692, 1, 693, 1, 693, 1, 693, 3, 693, 10560, + 8, 693, 1, 693, 3, 693, 10563, 8, 693, 1, 694, 1, 694, 1, 694, 3, 694, + 10568, 8, 694, 1, 695, 1, 695, 1, 695, 5, 695, 10573, 8, 695, 10, 695, + 12, 695, 10576, 9, 695, 1, 696, 1, 696, 3, 696, 10580, 8, 696, 1, 697, + 1, 697, 1, 697, 5, 697, 10585, 8, 697, 10, 697, 12, 697, 10588, 9, 697, + 1, 698, 1, 698, 1, 699, 1, 699, 1, 700, 1, 700, 1, 701, 1, 701, 1, 701, + 1, 701, 1, 701, 1, 701, 3, 701, 10602, 8, 701, 1, 702, 1, 702, 1, 702, + 1, 702, 1, 702, 1, 702, 1, 702, 1, 702, 1, 702, 1, 702, 3, 702, 10614, + 8, 702, 1, 702, 1, 702, 1, 702, 3, 702, 10619, 8, 702, 1, 702, 1, 702, + 1, 702, 1, 702, 1, 702, 1, 702, 3, 702, 10627, 8, 702, 1, 702, 1, 702, + 1, 702, 1, 702, 1, 702, 3, 702, 10634, 8, 702, 1, 702, 1, 702, 1, 702, + 3, 702, 10639, 8, 702, 1, 703, 1, 703, 1, 704, 1, 704, 1, 705, 1, 705, + 1, 706, 1, 706, 1, 707, 1, 707, 3, 707, 10651, 8, 707, 1, 708, 1, 708, + 1, 708, 1, 708, 5, 708, 10657, 8, 708, 10, 708, 12, 708, 10660, 9, 708, + 1, 708, 1, 708, 3, 708, 10664, 8, 708, 1, 709, 1, 709, 1, 709, 1, 710, + 1, 710, 1, 710, 1, 710, 1, 710, 3, 710, 10674, 8, 710, 1, 711, 1, 711, + 1, 712, 1, 712, 1, 712, 3, 712, 10681, 8, 712, 1, 713, 1, 713, 1, 713, + 5, 713, 10686, 8, 713, 10, 713, 12, 713, 10689, 9, 713, 1, 714, 1, 714, + 1, 714, 1, 714, 1, 714, 1, 714, 3, 714, 10697, 8, 714, 1, 715, 1, 715, + 1, 715, 1, 715, 3, 715, 10703, 8, 715, 1, 716, 1, 716, 1, 716, 1, 716, + 3, 716, 10709, 8, 716, 1, 717, 1, 717, 1, 717, 1, 717, 3, 717, 10715, 8, + 717, 1, 718, 1, 718, 1, 718, 1, 718, 1, 718, 1, 718, 3, 718, 10723, 8, + 718, 1, 719, 1, 719, 3, 719, 10727, 8, 719, 1, 719, 1, 719, 1, 719, 1, + 719, 1, 719, 3, 719, 10734, 8, 719, 1, 720, 1, 720, 1, 721, 1, 721, 1, + 721, 3, 721, 10741, 8, 721, 1, 722, 5, 722, 10744, 8, 722, 10, 722, 12, + 722, 10747, 9, 722, 1, 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, + 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, 723, 1, + 723, 1, 723, 1, 723, 1, 723, 1, 723, 3, 723, 10769, 8, 723, 1, 724, 1, + 724, 1, 725, 1, 725, 1, 725, 1, 725, 3, 725, 10777, 8, 725, 1, 726, 1, + 726, 1, 727, 1, 727, 1, 727, 1, 727, 3, 727, 10785, 8, 727, 1, 727, 1, + 727, 3, 727, 10789, 8, 727, 1, 728, 3, 728, 10792, 8, 728, 1, 728, 1, 728, + 3, 728, 10796, 8, 728, 3, 728, 10798, 8, 728, 1, 729, 1, 729, 1, 730, 4, + 730, 10803, 8, 730, 11, 730, 12, 730, 10804, 1, 731, 1, 731, 1, 731, 1, + 731, 1, 732, 1, 732, 1, 732, 3, 732, 10814, 8, 732, 1, 733, 1, 733, 1, + 733, 1, 733, 1, 733, 3, 733, 10821, 8, 733, 1, 733, 1, 733, 3, 733, 10825, + 8, 733, 1, 733, 3, 733, 10828, 8, 733, 1, 733, 3, 733, 10831, 8, 733, 1, + 733, 3, 733, 10834, 8, 733, 1, 733, 1, 733, 3, 733, 10838, 8, 733, 1, 733, + 1, 733, 1, 733, 3, 733, 10843, 8, 733, 1, 733, 1, 733, 1, 734, 1, 734, + 1, 734, 3, 734, 10850, 8, 734, 1, 735, 1, 735, 1, 736, 1, 736, 1, 736, + 1, 736, 1, 737, 1, 737, 1, 737, 5, 737, 10861, 8, 737, 10, 737, 12, 737, + 10864, 9, 737, 1, 738, 1, 738, 1, 738, 1, 739, 1, 739, 1, 740, 1, 740, + 3, 740, 10873, 8, 740, 1, 741, 1, 741, 1, 742, 1, 742, 1, 743, 1, 743, + 1, 744, 1, 744, 1, 744, 1, 745, 1, 745, 1, 745, 1, 746, 1, 746, 1, 746, + 1, 747, 1, 747, 3, 747, 10892, 8, 747, 1, 748, 1, 748, 1, 749, 5, 749, + 10897, 8, 749, 10, 749, 12, 749, 10900, 9, 749, 1, 750, 1, 750, 1, 750, + 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, + 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, + 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 1, 750, 3, 750, 10929, 8, 750, + 1, 751, 1, 751, 1, 751, 1, 751, 1, 752, 1, 752, 1, 752, 1, 752, 3, 752, + 10939, 8, 752, 1, 752, 1, 752, 1, 752, 1, 752, 1, 752, 1, 752, 1, 752, + 3, 752, 10948, 8, 752, 1, 752, 1, 752, 1, 752, 3, 752, 10953, 8, 752, 1, + 753, 1, 753, 1, 754, 1, 754, 1, 754, 1, 754, 1, 754, 1, 755, 1, 755, 3, + 755, 10964, 8, 755, 1, 755, 1, 755, 1, 755, 1, 755, 1, 756, 1, 756, 1, + 757, 1, 757, 1, 757, 5, 757, 10975, 8, 757, 10, 757, 12, 757, 10978, 9, + 757, 1, 758, 1, 758, 1, 758, 1, 758, 1, 759, 1, 759, 1, 760, 1, 760, 1, + 761, 1, 761, 3, 761, 10990, 8, 761, 1, 761, 1, 761, 1, 761, 1, 761, 5, + 761, 10996, 8, 761, 10, 761, 12, 761, 10999, 9, 761, 1, 762, 1, 762, 1, + 762, 1, 762, 1, 762, 1, 762, 3, 762, 11007, 8, 762, 1, 762, 1, 762, 1, + 762, 1, 762, 1, 763, 1, 763, 1, 763, 1, 763, 1, 763, 5, 763, 11018, 8, + 763, 10, 763, 12, 763, 11021, 9, 763, 1, 764, 1, 764, 1, 764, 1, 765, 1, + 765, 3, 765, 11028, 8, 765, 1, 765, 1, 765, 3, 765, 11032, 8, 765, 1, 765, + 1, 765, 1, 765, 1, 765, 1, 766, 1, 766, 1, 767, 4, 767, 11041, 8, 767, + 11, 767, 12, 767, 11042, 1, 768, 1, 768, 1, 768, 1, 768, 1, 768, 1, 769, + 1, 769, 1, 769, 1, 770, 3, 770, 11054, 8, 770, 1, 770, 1, 770, 1, 771, + 3, 771, 11059, 8, 771, 1, 771, 1, 771, 1, 771, 1, 771, 1, 772, 3, 772, + 11066, 8, 772, 1, 772, 1, 772, 1, 772, 1, 772, 1, 773, 1, 773, 1, 773, + 1, 773, 3, 773, 11076, 8, 773, 1, 773, 1, 773, 1, 773, 1, 773, 1, 773, + 3, 773, 11083, 8, 773, 1, 773, 3, 773, 11086, 8, 773, 1, 773, 1, 773, 1, + 773, 1, 773, 3, 773, 11092, 8, 773, 3, 773, 11094, 8, 773, 1, 774, 1, 774, + 1, 774, 1, 775, 1, 775, 1, 775, 1, 775, 5, 775, 11103, 8, 775, 10, 775, + 12, 775, 11106, 9, 775, 1, 775, 1, 775, 1, 776, 1, 776, 1, 777, 1, 777, + 1, 777, 1, 778, 1, 778, 1, 779, 3, 779, 11118, 8, 779, 1, 779, 1, 779, + 1, 779, 3, 779, 11123, 8, 779, 1, 779, 1, 779, 1, 779, 1, 779, 1, 779, + 1, 780, 1, 780, 1, 780, 1, 781, 1, 781, 3, 781, 11135, 8, 781, 1, 781, + 3, 781, 11138, 8, 781, 1, 781, 1, 781, 1, 782, 1, 782, 1, 783, 1, 783, + 1, 783, 1, 783, 1, 783, 1, 783, 1, 783, 3, 783, 11151, 8, 783, 1, 783, + 3, 783, 11154, 8, 783, 1, 783, 3, 783, 11157, 8, 783, 3, 783, 11159, 8, + 783, 1, 783, 1, 783, 1, 784, 1, 784, 1, 785, 1, 785, 3, 785, 11167, 8, + 785, 1, 785, 1, 785, 3, 785, 11171, 8, 785, 1, 785, 3, 785, 11174, 8, 785, + 1, 785, 1, 785, 1, 785, 1, 785, 3, 785, 11180, 8, 785, 1, 785, 1, 785, + 3, 785, 11184, 8, 785, 1, 785, 1, 785, 1, 785, 1, 785, 3, 785, 11190, 8, + 785, 1, 785, 1, 785, 1, 785, 3, 785, 11195, 8, 785, 1, 785, 1, 785, 1, + 785, 1, 785, 3, 785, 11201, 8, 785, 1, 785, 3, 785, 11204, 8, 785, 1, 785, + 1, 785, 3, 785, 11208, 8, 785, 1, 786, 1, 786, 1, 787, 1, 787, 4, 787, + 11214, 8, 787, 11, 787, 12, 787, 11215, 1, 788, 1, 788, 1, 788, 1, 789, + 1, 789, 1, 789, 1, 789, 1, 790, 1, 790, 1, 790, 5, 790, 11228, 8, 790, + 10, 790, 12, 790, 11231, 9, 790, 1, 791, 1, 791, 1, 791, 3, 791, 11236, + 8, 791, 1, 791, 1, 791, 1, 792, 1, 792, 1, 792, 1, 793, 1, 793, 1, 793, + 1, 793, 1, 793, 3, 793, 11248, 8, 793, 1, 793, 1, 793, 1, 794, 1, 794, + 1, 794, 1, 795, 1, 795, 1, 795, 3, 795, 11258, 8, 795, 1, 795, 3, 795, + 11261, 8, 795, 1, 795, 3, 795, 11264, 8, 795, 1, 795, 3, 795, 11267, 8, + 795, 1, 795, 3, 795, 11270, 8, 795, 1, 795, 1, 795, 1, 796, 1, 796, 1, + 796, 1, 797, 1, 797, 1, 797, 5, 797, 11280, 8, 797, 10, 797, 12, 797, 11283, + 9, 797, 1, 798, 1, 798, 3, 798, 11287, 8, 798, 1, 798, 1, 798, 1, 799, + 1, 799, 1, 799, 3, 799, 11294, 8, 799, 1, 799, 1, 799, 1, 799, 1, 799, + 1, 799, 3, 799, 11301, 8, 799, 3, 799, 11303, 8, 799, 1, 799, 1, 799, 1, + 799, 1, 799, 1, 799, 3, 799, 11310, 8, 799, 3, 799, 11312, 8, 799, 1, 799, + 1, 799, 1, 800, 1, 800, 1, 800, 1, 800, 1, 800, 3, 800, 11321, 8, 800, + 1, 801, 1, 801, 1, 801, 5, 801, 11326, 8, 801, 10, 801, 12, 801, 11329, + 9, 801, 1, 802, 1, 802, 1, 802, 1, 803, 3, 803, 11335, 8, 803, 1, 803, + 1, 803, 1, 804, 1, 804, 1, 805, 1, 805, 3, 805, 11343, 8, 805, 1, 805, + 3, 805, 11346, 8, 805, 1, 805, 1, 805, 1, 805, 1, 805, 1, 805, 1, 806, + 1, 806, 1, 807, 1, 807, 1, 808, 1, 808, 1, 808, 1, 808, 1, 808, 1, 808, + 1, 808, 1, 808, 1, 808, 1, 808, 1, 808, 1, 808, 1, 808, 3, 808, 11370, + 8, 808, 3, 808, 11372, 8, 808, 1, 809, 1, 809, 3, 809, 11376, 8, 809, 1, + 809, 1, 809, 1, 809, 1, 810, 1, 810, 1, 810, 1, 810, 1, 811, 1, 811, 1, + 811, 1, 812, 1, 812, 3, 812, 11390, 8, 812, 1, 812, 1, 812, 1, 813, 1, + 813, 3, 813, 11396, 8, 813, 1, 813, 1, 813, 1, 814, 1, 814, 3, 814, 11402, + 8, 814, 1, 814, 1, 814, 1, 815, 1, 815, 1, 815, 1, 815, 1, 815, 1, 815, + 1, 815, 1, 815, 1, 815, 3, 815, 11415, 8, 815, 1, 815, 3, 815, 11418, 8, + 815, 1, 816, 1, 816, 3, 816, 11422, 8, 816, 1, 817, 1, 817, 1, 817, 1, + 818, 4, 818, 11428, 8, 818, 11, 818, 12, 818, 11429, 1, 819, 1, 819, 1, + 819, 1, 819, 1, 819, 1, 820, 1, 820, 1, 820, 5, 820, 11440, 8, 820, 10, + 820, 12, 820, 11443, 9, 820, 1, 821, 1, 821, 1, 821, 3, 821, 11448, 8, + 821, 1, 822, 1, 822, 1, 823, 1, 823, 1, 824, 1, 824, 1, 825, 1, 825, 1, + 825, 1, 826, 1, 826, 3, 826, 11461, 8, 826, 1, 827, 1, 827, 1, 828, 3, + 828, 11466, 8, 828, 1, 828, 1, 828, 3, 828, 11470, 8, 828, 1, 828, 3, 828, + 11473, 8, 828, 1, 828, 3, 828, 11476, 8, 828, 1, 828, 3, 828, 11479, 8, + 828, 1, 828, 3, 828, 11482, 8, 828, 1, 828, 3, 828, 11485, 8, 828, 1, 828, + 3, 828, 11488, 8, 828, 1, 828, 3, 828, 11491, 8, 828, 1, 829, 1, 829, 1, + 830, 1, 830, 1, 831, 1, 831, 1, 832, 1, 832, 1, 833, 1, 833, 3, 833, 11503, + 8, 833, 1, 834, 1, 834, 3, 834, 11507, 8, 834, 1, 834, 1, 834, 1, 835, + 1, 835, 1, 836, 1, 836, 1, 837, 1, 837, 1, 838, 1, 838, 1, 838, 0, 1, 1214, + 839, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, + 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, + 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, + 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, + 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, + 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, + 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, + 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, + 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, + 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, + 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, + 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, + 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, + 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, + 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, + 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, + 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, + 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, + 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, + 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, + 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, + 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, + 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, + 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, + 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, 756, 758, 760, 762, 764, + 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, 794, + 796, 798, 800, 802, 804, 806, 808, 810, 812, 814, 816, 818, 820, 822, 824, + 826, 828, 830, 832, 834, 836, 838, 840, 842, 844, 846, 848, 850, 852, 854, + 856, 858, 860, 862, 864, 866, 868, 870, 872, 874, 876, 878, 880, 882, 884, + 886, 888, 890, 892, 894, 896, 898, 900, 902, 904, 906, 908, 910, 912, 914, + 916, 918, 920, 922, 924, 926, 928, 930, 932, 934, 936, 938, 940, 942, 944, + 946, 948, 950, 952, 954, 956, 958, 960, 962, 964, 966, 968, 970, 972, 974, + 976, 978, 980, 982, 984, 986, 988, 990, 992, 994, 996, 998, 1000, 1002, + 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, + 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, + 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, + 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, + 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, + 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, + 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, + 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, + 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, + 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, + 1244, 1246, 1248, 1250, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, + 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, + 1292, 1294, 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, + 1316, 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336, 1338, + 1340, 1342, 1344, 1346, 1348, 1350, 1352, 1354, 1356, 1358, 1360, 1362, + 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1384, 1386, + 1388, 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, 1406, 1408, 1410, + 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428, 1430, 1432, 1434, + 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1454, 1456, 1458, + 1460, 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476, 1478, 1480, 1482, + 1484, 1486, 1488, 1490, 1492, 1494, 1496, 1498, 1500, 1502, 1504, 1506, + 1508, 1510, 1512, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528, 1530, + 1532, 1534, 1536, 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1554, + 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572, 1574, 1576, 1578, + 1580, 1582, 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1600, 1602, + 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1626, + 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, 1644, 1646, 1648, 1650, + 1652, 1654, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, + 1676, 0, 77, 2, 0, 127, 127, 445, 445, 2, 0, 168, 168, 361, 361, 2, 0, + 361, 361, 453, 453, 3, 0, 168, 168, 361, 361, 453, 453, 2, 0, 6, 6, 121, + 121, 2, 0, 238, 238, 382, 382, 2, 0, 429, 429, 504, 504, 2, 0, 66, 66, + 443, 443, 2, 0, 104, 104, 179, 179, 5, 0, 10, 10, 319, 319, 379, 379, 421, + 421, 423, 423, 2, 0, 44, 44, 355, 355, 2, 0, 159, 159, 429, 429, 2, 0, + 421, 421, 423, 423, 2, 0, 136, 136, 185, 185, 9, 0, 10, 10, 64, 64, 74, + 74, 102, 102, 163, 163, 176, 176, 189, 189, 401, 401, 404, 404, 3, 0, 160, + 160, 311, 311, 390, 390, 2, 0, 101, 101, 279, 279, 3, 0, 93, 93, 249, 249, + 254, 254, 5, 0, 10, 10, 106, 106, 198, 198, 377, 377, 452, 452, 2, 0, 188, + 188, 416, 416, 2, 0, 264, 264, 289, 289, 2, 0, 366, 366, 416, 416, 2, 0, + 366, 366, 400, 400, 2, 0, 161, 161, 331, 331, 3, 0, 320, 320, 368, 368, + 434, 434, 2, 0, 159, 159, 183, 183, 6, 0, 162, 162, 365, 365, 372, 372, + 379, 379, 417, 417, 440, 440, 2, 0, 20, 20, 111, 111, 2, 0, 101, 101, 504, + 504, 3, 0, 161, 161, 331, 331, 364, 364, 5, 0, 95, 95, 188, 188, 371, 371, + 414, 414, 416, 416, 3, 0, 95, 95, 371, 371, 414, 414, 3, 0, 68, 68, 419, + 419, 464, 464, 4, 0, 106, 106, 198, 198, 377, 377, 452, 452, 2, 0, 11, + 11, 199, 199, 2, 0, 431, 431, 477, 477, 2, 0, 45, 45, 238, 238, 2, 0, 353, + 353, 384, 384, 1, 0, 14, 15, 2, 0, 414, 414, 453, 453, 2, 0, 137, 137, + 387, 387, 2, 0, 134, 134, 446, 446, 2, 0, 164, 164, 238, 238, 2, 0, 10, + 10, 116, 116, 1, 0, 366, 367, 2, 0, 150, 150, 265, 265, 4, 0, 160, 160, + 194, 194, 232, 232, 360, 360, 2, 0, 439, 439, 532, 532, 2, 0, 50, 51, 262, + 262, 1, 0, 50, 51, 1, 0, 427, 428, 1, 0, 512, 513, 2, 0, 207, 207, 277, + 277, 5, 0, 504, 504, 510, 511, 515, 515, 517, 517, 519, 519, 1, 0, 506, + 507, 3, 0, 503, 503, 508, 508, 521, 521, 3, 0, 38, 38, 229, 229, 430, 430, + 2, 0, 221, 221, 290, 290, 2, 0, 69, 69, 444, 444, 2, 0, 75, 75, 118, 118, + 2, 0, 342, 342, 459, 459, 2, 0, 152, 152, 322, 322, 3, 0, 10, 10, 17, 17, + 394, 394, 6, 0, 503, 504, 506, 511, 515, 515, 517, 517, 519, 519, 521, + 521, 2, 0, 514, 514, 516, 516, 1, 0, 266, 269, 2, 0, 153, 153, 206, 206, + 2, 0, 504, 504, 514, 514, 2, 0, 84, 84, 543, 543, 2, 0, 76, 76, 549, 549, + 1, 0, 553, 558, 2, 0, 30, 30, 157, 157, 42, 0, 3, 3, 16, 16, 18, 18, 30, + 30, 42, 42, 49, 49, 56, 56, 59, 59, 61, 61, 65, 65, 73, 73, 76, 76, 84, + 84, 92, 92, 101, 101, 117, 117, 131, 131, 147, 147, 150, 150, 157, 157, + 198, 198, 206, 206, 227, 227, 257, 257, 265, 265, 270, 270, 294, 294, 301, + 301, 328, 328, 347, 347, 353, 353, 356, 356, 362, 362, 371, 371, 373, 373, + 384, 384, 416, 416, 439, 439, 532, 544, 546, 546, 548, 559, 561, 561, 56, + 0, 10, 10, 14, 20, 24, 24, 38, 38, 46, 47, 53, 53, 59, 59, 61, 61, 73, + 73, 80, 80, 85, 87, 89, 91, 101, 101, 103, 103, 111, 111, 116, 117, 123, + 123, 128, 128, 134, 134, 145, 145, 147, 147, 153, 153, 155, 155, 159, 159, + 165, 165, 168, 168, 172, 172, 183, 183, 192, 192, 202, 202, 204, 204, 228, + 229, 235, 235, 239, 240, 274, 274, 279, 279, 287, 287, 291, 292, 296, 297, + 317, 317, 327, 327, 343, 343, 357, 357, 377, 377, 383, 383, 394, 394, 412, + 412, 415, 416, 425, 425, 429, 430, 436, 436, 446, 447, 453, 454, 462, 462, + 470, 471, 473, 474, 85, 0, 1, 9, 11, 13, 21, 23, 25, 28, 30, 32, 39, 45, + 48, 49, 52, 52, 54, 57, 62, 67, 69, 72, 74, 79, 82, 84, 92, 97, 100, 100, + 102, 102, 104, 110, 112, 115, 118, 122, 124, 127, 129, 133, 135, 138, 140, + 143, 146, 146, 148, 150, 152, 152, 154, 154, 156, 157, 161, 164, 166, 166, + 170, 171, 173, 177, 179, 182, 184, 191, 193, 193, 196, 199, 205, 205, 208, + 208, 221, 227, 230, 230, 233, 233, 236, 238, 241, 250, 252, 259, 263, 270, + 273, 273, 275, 276, 278, 278, 281, 281, 283, 286, 288, 290, 293, 295, 298, + 299, 302, 302, 305, 316, 318, 320, 322, 322, 324, 326, 328, 338, 340, 342, + 344, 356, 358, 359, 361, 365, 367, 376, 378, 382, 384, 384, 386, 388, 390, + 391, 393, 393, 395, 409, 411, 411, 413, 414, 417, 417, 419, 424, 426, 426, + 431, 432, 434, 434, 437, 445, 448, 452, 455, 459, 463, 463, 465, 469, 472, + 472, 475, 480, 492, 494, 35, 0, 33, 34, 36, 37, 50, 51, 58, 58, 98, 99, + 139, 139, 144, 144, 151, 151, 167, 167, 169, 169, 195, 195, 200, 201, 203, + 203, 210, 220, 231, 231, 251, 251, 260, 260, 262, 262, 271, 272, 280, 280, + 282, 282, 300, 300, 304, 304, 321, 321, 323, 323, 339, 339, 366, 366, 385, + 385, 392, 392, 410, 410, 427, 428, 433, 433, 435, 435, 460, 461, 481, 491, + 22, 0, 29, 29, 35, 35, 60, 60, 68, 68, 81, 81, 88, 88, 158, 158, 160, 160, + 178, 178, 194, 194, 206, 207, 209, 209, 232, 232, 234, 234, 261, 261, 277, + 277, 301, 301, 303, 303, 360, 360, 389, 389, 418, 418, 464, 464, 12713, + 0, 1678, 1, 0, 0, 0, 2, 1681, 1, 0, 0, 0, 4, 1683, 1, 0, 0, 0, 6, 1691, + 1, 0, 0, 0, 8, 1819, 1, 0, 0, 0, 10, 1821, 1, 0, 0, 0, 12, 1825, 1, 0, + 0, 0, 14, 1828, 1, 0, 0, 0, 16, 1836, 1, 0, 0, 0, 18, 1841, 1, 0, 0, 0, + 20, 1847, 1, 0, 0, 0, 22, 1868, 1, 0, 0, 0, 24, 1880, 1, 0, 0, 0, 26, 1882, + 1, 0, 0, 0, 28, 1890, 1, 0, 0, 0, 30, 1898, 1, 0, 0, 0, 32, 1902, 1, 0, + 0, 0, 34, 1913, 1, 0, 0, 0, 36, 1921, 1, 0, 0, 0, 38, 1929, 1, 0, 0, 0, + 40, 1936, 1, 0, 0, 0, 42, 1938, 1, 0, 0, 0, 44, 1955, 1, 0, 0, 0, 46, 1960, + 1, 0, 0, 0, 48, 1969, 1, 0, 0, 0, 50, 1971, 1, 0, 0, 0, 52, 1985, 1, 0, + 0, 0, 54, 1987, 1, 0, 0, 0, 56, 2018, 1, 0, 0, 0, 58, 2020, 1, 0, 0, 0, + 60, 2028, 1, 0, 0, 0, 62, 2038, 1, 0, 0, 0, 64, 2045, 1, 0, 0, 0, 66, 2051, + 1, 0, 0, 0, 68, 2069, 1, 0, 0, 0, 70, 2073, 1, 0, 0, 0, 72, 2077, 1, 0, + 0, 0, 74, 2079, 1, 0, 0, 0, 76, 2090, 1, 0, 0, 0, 78, 2094, 1, 0, 0, 0, + 80, 2099, 1, 0, 0, 0, 82, 2104, 1, 0, 0, 0, 84, 2106, 1, 0, 0, 0, 86, 2118, + 1, 0, 0, 0, 88, 2125, 1, 0, 0, 0, 90, 2127, 1, 0, 0, 0, 92, 2129, 1, 0, + 0, 0, 94, 2131, 1, 0, 0, 0, 96, 2246, 1, 0, 0, 0, 98, 2248, 1, 0, 0, 0, + 100, 2264, 1, 0, 0, 0, 102, 2266, 1, 0, 0, 0, 104, 2572, 1, 0, 0, 0, 106, + 2579, 1, 0, 0, 0, 108, 2581, 1, 0, 0, 0, 110, 2583, 1, 0, 0, 0, 112, 2586, + 1, 0, 0, 0, 114, 2595, 1, 0, 0, 0, 116, 2597, 1, 0, 0, 0, 118, 2601, 1, + 0, 0, 0, 120, 2604, 1, 0, 0, 0, 122, 2612, 1, 0, 0, 0, 124, 2624, 1, 0, + 0, 0, 126, 2641, 1, 0, 0, 0, 128, 2669, 1, 0, 0, 0, 130, 2671, 1, 0, 0, + 0, 132, 2674, 1, 0, 0, 0, 134, 2682, 1, 0, 0, 0, 136, 2687, 1, 0, 0, 0, + 138, 2725, 1, 0, 0, 0, 140, 2727, 1, 0, 0, 0, 142, 2769, 1, 0, 0, 0, 144, + 2771, 1, 0, 0, 0, 146, 2773, 1, 0, 0, 0, 148, 2778, 1, 0, 0, 0, 150, 2785, + 1, 0, 0, 0, 152, 2790, 1, 0, 0, 0, 154, 2832, 1, 0, 0, 0, 156, 2834, 1, + 0, 0, 0, 158, 2837, 1, 0, 0, 0, 160, 2842, 1, 0, 0, 0, 162, 2844, 1, 0, + 0, 0, 164, 2852, 1, 0, 0, 0, 166, 2863, 1, 0, 0, 0, 168, 2865, 1, 0, 0, + 0, 170, 2873, 1, 0, 0, 0, 172, 2875, 1, 0, 0, 0, 174, 2960, 1, 0, 0, 0, + 176, 2962, 1, 0, 0, 0, 178, 2964, 1, 0, 0, 0, 180, 2968, 1, 0, 0, 0, 182, + 2976, 1, 0, 0, 0, 184, 2987, 1, 0, 0, 0, 186, 2991, 1, 0, 0, 0, 188, 2993, + 1, 0, 0, 0, 190, 3000, 1, 0, 0, 0, 192, 3010, 1, 0, 0, 0, 194, 3021, 1, + 0, 0, 0, 196, 3078, 1, 0, 0, 0, 198, 3080, 1, 0, 0, 0, 200, 3089, 1, 0, + 0, 0, 202, 3096, 1, 0, 0, 0, 204, 3098, 1, 0, 0, 0, 206, 3106, 1, 0, 0, + 0, 208, 3109, 1, 0, 0, 0, 210, 3116, 1, 0, 0, 0, 212, 3207, 1, 0, 0, 0, + 214, 3209, 1, 0, 0, 0, 216, 3212, 1, 0, 0, 0, 218, 3216, 1, 0, 0, 0, 220, + 3224, 1, 0, 0, 0, 222, 3226, 1, 0, 0, 0, 224, 3231, 1, 0, 0, 0, 226, 3234, + 1, 0, 0, 0, 228, 3242, 1, 0, 0, 0, 230, 3252, 1, 0, 0, 0, 232, 3265, 1, + 0, 0, 0, 234, 3267, 1, 0, 0, 0, 236, 3271, 1, 0, 0, 0, 238, 3284, 1, 0, + 0, 0, 240, 3286, 1, 0, 0, 0, 242, 3291, 1, 0, 0, 0, 244, 3293, 1, 0, 0, + 0, 246, 3300, 1, 0, 0, 0, 248, 3331, 1, 0, 0, 0, 250, 3333, 1, 0, 0, 0, + 252, 3340, 1, 0, 0, 0, 254, 3342, 1, 0, 0, 0, 256, 3351, 1, 0, 0, 0, 258, + 3354, 1, 0, 0, 0, 260, 3359, 1, 0, 0, 0, 262, 3363, 1, 0, 0, 0, 264, 3379, + 1, 0, 0, 0, 266, 3390, 1, 0, 0, 0, 268, 3406, 1, 0, 0, 0, 270, 3422, 1, + 0, 0, 0, 272, 3428, 1, 0, 0, 0, 274, 3445, 1, 0, 0, 0, 276, 3458, 1, 0, + 0, 0, 278, 3460, 1, 0, 0, 0, 280, 3470, 1, 0, 0, 0, 282, 3484, 1, 0, 0, + 0, 284, 3493, 1, 0, 0, 0, 286, 3495, 1, 0, 0, 0, 288, 3500, 1, 0, 0, 0, + 290, 3540, 1, 0, 0, 0, 292, 3542, 1, 0, 0, 0, 294, 3550, 1, 0, 0, 0, 296, + 3552, 1, 0, 0, 0, 298, 3560, 1, 0, 0, 0, 300, 3582, 1, 0, 0, 0, 302, 3584, + 1, 0, 0, 0, 304, 3588, 1, 0, 0, 0, 306, 3595, 1, 0, 0, 0, 308, 3597, 1, + 0, 0, 0, 310, 3599, 1, 0, 0, 0, 312, 3601, 1, 0, 0, 0, 314, 3612, 1, 0, + 0, 0, 316, 3615, 1, 0, 0, 0, 318, 3623, 1, 0, 0, 0, 320, 3639, 1, 0, 0, + 0, 322, 3649, 1, 0, 0, 0, 324, 3651, 1, 0, 0, 0, 326, 3660, 1, 0, 0, 0, + 328, 3663, 1, 0, 0, 0, 330, 3770, 1, 0, 0, 0, 332, 3772, 1, 0, 0, 0, 334, + 3791, 1, 0, 0, 0, 336, 3794, 1, 0, 0, 0, 338, 3798, 1, 0, 0, 0, 340, 3817, + 1, 0, 0, 0, 342, 3819, 1, 0, 0, 0, 344, 3824, 1, 0, 0, 0, 346, 3832, 1, + 0, 0, 0, 348, 3837, 1, 0, 0, 0, 350, 3852, 1, 0, 0, 0, 352, 3854, 1, 0, + 0, 0, 354, 3857, 1, 0, 0, 0, 356, 3859, 1, 0, 0, 0, 358, 3896, 1, 0, 0, + 0, 360, 3898, 1, 0, 0, 0, 362, 3901, 1, 0, 0, 0, 364, 3906, 1, 0, 0, 0, + 366, 3908, 1, 0, 0, 0, 368, 3990, 1, 0, 0, 0, 370, 3992, 1, 0, 0, 0, 372, + 4010, 1, 0, 0, 0, 374, 4012, 1, 0, 0, 0, 376, 4040, 1, 0, 0, 0, 378, 4044, + 1, 0, 0, 0, 380, 4064, 1, 0, 0, 0, 382, 4066, 1, 0, 0, 0, 384, 4075, 1, + 0, 0, 0, 386, 4095, 1, 0, 0, 0, 388, 4109, 1, 0, 0, 0, 390, 4114, 1, 0, + 0, 0, 392, 4120, 1, 0, 0, 0, 394, 4123, 1, 0, 0, 0, 396, 4126, 1, 0, 0, + 0, 398, 4129, 1, 0, 0, 0, 400, 4132, 1, 0, 0, 0, 402, 4134, 1, 0, 0, 0, + 404, 4143, 1, 0, 0, 0, 406, 4193, 1, 0, 0, 0, 408, 4199, 1, 0, 0, 0, 410, + 4201, 1, 0, 0, 0, 412, 4216, 1, 0, 0, 0, 414, 4218, 1, 0, 0, 0, 416, 4222, + 1, 0, 0, 0, 418, 4226, 1, 0, 0, 0, 420, 4233, 1, 0, 0, 0, 422, 4235, 1, + 0, 0, 0, 424, 4237, 1, 0, 0, 0, 426, 4239, 1, 0, 0, 0, 428, 4245, 1, 0, + 0, 0, 430, 4247, 1, 0, 0, 0, 432, 4249, 1, 0, 0, 0, 434, 4254, 1, 0, 0, + 0, 436, 4258, 1, 0, 0, 0, 438, 4271, 1, 0, 0, 0, 440, 4273, 1, 0, 0, 0, + 442, 4279, 1, 0, 0, 0, 444, 4293, 1, 0, 0, 0, 446, 4321, 1, 0, 0, 0, 448, + 4323, 1, 0, 0, 0, 450, 4331, 1, 0, 0, 0, 452, 4337, 1, 0, 0, 0, 454, 4345, + 1, 0, 0, 0, 456, 4357, 1, 0, 0, 0, 458, 4359, 1, 0, 0, 0, 460, 4482, 1, + 0, 0, 0, 462, 4484, 1, 0, 0, 0, 464, 4488, 1, 0, 0, 0, 466, 4496, 1, 0, + 0, 0, 468, 4507, 1, 0, 0, 0, 470, 4509, 1, 0, 0, 0, 472, 4513, 1, 0, 0, + 0, 474, 4521, 1, 0, 0, 0, 476, 4525, 1, 0, 0, 0, 478, 4527, 1, 0, 0, 0, + 480, 4578, 1, 0, 0, 0, 482, 4580, 1, 0, 0, 0, 484, 4584, 1, 0, 0, 0, 486, + 4602, 1, 0, 0, 0, 488, 4641, 1, 0, 0, 0, 490, 4643, 1, 0, 0, 0, 492, 4645, + 1, 0, 0, 0, 494, 4654, 1, 0, 0, 0, 496, 4656, 1, 0, 0, 0, 498, 4658, 1, + 0, 0, 0, 500, 4683, 1, 0, 0, 0, 502, 4685, 1, 0, 0, 0, 504, 4705, 1, 0, + 0, 0, 506, 4727, 1, 0, 0, 0, 508, 4749, 1, 0, 0, 0, 510, 4751, 1, 0, 0, + 0, 512, 4758, 1, 0, 0, 0, 514, 4855, 1, 0, 0, 0, 516, 4880, 1, 0, 0, 0, + 518, 4887, 1, 0, 0, 0, 520, 4904, 1, 0, 0, 0, 522, 4906, 1, 0, 0, 0, 524, + 4908, 1, 0, 0, 0, 526, 4916, 1, 0, 0, 0, 528, 4922, 1, 0, 0, 0, 530, 4926, + 1, 0, 0, 0, 532, 4934, 1, 0, 0, 0, 534, 4949, 1, 0, 0, 0, 536, 5098, 1, + 0, 0, 0, 538, 5102, 1, 0, 0, 0, 540, 5215, 1, 0, 0, 0, 542, 5217, 1, 0, + 0, 0, 544, 5222, 1, 0, 0, 0, 546, 5228, 1, 0, 0, 0, 548, 5315, 1, 0, 0, + 0, 550, 5317, 1, 0, 0, 0, 552, 5319, 1, 0, 0, 0, 554, 5321, 1, 0, 0, 0, + 556, 5351, 1, 0, 0, 0, 558, 5368, 1, 0, 0, 0, 560, 5370, 1, 0, 0, 0, 562, + 5396, 1, 0, 0, 0, 564, 5458, 1, 0, 0, 0, 566, 5460, 1, 0, 0, 0, 568, 5468, + 1, 0, 0, 0, 570, 5473, 1, 0, 0, 0, 572, 5484, 1, 0, 0, 0, 574, 5486, 1, + 0, 0, 0, 576, 5490, 1, 0, 0, 0, 578, 5523, 1, 0, 0, 0, 580, 5525, 1, 0, + 0, 0, 582, 5529, 1, 0, 0, 0, 584, 5533, 1, 0, 0, 0, 586, 5542, 1, 0, 0, + 0, 588, 5554, 1, 0, 0, 0, 590, 5586, 1, 0, 0, 0, 592, 5588, 1, 0, 0, 0, + 594, 5590, 1, 0, 0, 0, 596, 5629, 1, 0, 0, 0, 598, 5631, 1, 0, 0, 0, 600, + 5633, 1, 0, 0, 0, 602, 5635, 1, 0, 0, 0, 604, 5638, 1, 0, 0, 0, 606, 5669, + 1, 0, 0, 0, 608, 5682, 1, 0, 0, 0, 610, 5684, 1, 0, 0, 0, 612, 5689, 1, + 0, 0, 0, 614, 5697, 1, 0, 0, 0, 616, 5700, 1, 0, 0, 0, 618, 5702, 1, 0, + 0, 0, 620, 5708, 1, 0, 0, 0, 622, 5710, 1, 0, 0, 0, 624, 5730, 1, 0, 0, + 0, 626, 5733, 1, 0, 0, 0, 628, 5739, 1, 0, 0, 0, 630, 5747, 1, 0, 0, 0, + 632, 5763, 1, 0, 0, 0, 634, 5765, 1, 0, 0, 0, 636, 5771, 1, 0, 0, 0, 638, + 5792, 1, 0, 0, 0, 640, 5801, 1, 0, 0, 0, 642, 5806, 1, 0, 0, 0, 644, 5808, + 1, 0, 0, 0, 646, 5823, 1, 0, 0, 0, 648, 5825, 1, 0, 0, 0, 650, 5830, 1, + 0, 0, 0, 652, 5832, 1, 0, 0, 0, 654, 5847, 1, 0, 0, 0, 656, 5855, 1, 0, + 0, 0, 658, 5858, 1, 0, 0, 0, 660, 5867, 1, 0, 0, 0, 662, 5908, 1, 0, 0, + 0, 664, 5923, 1, 0, 0, 0, 666, 5930, 1, 0, 0, 0, 668, 5932, 1, 0, 0, 0, + 670, 5944, 1, 0, 0, 0, 672, 5947, 1, 0, 0, 0, 674, 5950, 1, 0, 0, 0, 676, + 5958, 1, 0, 0, 0, 678, 5966, 1, 0, 0, 0, 680, 5970, 1, 0, 0, 0, 682, 6014, + 1, 0, 0, 0, 684, 6030, 1, 0, 0, 0, 686, 6046, 1, 0, 0, 0, 688, 6070, 1, + 0, 0, 0, 690, 6077, 1, 0, 0, 0, 692, 6082, 1, 0, 0, 0, 694, 6090, 1, 0, + 0, 0, 696, 6093, 1, 0, 0, 0, 698, 6097, 1, 0, 0, 0, 700, 6104, 1, 0, 0, + 0, 702, 6143, 1, 0, 0, 0, 704, 6149, 1, 0, 0, 0, 706, 6151, 1, 0, 0, 0, + 708, 6164, 1, 0, 0, 0, 710, 6167, 1, 0, 0, 0, 712, 6214, 1, 0, 0, 0, 714, + 6216, 1, 0, 0, 0, 716, 6262, 1, 0, 0, 0, 718, 6264, 1, 0, 0, 0, 720, 6266, + 1, 0, 0, 0, 722, 6268, 1, 0, 0, 0, 724, 6276, 1, 0, 0, 0, 726, 6290, 1, + 0, 0, 0, 728, 6779, 1, 0, 0, 0, 730, 6781, 1, 0, 0, 0, 732, 6783, 1, 0, + 0, 0, 734, 6855, 1, 0, 0, 0, 736, 6857, 1, 0, 0, 0, 738, 7076, 1, 0, 0, + 0, 740, 7078, 1, 0, 0, 0, 742, 7086, 1, 0, 0, 0, 744, 7102, 1, 0, 0, 0, + 746, 7109, 1, 0, 0, 0, 748, 7111, 1, 0, 0, 0, 750, 7304, 1, 0, 0, 0, 752, + 7329, 1, 0, 0, 0, 754, 7331, 1, 0, 0, 0, 756, 7377, 1, 0, 0, 0, 758, 7379, + 1, 0, 0, 0, 760, 7408, 1, 0, 0, 0, 762, 7410, 1, 0, 0, 0, 764, 7420, 1, + 0, 0, 0, 766, 7428, 1, 0, 0, 0, 768, 7475, 1, 0, 0, 0, 770, 7491, 1, 0, + 0, 0, 772, 7493, 1, 0, 0, 0, 774, 7519, 1, 0, 0, 0, 776, 7522, 1, 0, 0, + 0, 778, 7538, 1, 0, 0, 0, 780, 7540, 1, 0, 0, 0, 782, 7542, 1, 0, 0, 0, + 784, 7544, 1, 0, 0, 0, 786, 7546, 1, 0, 0, 0, 788, 7551, 1, 0, 0, 0, 790, + 7554, 1, 0, 0, 0, 792, 7561, 1, 0, 0, 0, 794, 7632, 1, 0, 0, 0, 796, 7634, + 1, 0, 0, 0, 798, 7646, 1, 0, 0, 0, 800, 7648, 1, 0, 0, 0, 802, 7658, 1, + 0, 0, 0, 804, 7660, 1, 0, 0, 0, 806, 7666, 1, 0, 0, 0, 808, 7698, 1, 0, + 0, 0, 810, 7705, 1, 0, 0, 0, 812, 7708, 1, 0, 0, 0, 814, 7717, 1, 0, 0, + 0, 816, 7720, 1, 0, 0, 0, 818, 7724, 1, 0, 0, 0, 820, 7741, 1, 0, 0, 0, + 822, 7743, 1, 0, 0, 0, 824, 7745, 1, 0, 0, 0, 826, 7763, 1, 0, 0, 0, 828, + 7768, 1, 0, 0, 0, 830, 7784, 1, 0, 0, 0, 832, 7792, 1, 0, 0, 0, 834, 7794, + 1, 0, 0, 0, 836, 7800, 1, 0, 0, 0, 838, 7805, 1, 0, 0, 0, 840, 7814, 1, + 0, 0, 0, 842, 7841, 1, 0, 0, 0, 844, 7843, 1, 0, 0, 0, 846, 7922, 1, 0, + 0, 0, 848, 7924, 1, 0, 0, 0, 850, 7926, 1, 0, 0, 0, 852, 7959, 1, 0, 0, + 0, 854, 7961, 1, 0, 0, 0, 856, 7987, 1, 0, 0, 0, 858, 8003, 1, 0, 0, 0, + 860, 8005, 1, 0, 0, 0, 862, 8013, 1, 0, 0, 0, 864, 8015, 1, 0, 0, 0, 866, + 8021, 1, 0, 0, 0, 868, 8025, 1, 0, 0, 0, 870, 8027, 1, 0, 0, 0, 872, 8029, + 1, 0, 0, 0, 874, 8031, 1, 0, 0, 0, 876, 8033, 1, 0, 0, 0, 878, 8035, 1, + 0, 0, 0, 880, 8039, 1, 0, 0, 0, 882, 8043, 1, 0, 0, 0, 884, 8051, 1, 0, + 0, 0, 886, 8071, 1, 0, 0, 0, 888, 8082, 1, 0, 0, 0, 890, 8084, 1, 0, 0, + 0, 892, 8092, 1, 0, 0, 0, 894, 8098, 1, 0, 0, 0, 896, 8102, 1, 0, 0, 0, + 898, 8104, 1, 0, 0, 0, 900, 8112, 1, 0, 0, 0, 902, 8121, 1, 0, 0, 0, 904, + 8161, 1, 0, 0, 0, 906, 8163, 1, 0, 0, 0, 908, 8177, 1, 0, 0, 0, 910, 8180, + 1, 0, 0, 0, 912, 8192, 1, 0, 0, 0, 914, 8216, 1, 0, 0, 0, 916, 8218, 1, + 0, 0, 0, 918, 8220, 1, 0, 0, 0, 920, 8228, 1, 0, 0, 0, 922, 8231, 1, 0, + 0, 0, 924, 8255, 1, 0, 0, 0, 926, 8257, 1, 0, 0, 0, 928, 8261, 1, 0, 0, + 0, 930, 8295, 1, 0, 0, 0, 932, 8314, 1, 0, 0, 0, 934, 8327, 1, 0, 0, 0, + 936, 8335, 1, 0, 0, 0, 938, 8349, 1, 0, 0, 0, 940, 8352, 1, 0, 0, 0, 942, + 8363, 1, 0, 0, 0, 944, 8379, 1, 0, 0, 0, 946, 8381, 1, 0, 0, 0, 948, 8386, + 1, 0, 0, 0, 950, 8389, 1, 0, 0, 0, 952, 8404, 1, 0, 0, 0, 954, 8422, 1, + 0, 0, 0, 956, 8424, 1, 0, 0, 0, 958, 8427, 1, 0, 0, 0, 960, 8435, 1, 0, + 0, 0, 962, 8445, 1, 0, 0, 0, 964, 8454, 1, 0, 0, 0, 966, 8461, 1, 0, 0, + 0, 968, 8465, 1, 0, 0, 0, 970, 8475, 1, 0, 0, 0, 972, 8478, 1, 0, 0, 0, + 974, 8494, 1, 0, 0, 0, 976, 8505, 1, 0, 0, 0, 978, 8553, 1, 0, 0, 0, 980, + 8555, 1, 0, 0, 0, 982, 8561, 1, 0, 0, 0, 984, 8569, 1, 0, 0, 0, 986, 8584, + 1, 0, 0, 0, 988, 8586, 1, 0, 0, 0, 990, 8588, 1, 0, 0, 0, 992, 8596, 1, + 0, 0, 0, 994, 8614, 1, 0, 0, 0, 996, 8616, 1, 0, 0, 0, 998, 8618, 1, 0, + 0, 0, 1000, 8620, 1, 0, 0, 0, 1002, 8628, 1, 0, 0, 0, 1004, 8630, 1, 0, + 0, 0, 1006, 8632, 1, 0, 0, 0, 1008, 8636, 1, 0, 0, 0, 1010, 8644, 1, 0, + 0, 0, 1012, 8663, 1, 0, 0, 0, 1014, 8665, 1, 0, 0, 0, 1016, 8690, 1, 0, + 0, 0, 1018, 8692, 1, 0, 0, 0, 1020, 8701, 1, 0, 0, 0, 1022, 8703, 1, 0, + 0, 0, 1024, 8710, 1, 0, 0, 0, 1026, 8714, 1, 0, 0, 0, 1028, 8716, 1, 0, + 0, 0, 1030, 8718, 1, 0, 0, 0, 1032, 8720, 1, 0, 0, 0, 1034, 8724, 1, 0, + 0, 0, 1036, 8737, 1, 0, 0, 0, 1038, 8739, 1, 0, 0, 0, 1040, 8742, 1, 0, + 0, 0, 1042, 8747, 1, 0, 0, 0, 1044, 8752, 1, 0, 0, 0, 1046, 8758, 1, 0, + 0, 0, 1048, 8765, 1, 0, 0, 0, 1050, 8767, 1, 0, 0, 0, 1052, 8770, 1, 0, + 0, 0, 1054, 8774, 1, 0, 0, 0, 1056, 8781, 1, 0, 0, 0, 1058, 8793, 1, 0, + 0, 0, 1060, 8796, 1, 0, 0, 0, 1062, 8810, 1, 0, 0, 0, 1064, 8813, 1, 0, + 0, 0, 1066, 8864, 1, 0, 0, 0, 1068, 8888, 1, 0, 0, 0, 1070, 8891, 1, 0, + 0, 0, 1072, 8900, 1, 0, 0, 0, 1074, 8903, 1, 0, 0, 0, 1076, 8924, 1, 0, + 0, 0, 1078, 8926, 1, 0, 0, 0, 1080, 8937, 1, 0, 0, 0, 1082, 8951, 1, 0, + 0, 0, 1084, 8953, 1, 0, 0, 0, 1086, 8961, 1, 0, 0, 0, 1088, 8968, 1, 0, + 0, 0, 1090, 8976, 1, 0, 0, 0, 1092, 8993, 1, 0, 0, 0, 1094, 8995, 1, 0, + 0, 0, 1096, 8999, 1, 0, 0, 0, 1098, 9007, 1, 0, 0, 0, 1100, 9012, 1, 0, + 0, 0, 1102, 9015, 1, 0, 0, 0, 1104, 9018, 1, 0, 0, 0, 1106, 9025, 1, 0, + 0, 0, 1108, 9027, 1, 0, 0, 0, 1110, 9035, 1, 0, 0, 0, 1112, 9040, 1, 0, + 0, 0, 1114, 9061, 1, 0, 0, 0, 1116, 9069, 1, 0, 0, 0, 1118, 9079, 1, 0, + 0, 0, 1120, 9091, 1, 0, 0, 0, 1122, 9093, 1, 0, 0, 0, 1124, 9107, 1, 0, + 0, 0, 1126, 9127, 1, 0, 0, 0, 1128, 9136, 1, 0, 0, 0, 1130, 9155, 1, 0, + 0, 0, 1132, 9162, 1, 0, 0, 0, 1134, 9167, 1, 0, 0, 0, 1136, 9175, 1, 0, + 0, 0, 1138, 9177, 1, 0, 0, 0, 1140, 9205, 1, 0, 0, 0, 1142, 9207, 1, 0, + 0, 0, 1144, 9213, 1, 0, 0, 0, 1146, 9217, 1, 0, 0, 0, 1148, 9219, 1, 0, + 0, 0, 1150, 9227, 1, 0, 0, 0, 1152, 9231, 1, 0, 0, 0, 1154, 9238, 1, 0, + 0, 0, 1156, 9255, 1, 0, 0, 0, 1158, 9257, 1, 0, 0, 0, 1160, 9259, 1, 0, + 0, 0, 1162, 9269, 1, 0, 0, 0, 1164, 9277, 1, 0, 0, 0, 1166, 9304, 1, 0, + 0, 0, 1168, 9306, 1, 0, 0, 0, 1170, 9313, 1, 0, 0, 0, 1172, 9316, 1, 0, + 0, 0, 1174, 9318, 1, 0, 0, 0, 1176, 9322, 1, 0, 0, 0, 1178, 9330, 1, 0, + 0, 0, 1180, 9338, 1, 0, 0, 0, 1182, 9346, 1, 0, 0, 0, 1184, 9360, 1, 0, + 0, 0, 1186, 9369, 1, 0, 0, 0, 1188, 9373, 1, 0, 0, 0, 1190, 9377, 1, 0, + 0, 0, 1192, 9403, 1, 0, 0, 0, 1194, 9417, 1, 0, 0, 0, 1196, 9433, 1, 0, + 0, 0, 1198, 9443, 1, 0, 0, 0, 1200, 9447, 1, 0, 0, 0, 1202, 9455, 1, 0, + 0, 0, 1204, 9463, 1, 0, 0, 0, 1206, 9469, 1, 0, 0, 0, 1208, 9473, 1, 0, + 0, 0, 1210, 9480, 1, 0, 0, 0, 1212, 9485, 1, 0, 0, 0, 1214, 9500, 1, 0, + 0, 0, 1216, 9580, 1, 0, 0, 0, 1218, 9582, 1, 0, 0, 0, 1220, 9584, 1, 0, + 0, 0, 1222, 9629, 1, 0, 0, 0, 1224, 9634, 1, 0, 0, 0, 1226, 9664, 1, 0, + 0, 0, 1228, 9666, 1, 0, 0, 0, 1230, 9671, 1, 0, 0, 0, 1232, 9984, 1, 0, + 0, 0, 1234, 9986, 1, 0, 0, 0, 1236, 10005, 1, 0, 0, 0, 1238, 10010, 1, + 0, 0, 0, 1240, 10022, 1, 0, 0, 0, 1242, 10024, 1, 0, 0, 0, 1244, 10043, + 1, 0, 0, 0, 1246, 10045, 1, 0, 0, 0, 1248, 10048, 1, 0, 0, 0, 1250, 10056, + 1, 0, 0, 0, 1252, 10066, 1, 0, 0, 0, 1254, 10068, 1, 0, 0, 0, 1256, 10076, + 1, 0, 0, 0, 1258, 10091, 1, 0, 0, 0, 1260, 10099, 1, 0, 0, 0, 1262, 10107, + 1, 0, 0, 0, 1264, 10109, 1, 0, 0, 0, 1266, 10125, 1, 0, 0, 0, 1268, 10127, + 1, 0, 0, 0, 1270, 10137, 1, 0, 0, 0, 1272, 10144, 1, 0, 0, 0, 1274, 10156, + 1, 0, 0, 0, 1276, 10158, 1, 0, 0, 0, 1278, 10163, 1, 0, 0, 0, 1280, 10171, + 1, 0, 0, 0, 1282, 10176, 1, 0, 0, 0, 1284, 10182, 1, 0, 0, 0, 1286, 10199, + 1, 0, 0, 0, 1288, 10201, 1, 0, 0, 0, 1290, 10204, 1, 0, 0, 0, 1292, 10210, + 1, 0, 0, 0, 1294, 10216, 1, 0, 0, 0, 1296, 10219, 1, 0, 0, 0, 1298, 10227, + 1, 0, 0, 0, 1300, 10231, 1, 0, 0, 0, 1302, 10236, 1, 0, 0, 0, 1304, 10251, + 1, 0, 0, 0, 1306, 10253, 1, 0, 0, 0, 1308, 10272, 1, 0, 0, 0, 1310, 10280, + 1, 0, 0, 0, 1312, 10289, 1, 0, 0, 0, 1314, 10291, 1, 0, 0, 0, 1316, 10312, + 1, 0, 0, 0, 1318, 10314, 1, 0, 0, 0, 1320, 10321, 1, 0, 0, 0, 1322, 10327, + 1, 0, 0, 0, 1324, 10331, 1, 0, 0, 0, 1326, 10333, 1, 0, 0, 0, 1328, 10341, + 1, 0, 0, 0, 1330, 10349, 1, 0, 0, 0, 1332, 10363, 1, 0, 0, 0, 1334, 10365, + 1, 0, 0, 0, 1336, 10373, 1, 0, 0, 0, 1338, 10386, 1, 0, 0, 0, 1340, 10388, + 1, 0, 0, 0, 1342, 10396, 1, 0, 0, 0, 1344, 10403, 1, 0, 0, 0, 1346, 10411, + 1, 0, 0, 0, 1348, 10423, 1, 0, 0, 0, 1350, 10425, 1, 0, 0, 0, 1352, 10427, + 1, 0, 0, 0, 1354, 10436, 1, 0, 0, 0, 1356, 10467, 1, 0, 0, 0, 1358, 10476, + 1, 0, 0, 0, 1360, 10483, 1, 0, 0, 0, 1362, 10485, 1, 0, 0, 0, 1364, 10496, + 1, 0, 0, 0, 1366, 10500, 1, 0, 0, 0, 1368, 10505, 1, 0, 0, 0, 1370, 10508, + 1, 0, 0, 0, 1372, 10510, 1, 0, 0, 0, 1374, 10531, 1, 0, 0, 0, 1376, 10533, + 1, 0, 0, 0, 1378, 10536, 1, 0, 0, 0, 1380, 10543, 1, 0, 0, 0, 1382, 10546, + 1, 0, 0, 0, 1384, 10548, 1, 0, 0, 0, 1386, 10562, 1, 0, 0, 0, 1388, 10567, + 1, 0, 0, 0, 1390, 10569, 1, 0, 0, 0, 1392, 10577, 1, 0, 0, 0, 1394, 10581, + 1, 0, 0, 0, 1396, 10589, 1, 0, 0, 0, 1398, 10591, 1, 0, 0, 0, 1400, 10593, + 1, 0, 0, 0, 1402, 10601, 1, 0, 0, 0, 1404, 10638, 1, 0, 0, 0, 1406, 10640, + 1, 0, 0, 0, 1408, 10642, 1, 0, 0, 0, 1410, 10644, 1, 0, 0, 0, 1412, 10646, + 1, 0, 0, 0, 1414, 10648, 1, 0, 0, 0, 1416, 10663, 1, 0, 0, 0, 1418, 10665, + 1, 0, 0, 0, 1420, 10673, 1, 0, 0, 0, 1422, 10675, 1, 0, 0, 0, 1424, 10680, + 1, 0, 0, 0, 1426, 10682, 1, 0, 0, 0, 1428, 10696, 1, 0, 0, 0, 1430, 10702, + 1, 0, 0, 0, 1432, 10708, 1, 0, 0, 0, 1434, 10714, 1, 0, 0, 0, 1436, 10722, + 1, 0, 0, 0, 1438, 10733, 1, 0, 0, 0, 1440, 10735, 1, 0, 0, 0, 1442, 10737, + 1, 0, 0, 0, 1444, 10745, 1, 0, 0, 0, 1446, 10768, 1, 0, 0, 0, 1448, 10770, + 1, 0, 0, 0, 1450, 10776, 1, 0, 0, 0, 1452, 10778, 1, 0, 0, 0, 1454, 10780, + 1, 0, 0, 0, 1456, 10791, 1, 0, 0, 0, 1458, 10799, 1, 0, 0, 0, 1460, 10802, + 1, 0, 0, 0, 1462, 10806, 1, 0, 0, 0, 1464, 10813, 1, 0, 0, 0, 1466, 10815, + 1, 0, 0, 0, 1468, 10849, 1, 0, 0, 0, 1470, 10851, 1, 0, 0, 0, 1472, 10853, + 1, 0, 0, 0, 1474, 10857, 1, 0, 0, 0, 1476, 10865, 1, 0, 0, 0, 1478, 10868, + 1, 0, 0, 0, 1480, 10872, 1, 0, 0, 0, 1482, 10874, 1, 0, 0, 0, 1484, 10876, + 1, 0, 0, 0, 1486, 10878, 1, 0, 0, 0, 1488, 10880, 1, 0, 0, 0, 1490, 10883, + 1, 0, 0, 0, 1492, 10886, 1, 0, 0, 0, 1494, 10891, 1, 0, 0, 0, 1496, 10893, + 1, 0, 0, 0, 1498, 10898, 1, 0, 0, 0, 1500, 10928, 1, 0, 0, 0, 1502, 10930, + 1, 0, 0, 0, 1504, 10952, 1, 0, 0, 0, 1506, 10954, 1, 0, 0, 0, 1508, 10956, + 1, 0, 0, 0, 1510, 10961, 1, 0, 0, 0, 1512, 10969, 1, 0, 0, 0, 1514, 10971, + 1, 0, 0, 0, 1516, 10979, 1, 0, 0, 0, 1518, 10983, 1, 0, 0, 0, 1520, 10985, + 1, 0, 0, 0, 1522, 10989, 1, 0, 0, 0, 1524, 11000, 1, 0, 0, 0, 1526, 11019, + 1, 0, 0, 0, 1528, 11022, 1, 0, 0, 0, 1530, 11025, 1, 0, 0, 0, 1532, 11037, + 1, 0, 0, 0, 1534, 11040, 1, 0, 0, 0, 1536, 11044, 1, 0, 0, 0, 1538, 11049, + 1, 0, 0, 0, 1540, 11053, 1, 0, 0, 0, 1542, 11058, 1, 0, 0, 0, 1544, 11065, + 1, 0, 0, 0, 1546, 11071, 1, 0, 0, 0, 1548, 11095, 1, 0, 0, 0, 1550, 11098, + 1, 0, 0, 0, 1552, 11109, 1, 0, 0, 0, 1554, 11111, 1, 0, 0, 0, 1556, 11114, + 1, 0, 0, 0, 1558, 11117, 1, 0, 0, 0, 1560, 11129, 1, 0, 0, 0, 1562, 11132, + 1, 0, 0, 0, 1564, 11141, 1, 0, 0, 0, 1566, 11143, 1, 0, 0, 0, 1568, 11162, + 1, 0, 0, 0, 1570, 11207, 1, 0, 0, 0, 1572, 11209, 1, 0, 0, 0, 1574, 11213, + 1, 0, 0, 0, 1576, 11217, 1, 0, 0, 0, 1578, 11220, 1, 0, 0, 0, 1580, 11224, + 1, 0, 0, 0, 1582, 11232, 1, 0, 0, 0, 1584, 11239, 1, 0, 0, 0, 1586, 11242, + 1, 0, 0, 0, 1588, 11251, 1, 0, 0, 0, 1590, 11254, 1, 0, 0, 0, 1592, 11273, + 1, 0, 0, 0, 1594, 11276, 1, 0, 0, 0, 1596, 11284, 1, 0, 0, 0, 1598, 11290, + 1, 0, 0, 0, 1600, 11320, 1, 0, 0, 0, 1602, 11322, 1, 0, 0, 0, 1604, 11330, + 1, 0, 0, 0, 1606, 11334, 1, 0, 0, 0, 1608, 11338, 1, 0, 0, 0, 1610, 11340, + 1, 0, 0, 0, 1612, 11352, 1, 0, 0, 0, 1614, 11354, 1, 0, 0, 0, 1616, 11371, + 1, 0, 0, 0, 1618, 11373, 1, 0, 0, 0, 1620, 11380, 1, 0, 0, 0, 1622, 11384, + 1, 0, 0, 0, 1624, 11387, 1, 0, 0, 0, 1626, 11393, 1, 0, 0, 0, 1628, 11399, + 1, 0, 0, 0, 1630, 11417, 1, 0, 0, 0, 1632, 11421, 1, 0, 0, 0, 1634, 11423, + 1, 0, 0, 0, 1636, 11427, 1, 0, 0, 0, 1638, 11431, 1, 0, 0, 0, 1640, 11436, + 1, 0, 0, 0, 1642, 11447, 1, 0, 0, 0, 1644, 11449, 1, 0, 0, 0, 1646, 11451, + 1, 0, 0, 0, 1648, 11453, 1, 0, 0, 0, 1650, 11455, 1, 0, 0, 0, 1652, 11460, + 1, 0, 0, 0, 1654, 11462, 1, 0, 0, 0, 1656, 11465, 1, 0, 0, 0, 1658, 11492, + 1, 0, 0, 0, 1660, 11494, 1, 0, 0, 0, 1662, 11496, 1, 0, 0, 0, 1664, 11498, + 1, 0, 0, 0, 1666, 11500, 1, 0, 0, 0, 1668, 11504, 1, 0, 0, 0, 1670, 11510, + 1, 0, 0, 0, 1672, 11512, 1, 0, 0, 0, 1674, 11514, 1, 0, 0, 0, 1676, 11516, 1, 0, 0, 0, 1678, 1679, 3, 4, 2, 0, 1679, 1680, 5, 0, 0, 1, 1680, 1, 1, - 0, 0, 0, 1681, 1682, 3, 1450, 725, 0, 1682, 3, 1, 0, 0, 0, 1683, 1684, + 0, 0, 0, 1681, 1682, 3, 1442, 721, 0, 1682, 3, 1, 0, 0, 0, 1683, 1684, 3, 6, 3, 0, 1684, 5, 1, 0, 0, 0, 1685, 1687, 3, 8, 4, 0, 1686, 1688, 5, - 7, 0, 0, 1687, 1686, 1, 0, 0, 0, 1687, 1688, 1, 0, 0, 0, 1688, 1690, 1, - 0, 0, 0, 1689, 1685, 1, 0, 0, 0, 1690, 1693, 1, 0, 0, 0, 1691, 1689, 1, - 0, 0, 0, 1691, 1692, 1, 0, 0, 0, 1692, 7, 1, 0, 0, 0, 1693, 1691, 1, 0, - 0, 0, 1694, 1820, 3, 454, 227, 0, 1695, 1820, 3, 834, 417, 0, 1696, 1820, - 3, 824, 412, 0, 1697, 1820, 3, 826, 413, 0, 1698, 1820, 3, 584, 292, 0, - 1699, 1820, 3, 840, 420, 0, 1700, 1820, 3, 480, 240, 0, 1701, 1820, 3, - 324, 162, 0, 1702, 1820, 3, 330, 165, 0, 1703, 1820, 3, 340, 170, 0, 1704, - 1820, 3, 366, 183, 0, 1705, 1820, 3, 676, 338, 0, 1706, 1820, 3, 38, 19, - 0, 1707, 1820, 3, 734, 367, 0, 1708, 1820, 3, 738, 369, 0, 1709, 1820, - 3, 750, 375, 0, 1710, 1820, 3, 740, 370, 0, 1711, 1820, 3, 748, 374, 0, - 1712, 1820, 3, 386, 193, 0, 1713, 1820, 3, 282, 141, 0, 1714, 1820, 3, - 836, 418, 0, 1715, 1820, 3, 96, 48, 0, 1716, 1820, 3, 726, 363, 0, 1717, + 501, 0, 0, 1687, 1686, 1, 0, 0, 0, 1687, 1688, 1, 0, 0, 0, 1688, 1690, + 1, 0, 0, 0, 1689, 1685, 1, 0, 0, 0, 1690, 1693, 1, 0, 0, 0, 1691, 1689, + 1, 0, 0, 0, 1691, 1692, 1, 0, 0, 0, 1692, 7, 1, 0, 0, 0, 1693, 1691, 1, + 0, 0, 0, 1694, 1820, 3, 454, 227, 0, 1695, 1820, 3, 834, 417, 0, 1696, + 1820, 3, 824, 412, 0, 1697, 1820, 3, 826, 413, 0, 1698, 1820, 3, 584, 292, + 0, 1699, 1820, 3, 840, 420, 0, 1700, 1820, 3, 480, 240, 0, 1701, 1820, + 3, 324, 162, 0, 1702, 1820, 3, 330, 165, 0, 1703, 1820, 3, 340, 170, 0, + 1704, 1820, 3, 366, 183, 0, 1705, 1820, 3, 676, 338, 0, 1706, 1820, 3, + 38, 19, 0, 1707, 1820, 3, 734, 367, 0, 1708, 1820, 3, 738, 369, 0, 1709, + 1820, 3, 750, 375, 0, 1710, 1820, 3, 740, 370, 0, 1711, 1820, 3, 748, 374, + 0, 1712, 1820, 3, 386, 193, 0, 1713, 1820, 3, 282, 141, 0, 1714, 1820, + 3, 836, 418, 0, 1715, 1820, 3, 96, 48, 0, 1716, 1820, 3, 726, 363, 0, 1717, 1820, 3, 134, 67, 0, 1718, 1820, 3, 760, 380, 0, 1719, 1820, 3, 32, 16, 0, 1720, 1820, 3, 28, 14, 0, 1721, 1820, 3, 768, 384, 0, 1722, 1820, 3, 264, 132, 0, 1723, 1820, 3, 846, 423, 0, 1724, 1820, 3, 844, 422, 0, 1725, @@ -2302,1458 +2283,1460 @@ func postgresqlparserParserInit() { 1819, 1809, 1, 0, 0, 0, 1819, 1810, 1, 0, 0, 0, 1819, 1811, 1, 0, 0, 0, 1819, 1812, 1, 0, 0, 0, 1819, 1813, 1, 0, 0, 0, 1819, 1814, 1, 0, 0, 0, 1819, 1815, 1, 0, 0, 0, 1819, 1816, 1, 0, 0, 0, 1819, 1817, 1, 0, 0, 0, - 1819, 1818, 1, 0, 0, 0, 1820, 9, 1, 0, 0, 0, 1821, 1823, 5, 696, 0, 0, - 1822, 1824, 5, 697, 0, 0, 1823, 1822, 1, 0, 0, 0, 1823, 1824, 1, 0, 0, - 0, 1824, 11, 1, 0, 0, 0, 1825, 1826, 5, 454, 0, 0, 1826, 1827, 3, 1218, - 609, 0, 1827, 13, 1, 0, 0, 0, 1828, 1829, 5, 46, 0, 0, 1829, 1830, 5, 330, - 0, 0, 1830, 1832, 3, 1420, 710, 0, 1831, 1833, 3, 16, 8, 0, 1832, 1831, + 1819, 1818, 1, 0, 0, 0, 1820, 9, 1, 0, 0, 0, 1821, 1823, 5, 594, 0, 0, + 1822, 1824, 5, 595, 0, 0, 1823, 1822, 1, 0, 0, 0, 1823, 1824, 1, 0, 0, + 0, 1824, 11, 1, 0, 0, 0, 1825, 1826, 5, 42, 0, 0, 1826, 1827, 3, 1220, + 610, 0, 1827, 13, 1, 0, 0, 0, 1828, 1829, 5, 80, 0, 0, 1829, 1830, 5, 361, + 0, 0, 1830, 1832, 3, 1422, 711, 0, 1831, 1833, 3, 16, 8, 0, 1832, 1831, 1, 0, 0, 0, 1832, 1833, 1, 0, 0, 0, 1833, 1834, 1, 0, 0, 0, 1834, 1835, - 3, 18, 9, 0, 1835, 15, 1, 0, 0, 0, 1836, 1837, 5, 105, 0, 0, 1837, 17, + 3, 18, 9, 0, 1835, 15, 1, 0, 0, 0, 1836, 1837, 5, 474, 0, 0, 1837, 17, 1, 0, 0, 0, 1838, 1840, 3, 24, 12, 0, 1839, 1838, 1, 0, 0, 0, 1840, 1843, 1, 0, 0, 0, 1841, 1839, 1, 0, 0, 0, 1841, 1842, 1, 0, 0, 0, 1842, 19, 1, 0, 0, 0, 1843, 1841, 1, 0, 0, 0, 1844, 1846, 3, 22, 11, 0, 1845, 1844, 1, 0, 0, 0, 1846, 1849, 1, 0, 0, 0, 1847, 1845, 1, 0, 0, 0, 1847, 1848, 1, 0, 0, 0, 1848, 21, 1, 0, 0, 0, 1849, 1847, 1, 0, 0, 0, 1850, 1853, 5, - 299, 0, 0, 1851, 1854, 3, 1412, 706, 0, 1852, 1854, 5, 78, 0, 0, 1853, + 314, 0, 0, 1851, 1854, 3, 1414, 707, 0, 1852, 1854, 5, 279, 0, 0, 1853, 1851, 1, 0, 0, 0, 1853, 1852, 1, 0, 0, 0, 1854, 1869, 1, 0, 0, 0, 1855, - 1856, 7, 0, 0, 0, 1856, 1857, 5, 299, 0, 0, 1857, 1869, 3, 1412, 706, 0, - 1858, 1869, 5, 247, 0, 0, 1859, 1860, 5, 183, 0, 0, 1860, 1861, 5, 74, - 0, 0, 1861, 1869, 3, 1418, 709, 0, 1862, 1863, 5, 383, 0, 0, 1863, 1864, - 5, 380, 0, 0, 1864, 1869, 3, 1412, 706, 0, 1865, 1866, 5, 99, 0, 0, 1866, - 1869, 3, 1424, 712, 0, 1867, 1869, 3, 1436, 718, 0, 1868, 1850, 1, 0, 0, + 1856, 7, 0, 0, 0, 1856, 1857, 5, 314, 0, 0, 1857, 1869, 3, 1414, 707, 0, + 1858, 1869, 5, 190, 0, 0, 1859, 1860, 5, 72, 0, 0, 1860, 1861, 5, 235, + 0, 0, 1861, 1869, 3, 1420, 710, 0, 1862, 1863, 5, 456, 0, 0, 1863, 1864, + 5, 451, 0, 0, 1864, 1869, 3, 1414, 707, 0, 1865, 1866, 5, 453, 0, 0, 1866, + 1869, 3, 1426, 713, 0, 1867, 1869, 3, 1438, 719, 0, 1868, 1850, 1, 0, 0, 0, 1868, 1855, 1, 0, 0, 0, 1868, 1858, 1, 0, 0, 0, 1868, 1859, 1, 0, 0, 0, 1868, 1862, 1, 0, 0, 0, 1868, 1865, 1, 0, 0, 0, 1868, 1867, 1, 0, 0, - 0, 1869, 23, 1, 0, 0, 0, 1870, 1881, 3, 22, 11, 0, 1871, 1872, 5, 360, - 0, 0, 1872, 1881, 3, 1410, 705, 0, 1873, 1874, 5, 153, 0, 0, 1874, 1881, - 3, 1424, 712, 0, 1875, 1876, 5, 330, 0, 0, 1876, 1881, 3, 1424, 712, 0, - 1877, 1878, 5, 68, 0, 0, 1878, 1879, 7, 1, 0, 0, 1879, 1881, 3, 1424, 712, - 0, 1880, 1870, 1, 0, 0, 0, 1880, 1871, 1, 0, 0, 0, 1880, 1873, 1, 0, 0, - 0, 1880, 1875, 1, 0, 0, 0, 1880, 1877, 1, 0, 0, 0, 1881, 25, 1, 0, 0, 0, - 1882, 1883, 5, 46, 0, 0, 1883, 1884, 5, 99, 0, 0, 1884, 1886, 3, 1420, - 710, 0, 1885, 1887, 3, 16, 8, 0, 1886, 1885, 1, 0, 0, 0, 1886, 1887, 1, - 0, 0, 0, 1887, 1888, 1, 0, 0, 0, 1888, 1889, 3, 18, 9, 0, 1889, 27, 1, - 0, 0, 0, 1890, 1891, 5, 157, 0, 0, 1891, 1892, 7, 2, 0, 0, 1892, 1894, - 3, 1422, 711, 0, 1893, 1895, 3, 16, 8, 0, 1894, 1893, 1, 0, 0, 0, 1894, + 0, 1869, 23, 1, 0, 0, 0, 1870, 1881, 3, 22, 11, 0, 1871, 1872, 5, 413, + 0, 0, 1872, 1881, 3, 1412, 706, 0, 1873, 1874, 5, 7, 0, 0, 1874, 1881, + 3, 1426, 713, 0, 1875, 1876, 5, 361, 0, 0, 1876, 1881, 3, 1426, 713, 0, + 1877, 1878, 5, 183, 0, 0, 1878, 1879, 7, 1, 0, 0, 1879, 1881, 3, 1426, + 713, 0, 1880, 1870, 1, 0, 0, 0, 1880, 1871, 1, 0, 0, 0, 1880, 1873, 1, + 0, 0, 0, 1880, 1875, 1, 0, 0, 0, 1880, 1877, 1, 0, 0, 0, 1881, 25, 1, 0, + 0, 0, 1882, 1883, 5, 80, 0, 0, 1883, 1884, 5, 453, 0, 0, 1884, 1886, 3, + 1422, 711, 0, 1885, 1887, 3, 16, 8, 0, 1886, 1885, 1, 0, 0, 0, 1886, 1887, + 1, 0, 0, 0, 1887, 1888, 1, 0, 0, 0, 1888, 1889, 3, 18, 9, 0, 1889, 27, + 1, 0, 0, 0, 1890, 1891, 5, 12, 0, 0, 1891, 1892, 7, 2, 0, 0, 1892, 1894, + 3, 1424, 712, 0, 1893, 1895, 3, 16, 8, 0, 1894, 1893, 1, 0, 0, 0, 1894, 1895, 1, 0, 0, 0, 1895, 1896, 1, 0, 0, 0, 1896, 1897, 3, 20, 10, 0, 1897, - 29, 1, 0, 0, 0, 1898, 1899, 5, 68, 0, 0, 1899, 1900, 5, 194, 0, 0, 1900, - 1901, 3, 1394, 697, 0, 1901, 31, 1, 0, 0, 0, 1902, 1903, 5, 157, 0, 0, - 1903, 1905, 7, 2, 0, 0, 1904, 1906, 5, 30, 0, 0, 1905, 1904, 1, 0, 0, 0, - 1905, 1906, 1, 0, 0, 0, 1906, 1907, 1, 0, 0, 0, 1907, 1909, 3, 1422, 711, - 0, 1908, 1910, 3, 30, 15, 0, 1909, 1908, 1, 0, 0, 0, 1909, 1910, 1, 0, - 0, 0, 1910, 1911, 1, 0, 0, 0, 1911, 1912, 3, 80, 40, 0, 1912, 33, 1, 0, - 0, 0, 1913, 1914, 5, 210, 0, 0, 1914, 1917, 7, 3, 0, 0, 1915, 1916, 5, - 239, 0, 0, 1916, 1918, 5, 409, 0, 0, 1917, 1915, 1, 0, 0, 0, 1917, 1918, - 1, 0, 0, 0, 1918, 1919, 1, 0, 0, 0, 1919, 1920, 3, 1424, 712, 0, 1920, - 35, 1, 0, 0, 0, 1921, 1922, 5, 46, 0, 0, 1922, 1923, 5, 66, 0, 0, 1923, - 1925, 3, 1420, 710, 0, 1924, 1926, 3, 16, 8, 0, 1925, 1924, 1, 0, 0, 0, - 1925, 1926, 1, 0, 0, 0, 1926, 1927, 1, 0, 0, 0, 1927, 1928, 3, 18, 9, 0, - 1928, 37, 1, 0, 0, 0, 1929, 1930, 5, 157, 0, 0, 1930, 1931, 5, 66, 0, 0, - 1931, 1932, 3, 1422, 711, 0, 1932, 1933, 3, 40, 20, 0, 1933, 1934, 5, 99, - 0, 0, 1934, 1935, 3, 1424, 712, 0, 1935, 39, 1, 0, 0, 0, 1936, 1937, 7, - 4, 0, 0, 1937, 41, 1, 0, 0, 0, 1938, 1939, 5, 46, 0, 0, 1939, 1943, 5, - 335, 0, 0, 1940, 1941, 5, 239, 0, 0, 1941, 1942, 5, 77, 0, 0, 1942, 1944, - 5, 409, 0, 0, 1943, 1940, 1, 0, 0, 0, 1943, 1944, 1, 0, 0, 0, 1944, 1951, + 29, 1, 0, 0, 0, 1898, 1899, 5, 183, 0, 0, 1899, 1900, 5, 95, 0, 0, 1900, + 1901, 3, 1396, 698, 0, 1901, 31, 1, 0, 0, 0, 1902, 1903, 5, 12, 0, 0, 1903, + 1905, 7, 2, 0, 0, 1904, 1906, 5, 10, 0, 0, 1905, 1904, 1, 0, 0, 0, 1905, + 1906, 1, 0, 0, 0, 1906, 1907, 1, 0, 0, 0, 1907, 1909, 3, 1424, 712, 0, + 1908, 1910, 3, 30, 15, 0, 1909, 1908, 1, 0, 0, 0, 1909, 1910, 1, 0, 0, + 0, 1910, 1911, 1, 0, 0, 0, 1911, 1912, 3, 80, 40, 0, 1912, 33, 1, 0, 0, + 0, 1913, 1914, 5, 121, 0, 0, 1914, 1917, 7, 3, 0, 0, 1915, 1916, 5, 177, + 0, 0, 1916, 1918, 5, 139, 0, 0, 1917, 1915, 1, 0, 0, 0, 1917, 1918, 1, + 0, 0, 0, 1918, 1919, 1, 0, 0, 0, 1919, 1920, 3, 1426, 713, 0, 1920, 35, + 1, 0, 0, 0, 1921, 1922, 5, 80, 0, 0, 1922, 1923, 5, 168, 0, 0, 1923, 1925, + 3, 1422, 711, 0, 1924, 1926, 3, 16, 8, 0, 1925, 1924, 1, 0, 0, 0, 1925, + 1926, 1, 0, 0, 0, 1926, 1927, 1, 0, 0, 0, 1927, 1928, 3, 18, 9, 0, 1928, + 37, 1, 0, 0, 0, 1929, 1930, 5, 12, 0, 0, 1930, 1931, 5, 168, 0, 0, 1931, + 1932, 3, 1424, 712, 0, 1932, 1933, 3, 40, 20, 0, 1933, 1934, 5, 453, 0, + 0, 1934, 1935, 3, 1426, 713, 0, 1935, 39, 1, 0, 0, 0, 1936, 1937, 7, 4, + 0, 0, 1937, 41, 1, 0, 0, 0, 1938, 1939, 5, 80, 0, 0, 1939, 1943, 5, 371, + 0, 0, 1940, 1941, 5, 177, 0, 0, 1941, 1942, 5, 274, 0, 0, 1942, 1944, 5, + 139, 0, 0, 1943, 1940, 1, 0, 0, 0, 1943, 1944, 1, 0, 0, 0, 1944, 1951, 1, 0, 0, 0, 1945, 1947, 3, 44, 22, 0, 1946, 1945, 1, 0, 0, 0, 1946, 1947, - 1, 0, 0, 0, 1947, 1948, 1, 0, 0, 0, 1948, 1949, 5, 125, 0, 0, 1949, 1952, - 3, 1422, 711, 0, 1950, 1952, 3, 1426, 713, 0, 1951, 1946, 1, 0, 0, 0, 1951, + 1, 0, 0, 0, 1947, 1948, 1, 0, 0, 0, 1948, 1949, 5, 29, 0, 0, 1949, 1952, + 3, 1424, 712, 0, 1950, 1952, 3, 1428, 714, 0, 1951, 1946, 1, 0, 0, 0, 1951, 1950, 1, 0, 0, 0, 1952, 1953, 1, 0, 0, 0, 1953, 1954, 3, 46, 23, 0, 1954, - 43, 1, 0, 0, 0, 1955, 1956, 3, 1426, 713, 0, 1956, 45, 1, 0, 0, 0, 1957, + 43, 1, 0, 0, 0, 1955, 1956, 3, 1428, 714, 0, 1956, 45, 1, 0, 0, 0, 1957, 1959, 3, 48, 24, 0, 1958, 1957, 1, 0, 0, 0, 1959, 1962, 1, 0, 0, 0, 1960, 1958, 1, 0, 0, 0, 1960, 1961, 1, 0, 0, 0, 1961, 47, 1, 0, 0, 0, 1962, 1960, 1, 0, 0, 0, 1963, 1970, 3, 172, 86, 0, 1964, 1970, 3, 594, 297, 0, 1965, 1970, 3, 280, 140, 0, 1966, 1970, 3, 406, 203, 0, 1967, 1970, 3, 554, 277, 0, 1968, 1970, 3, 806, 403, 0, 1969, 1963, 1, 0, 0, 0, 1969, 1964, 1, 0, 0, 0, 1969, 1965, 1, 0, 0, 0, 1969, 1966, 1, 0, 0, 0, 1969, 1967, 1, 0, - 0, 0, 1969, 1968, 1, 0, 0, 0, 1970, 49, 1, 0, 0, 0, 1971, 1973, 5, 345, + 0, 0, 1969, 1968, 1, 0, 0, 0, 1970, 49, 1, 0, 0, 0, 1971, 1973, 5, 384, 0, 0, 1972, 1974, 7, 5, 0, 0, 1973, 1972, 1, 0, 0, 0, 1973, 1974, 1, 0, 0, 0, 1974, 1975, 1, 0, 0, 0, 1975, 1976, 3, 52, 26, 0, 1976, 51, 1, 0, - 0, 0, 1977, 1978, 5, 368, 0, 0, 1978, 1986, 3, 800, 400, 0, 1979, 1980, - 5, 344, 0, 0, 1980, 1981, 5, 173, 0, 0, 1981, 1982, 5, 36, 0, 0, 1982, - 1983, 5, 368, 0, 0, 1983, 1986, 3, 800, 400, 0, 1984, 1986, 3, 56, 28, - 0, 1985, 1977, 1, 0, 0, 0, 1985, 1979, 1, 0, 0, 0, 1985, 1984, 1, 0, 0, - 0, 1986, 53, 1, 0, 0, 0, 1987, 1988, 3, 58, 29, 0, 1988, 1989, 7, 6, 0, - 0, 1989, 1990, 3, 60, 30, 0, 1990, 55, 1, 0, 0, 0, 1991, 2019, 3, 54, 27, - 0, 1992, 1993, 3, 58, 29, 0, 1993, 1994, 5, 64, 0, 0, 1994, 1995, 5, 455, - 0, 0, 1995, 2019, 1, 0, 0, 0, 1996, 1997, 5, 432, 0, 0, 1997, 1998, 5, - 398, 0, 0, 1998, 2019, 3, 68, 34, 0, 1999, 2000, 5, 171, 0, 0, 2000, 2019, - 3, 1412, 706, 0, 2001, 2002, 5, 335, 0, 0, 2002, 2019, 3, 1412, 706, 0, - 2003, 2005, 5, 279, 0, 0, 2004, 2006, 3, 70, 35, 0, 2005, 2004, 1, 0, 0, - 0, 2005, 2006, 1, 0, 0, 0, 2006, 2019, 1, 0, 0, 0, 2007, 2008, 5, 330, - 0, 0, 2008, 2019, 3, 72, 36, 0, 2009, 2010, 5, 344, 0, 0, 2010, 2011, 5, - 125, 0, 0, 2011, 2019, 3, 72, 36, 0, 2012, 2013, 5, 395, 0, 0, 2013, 2014, - 5, 291, 0, 0, 2014, 2019, 3, 1280, 640, 0, 2015, 2016, 5, 368, 0, 0, 2016, - 2017, 5, 349, 0, 0, 2017, 2019, 3, 1412, 706, 0, 2018, 1991, 1, 0, 0, 0, - 2018, 1992, 1, 0, 0, 0, 2018, 1996, 1, 0, 0, 0, 2018, 1999, 1, 0, 0, 0, - 2018, 2001, 1, 0, 0, 0, 2018, 2003, 1, 0, 0, 0, 2018, 2007, 1, 0, 0, 0, - 2018, 2009, 1, 0, 0, 0, 2018, 2012, 1, 0, 0, 0, 2018, 2015, 1, 0, 0, 0, - 2019, 57, 1, 0, 0, 0, 2020, 2025, 3, 1426, 713, 0, 2021, 2022, 5, 11, 0, - 0, 2022, 2024, 3, 1426, 713, 0, 2023, 2021, 1, 0, 0, 0, 2024, 2027, 1, - 0, 0, 0, 2025, 2023, 1, 0, 0, 0, 2025, 2026, 1, 0, 0, 0, 2026, 59, 1, 0, - 0, 0, 2027, 2025, 1, 0, 0, 0, 2028, 2033, 3, 62, 31, 0, 2029, 2030, 5, - 6, 0, 0, 2030, 2032, 3, 62, 31, 0, 2031, 2029, 1, 0, 0, 0, 2032, 2035, - 1, 0, 0, 0, 2033, 2031, 1, 0, 0, 0, 2033, 2034, 1, 0, 0, 0, 2034, 61, 1, - 0, 0, 0, 2035, 2033, 1, 0, 0, 0, 2036, 2039, 3, 66, 33, 0, 2037, 2039, - 3, 294, 147, 0, 2038, 2036, 1, 0, 0, 0, 2038, 2037, 1, 0, 0, 0, 2039, 63, - 1, 0, 0, 0, 2040, 2041, 5, 312, 0, 0, 2041, 2046, 7, 7, 0, 0, 2042, 2043, - 5, 322, 0, 0, 2043, 2046, 5, 312, 0, 0, 2044, 2046, 5, 342, 0, 0, 2045, - 2040, 1, 0, 0, 0, 2045, 2042, 1, 0, 0, 0, 2045, 2044, 1, 0, 0, 0, 2046, - 65, 1, 0, 0, 0, 2047, 2052, 5, 96, 0, 0, 2048, 2052, 5, 60, 0, 0, 2049, - 2052, 5, 80, 0, 0, 2050, 2052, 3, 72, 36, 0, 2051, 2047, 1, 0, 0, 0, 2051, - 2048, 1, 0, 0, 0, 2051, 2049, 1, 0, 0, 0, 2051, 2050, 1, 0, 0, 0, 2052, - 67, 1, 0, 0, 0, 2053, 2070, 3, 1412, 706, 0, 2054, 2070, 3, 1436, 718, - 0, 2055, 2056, 3, 1160, 580, 0, 2056, 2058, 3, 1412, 706, 0, 2057, 2059, - 3, 1164, 582, 0, 2058, 2057, 1, 0, 0, 0, 2058, 2059, 1, 0, 0, 0, 2059, - 2070, 1, 0, 0, 0, 2060, 2061, 3, 1160, 580, 0, 2061, 2062, 5, 2, 0, 0, - 2062, 2063, 3, 1410, 705, 0, 2063, 2064, 5, 3, 0, 0, 2064, 2065, 3, 1412, - 706, 0, 2065, 2070, 1, 0, 0, 0, 2066, 2070, 3, 294, 147, 0, 2067, 2070, - 5, 53, 0, 0, 2068, 2070, 5, 264, 0, 0, 2069, 2053, 1, 0, 0, 0, 2069, 2054, - 1, 0, 0, 0, 2069, 2055, 1, 0, 0, 0, 2069, 2060, 1, 0, 0, 0, 2069, 2066, - 1, 0, 0, 0, 2069, 2067, 1, 0, 0, 0, 2069, 2068, 1, 0, 0, 0, 2070, 69, 1, - 0, 0, 0, 2071, 2074, 3, 1412, 706, 0, 2072, 2074, 5, 53, 0, 0, 2073, 2071, - 1, 0, 0, 0, 2073, 2072, 1, 0, 0, 0, 2074, 71, 1, 0, 0, 0, 2075, 2078, 3, - 1432, 716, 0, 2076, 2078, 3, 1412, 706, 0, 2077, 2075, 1, 0, 0, 0, 2077, - 2076, 1, 0, 0, 0, 2078, 73, 1, 0, 0, 0, 2079, 2080, 5, 325, 0, 0, 2080, - 2081, 3, 76, 38, 0, 2081, 75, 1, 0, 0, 0, 2082, 2091, 3, 78, 39, 0, 2083, - 2084, 5, 432, 0, 0, 2084, 2091, 5, 398, 0, 0, 2085, 2086, 5, 368, 0, 0, - 2086, 2087, 5, 254, 0, 0, 2087, 2091, 5, 261, 0, 0, 2088, 2089, 5, 344, - 0, 0, 2089, 2091, 5, 125, 0, 0, 2090, 2082, 1, 0, 0, 0, 2090, 2083, 1, - 0, 0, 0, 2090, 2085, 1, 0, 0, 0, 2090, 2088, 1, 0, 0, 0, 2091, 77, 1, 0, - 0, 0, 2092, 2095, 3, 58, 29, 0, 2093, 2095, 5, 30, 0, 0, 2094, 2092, 1, - 0, 0, 0, 2094, 2093, 1, 0, 0, 0, 2095, 79, 1, 0, 0, 0, 2096, 2097, 5, 345, - 0, 0, 2097, 2100, 3, 52, 26, 0, 2098, 2100, 3, 74, 37, 0, 2099, 2096, 1, - 0, 0, 0, 2099, 2098, 1, 0, 0, 0, 2100, 81, 1, 0, 0, 0, 2101, 2102, 5, 345, - 0, 0, 2102, 2105, 3, 56, 28, 0, 2103, 2105, 3, 74, 37, 0, 2104, 2101, 1, - 0, 0, 0, 2104, 2103, 1, 0, 0, 0, 2105, 83, 1, 0, 0, 0, 2106, 2116, 5, 347, - 0, 0, 2107, 2117, 3, 58, 29, 0, 2108, 2109, 5, 432, 0, 0, 2109, 2117, 5, - 398, 0, 0, 2110, 2111, 5, 368, 0, 0, 2111, 2112, 5, 254, 0, 0, 2112, 2117, - 5, 261, 0, 0, 2113, 2114, 5, 344, 0, 0, 2114, 2117, 5, 125, 0, 0, 2115, - 2117, 5, 30, 0, 0, 2116, 2107, 1, 0, 0, 0, 2116, 2108, 1, 0, 0, 0, 2116, - 2110, 1, 0, 0, 0, 2116, 2113, 1, 0, 0, 0, 2116, 2115, 1, 0, 0, 0, 2117, - 85, 1, 0, 0, 0, 2118, 2119, 5, 345, 0, 0, 2119, 2120, 5, 184, 0, 0, 2120, - 2121, 3, 88, 44, 0, 2121, 2122, 3, 90, 45, 0, 2122, 87, 1, 0, 0, 0, 2123, - 2126, 5, 30, 0, 0, 2124, 2126, 3, 1388, 694, 0, 2125, 2123, 1, 0, 0, 0, - 2125, 2124, 1, 0, 0, 0, 2126, 89, 1, 0, 0, 0, 2127, 2128, 7, 8, 0, 0, 2128, - 91, 1, 0, 0, 0, 2129, 2130, 5, 174, 0, 0, 2130, 93, 1, 0, 0, 0, 2131, 2132, - 5, 206, 0, 0, 2132, 2133, 7, 9, 0, 0, 2133, 95, 1, 0, 0, 0, 2134, 2135, - 5, 157, 0, 0, 2135, 2138, 5, 92, 0, 0, 2136, 2137, 5, 239, 0, 0, 2137, - 2139, 5, 409, 0, 0, 2138, 2136, 1, 0, 0, 0, 2138, 2139, 1, 0, 0, 0, 2139, - 2140, 1, 0, 0, 0, 2140, 2143, 3, 1082, 541, 0, 2141, 2144, 3, 98, 49, 0, - 2142, 2144, 3, 100, 50, 0, 2143, 2141, 1, 0, 0, 0, 2143, 2142, 1, 0, 0, - 0, 2144, 2247, 1, 0, 0, 0, 2145, 2146, 5, 157, 0, 0, 2146, 2147, 5, 92, - 0, 0, 2147, 2148, 5, 30, 0, 0, 2148, 2149, 5, 68, 0, 0, 2149, 2150, 5, - 363, 0, 0, 2150, 2154, 3, 1394, 697, 0, 2151, 2152, 5, 293, 0, 0, 2152, - 2153, 5, 166, 0, 0, 2153, 2155, 3, 1424, 712, 0, 2154, 2151, 1, 0, 0, 0, - 2154, 2155, 1, 0, 0, 0, 2155, 2156, 1, 0, 0, 0, 2156, 2157, 5, 345, 0, - 0, 2157, 2158, 5, 363, 0, 0, 2158, 2160, 3, 1394, 697, 0, 2159, 2161, 3, - 946, 473, 0, 2160, 2159, 1, 0, 0, 0, 2160, 2161, 1, 0, 0, 0, 2161, 2247, - 1, 0, 0, 0, 2162, 2163, 5, 157, 0, 0, 2163, 2166, 5, 245, 0, 0, 2164, 2165, - 5, 239, 0, 0, 2165, 2167, 5, 409, 0, 0, 2166, 2164, 1, 0, 0, 0, 2166, 2167, - 1, 0, 0, 0, 2167, 2168, 1, 0, 0, 0, 2168, 2171, 3, 1390, 695, 0, 2169, - 2172, 3, 98, 49, 0, 2170, 2172, 3, 102, 51, 0, 2171, 2169, 1, 0, 0, 0, - 2171, 2170, 1, 0, 0, 0, 2172, 2247, 1, 0, 0, 0, 2173, 2174, 5, 157, 0, - 0, 2174, 2175, 5, 245, 0, 0, 2175, 2176, 5, 30, 0, 0, 2176, 2177, 5, 68, - 0, 0, 2177, 2178, 5, 363, 0, 0, 2178, 2182, 3, 1394, 697, 0, 2179, 2180, - 5, 293, 0, 0, 2180, 2181, 5, 166, 0, 0, 2181, 2183, 3, 1424, 712, 0, 2182, - 2179, 1, 0, 0, 0, 2182, 2183, 1, 0, 0, 0, 2183, 2184, 1, 0, 0, 0, 2184, - 2185, 5, 345, 0, 0, 2185, 2186, 5, 363, 0, 0, 2186, 2188, 3, 1394, 697, - 0, 2187, 2189, 3, 946, 473, 0, 2188, 2187, 1, 0, 0, 0, 2188, 2189, 1, 0, - 0, 0, 2189, 2247, 1, 0, 0, 0, 2190, 2191, 5, 157, 0, 0, 2191, 2194, 5, - 340, 0, 0, 2192, 2193, 5, 239, 0, 0, 2193, 2195, 5, 409, 0, 0, 2194, 2192, - 1, 0, 0, 0, 2194, 2195, 1, 0, 0, 0, 2195, 2196, 1, 0, 0, 0, 2196, 2197, - 3, 1390, 695, 0, 2197, 2198, 3, 98, 49, 0, 2198, 2247, 1, 0, 0, 0, 2199, - 2200, 5, 157, 0, 0, 2200, 2203, 5, 388, 0, 0, 2201, 2202, 5, 239, 0, 0, - 2202, 2204, 5, 409, 0, 0, 2203, 2201, 1, 0, 0, 0, 2203, 2204, 1, 0, 0, - 0, 2204, 2205, 1, 0, 0, 0, 2205, 2206, 3, 1390, 695, 0, 2206, 2207, 3, - 98, 49, 0, 2207, 2247, 1, 0, 0, 0, 2208, 2209, 5, 157, 0, 0, 2209, 2210, - 5, 270, 0, 0, 2210, 2213, 5, 388, 0, 0, 2211, 2212, 5, 239, 0, 0, 2212, - 2214, 5, 409, 0, 0, 2213, 2211, 1, 0, 0, 0, 2213, 2214, 1, 0, 0, 0, 2214, - 2215, 1, 0, 0, 0, 2215, 2216, 3, 1390, 695, 0, 2216, 2217, 3, 98, 49, 0, - 2217, 2247, 1, 0, 0, 0, 2218, 2219, 5, 157, 0, 0, 2219, 2220, 5, 270, 0, - 0, 2220, 2221, 5, 388, 0, 0, 2221, 2222, 5, 30, 0, 0, 2222, 2223, 5, 68, - 0, 0, 2223, 2224, 5, 363, 0, 0, 2224, 2228, 3, 1394, 697, 0, 2225, 2226, - 5, 293, 0, 0, 2226, 2227, 5, 166, 0, 0, 2227, 2229, 3, 1424, 712, 0, 2228, - 2225, 1, 0, 0, 0, 2228, 2229, 1, 0, 0, 0, 2229, 2230, 1, 0, 0, 0, 2230, - 2231, 5, 345, 0, 0, 2231, 2232, 5, 363, 0, 0, 2232, 2234, 3, 1394, 697, - 0, 2233, 2235, 3, 946, 473, 0, 2234, 2233, 1, 0, 0, 0, 2234, 2235, 1, 0, - 0, 0, 2235, 2247, 1, 0, 0, 0, 2236, 2237, 5, 157, 0, 0, 2237, 2238, 5, - 63, 0, 0, 2238, 2241, 5, 92, 0, 0, 2239, 2240, 5, 239, 0, 0, 2240, 2242, - 5, 409, 0, 0, 2241, 2239, 1, 0, 0, 0, 2241, 2242, 1, 0, 0, 0, 2242, 2243, - 1, 0, 0, 0, 2243, 2244, 3, 1082, 541, 0, 2244, 2245, 3, 98, 49, 0, 2245, - 2247, 1, 0, 0, 0, 2246, 2134, 1, 0, 0, 0, 2246, 2145, 1, 0, 0, 0, 2246, - 2162, 1, 0, 0, 0, 2246, 2173, 1, 0, 0, 0, 2246, 2190, 1, 0, 0, 0, 2246, - 2199, 1, 0, 0, 0, 2246, 2208, 1, 0, 0, 0, 2246, 2218, 1, 0, 0, 0, 2246, - 2236, 1, 0, 0, 0, 2247, 97, 1, 0, 0, 0, 2248, 2253, 3, 104, 52, 0, 2249, - 2250, 5, 6, 0, 0, 2250, 2252, 3, 104, 52, 0, 2251, 2249, 1, 0, 0, 0, 2252, - 2255, 1, 0, 0, 0, 2253, 2251, 1, 0, 0, 0, 2253, 2254, 1, 0, 0, 0, 2254, - 99, 1, 0, 0, 0, 2255, 2253, 1, 0, 0, 0, 2256, 2257, 5, 456, 0, 0, 2257, - 2258, 5, 297, 0, 0, 2258, 2259, 3, 1390, 695, 0, 2259, 2260, 3, 128, 64, - 0, 2260, 2265, 1, 0, 0, 0, 2261, 2262, 5, 457, 0, 0, 2262, 2263, 5, 297, - 0, 0, 2263, 2265, 3, 1390, 695, 0, 2264, 2256, 1, 0, 0, 0, 2264, 2261, - 1, 0, 0, 0, 2265, 101, 1, 0, 0, 0, 2266, 2267, 5, 456, 0, 0, 2267, 2268, - 5, 297, 0, 0, 2268, 2269, 3, 1390, 695, 0, 2269, 103, 1, 0, 0, 0, 2270, - 2271, 5, 152, 0, 0, 2271, 2573, 3, 188, 94, 0, 2272, 2273, 5, 152, 0, 0, - 2273, 2274, 5, 239, 0, 0, 2274, 2275, 5, 77, 0, 0, 2275, 2276, 5, 409, - 0, 0, 2276, 2573, 3, 188, 94, 0, 2277, 2278, 5, 152, 0, 0, 2278, 2279, - 5, 44, 0, 0, 2279, 2573, 3, 188, 94, 0, 2280, 2281, 5, 152, 0, 0, 2281, - 2282, 5, 44, 0, 0, 2282, 2283, 5, 239, 0, 0, 2283, 2284, 5, 77, 0, 0, 2284, - 2285, 5, 409, 0, 0, 2285, 2573, 3, 188, 94, 0, 2286, 2288, 5, 157, 0, 0, - 2287, 2289, 3, 730, 365, 0, 2288, 2287, 1, 0, 0, 0, 2288, 2289, 1, 0, 0, - 0, 2289, 2290, 1, 0, 0, 0, 2290, 2291, 3, 1426, 713, 0, 2291, 2292, 3, - 106, 53, 0, 2292, 2573, 1, 0, 0, 0, 2293, 2295, 5, 157, 0, 0, 2294, 2296, - 3, 730, 365, 0, 2295, 2294, 1, 0, 0, 0, 2295, 2296, 1, 0, 0, 0, 2296, 2297, - 1, 0, 0, 0, 2297, 2298, 3, 1426, 713, 0, 2298, 2299, 5, 210, 0, 0, 2299, - 2300, 5, 77, 0, 0, 2300, 2301, 5, 78, 0, 0, 2301, 2573, 1, 0, 0, 0, 2302, - 2304, 5, 157, 0, 0, 2303, 2305, 3, 730, 365, 0, 2304, 2303, 1, 0, 0, 0, - 2304, 2305, 1, 0, 0, 0, 2305, 2306, 1, 0, 0, 0, 2306, 2307, 3, 1426, 713, - 0, 2307, 2308, 5, 345, 0, 0, 2308, 2309, 5, 77, 0, 0, 2309, 2310, 5, 78, - 0, 0, 2310, 2573, 1, 0, 0, 0, 2311, 2313, 5, 157, 0, 0, 2312, 2314, 3, - 730, 365, 0, 2313, 2312, 1, 0, 0, 0, 2313, 2314, 1, 0, 0, 0, 2314, 2315, - 1, 0, 0, 0, 2315, 2316, 3, 1426, 713, 0, 2316, 2317, 5, 210, 0, 0, 2317, - 2318, 5, 458, 0, 0, 2318, 2573, 1, 0, 0, 0, 2319, 2321, 5, 157, 0, 0, 2320, - 2322, 3, 730, 365, 0, 2321, 2320, 1, 0, 0, 0, 2321, 2322, 1, 0, 0, 0, 2322, - 2323, 1, 0, 0, 0, 2323, 2324, 3, 1426, 713, 0, 2324, 2325, 5, 210, 0, 0, - 2325, 2326, 5, 458, 0, 0, 2326, 2327, 5, 239, 0, 0, 2327, 2328, 5, 409, - 0, 0, 2328, 2573, 1, 0, 0, 0, 2329, 2331, 5, 157, 0, 0, 2330, 2332, 3, - 730, 365, 0, 2331, 2330, 1, 0, 0, 0, 2331, 2332, 1, 0, 0, 0, 2332, 2333, - 1, 0, 0, 0, 2333, 2334, 3, 1426, 713, 0, 2334, 2335, 5, 345, 0, 0, 2335, - 2336, 5, 354, 0, 0, 2336, 2337, 3, 1418, 709, 0, 2337, 2573, 1, 0, 0, 0, - 2338, 2340, 5, 157, 0, 0, 2339, 2341, 3, 730, 365, 0, 2340, 2339, 1, 0, - 0, 0, 2340, 2341, 1, 0, 0, 0, 2341, 2342, 1, 0, 0, 0, 2342, 2343, 3, 1410, - 705, 0, 2343, 2344, 5, 345, 0, 0, 2344, 2345, 5, 354, 0, 0, 2345, 2346, - 3, 1418, 709, 0, 2346, 2573, 1, 0, 0, 0, 2347, 2349, 5, 157, 0, 0, 2348, - 2350, 3, 730, 365, 0, 2349, 2348, 1, 0, 0, 0, 2349, 2350, 1, 0, 0, 0, 2350, - 2351, 1, 0, 0, 0, 2351, 2352, 3, 1426, 713, 0, 2352, 2353, 5, 345, 0, 0, - 2353, 2354, 3, 116, 58, 0, 2354, 2573, 1, 0, 0, 0, 2355, 2357, 5, 157, - 0, 0, 2356, 2358, 3, 730, 365, 0, 2357, 2356, 1, 0, 0, 0, 2357, 2358, 1, - 0, 0, 0, 2358, 2359, 1, 0, 0, 0, 2359, 2360, 3, 1426, 713, 0, 2360, 2361, - 5, 325, 0, 0, 2361, 2362, 3, 116, 58, 0, 2362, 2573, 1, 0, 0, 0, 2363, - 2365, 5, 157, 0, 0, 2364, 2366, 3, 730, 365, 0, 2365, 2364, 1, 0, 0, 0, - 2365, 2366, 1, 0, 0, 0, 2366, 2367, 1, 0, 0, 0, 2367, 2368, 3, 1426, 713, - 0, 2368, 2369, 5, 345, 0, 0, 2369, 2370, 5, 357, 0, 0, 2370, 2371, 3, 1426, - 713, 0, 2371, 2573, 1, 0, 0, 0, 2372, 2374, 5, 157, 0, 0, 2373, 2375, 3, - 730, 365, 0, 2374, 2373, 1, 0, 0, 0, 2374, 2375, 1, 0, 0, 0, 2375, 2376, - 1, 0, 0, 0, 2376, 2377, 3, 1426, 713, 0, 2377, 2378, 5, 152, 0, 0, 2378, - 2379, 5, 459, 0, 0, 2379, 2380, 3, 200, 100, 0, 2380, 2381, 5, 36, 0, 0, - 2381, 2383, 5, 238, 0, 0, 2382, 2384, 3, 286, 143, 0, 2383, 2382, 1, 0, - 0, 0, 2383, 2384, 1, 0, 0, 0, 2384, 2573, 1, 0, 0, 0, 2385, 2387, 5, 157, - 0, 0, 2386, 2388, 3, 730, 365, 0, 2387, 2386, 1, 0, 0, 0, 2387, 2388, 1, - 0, 0, 0, 2388, 2389, 1, 0, 0, 0, 2389, 2390, 3, 1426, 713, 0, 2390, 2391, - 3, 124, 62, 0, 2391, 2573, 1, 0, 0, 0, 2392, 2394, 5, 157, 0, 0, 2393, - 2395, 3, 730, 365, 0, 2394, 2393, 1, 0, 0, 0, 2394, 2395, 1, 0, 0, 0, 2395, - 2396, 1, 0, 0, 0, 2396, 2397, 3, 1426, 713, 0, 2397, 2398, 5, 210, 0, 0, - 2398, 2399, 5, 238, 0, 0, 2399, 2573, 1, 0, 0, 0, 2400, 2402, 5, 157, 0, - 0, 2401, 2403, 3, 730, 365, 0, 2402, 2401, 1, 0, 0, 0, 2402, 2403, 1, 0, - 0, 0, 2403, 2404, 1, 0, 0, 0, 2404, 2405, 3, 1426, 713, 0, 2405, 2406, - 5, 210, 0, 0, 2406, 2407, 5, 238, 0, 0, 2407, 2408, 5, 239, 0, 0, 2408, - 2409, 5, 409, 0, 0, 2409, 2573, 1, 0, 0, 0, 2410, 2412, 5, 210, 0, 0, 2411, - 2413, 3, 730, 365, 0, 2412, 2411, 1, 0, 0, 0, 2412, 2413, 1, 0, 0, 0, 2413, - 2414, 1, 0, 0, 0, 2414, 2415, 5, 239, 0, 0, 2415, 2416, 5, 409, 0, 0, 2416, - 2418, 3, 1426, 713, 0, 2417, 2419, 3, 108, 54, 0, 2418, 2417, 1, 0, 0, - 0, 2418, 2419, 1, 0, 0, 0, 2419, 2573, 1, 0, 0, 0, 2420, 2422, 5, 210, - 0, 0, 2421, 2423, 3, 730, 365, 0, 2422, 2421, 1, 0, 0, 0, 2422, 2423, 1, - 0, 0, 0, 2423, 2424, 1, 0, 0, 0, 2424, 2426, 3, 1426, 713, 0, 2425, 2427, - 3, 108, 54, 0, 2426, 2425, 1, 0, 0, 0, 2426, 2427, 1, 0, 0, 0, 2427, 2573, - 1, 0, 0, 0, 2428, 2430, 5, 157, 0, 0, 2429, 2431, 3, 730, 365, 0, 2430, - 2429, 1, 0, 0, 0, 2430, 2431, 1, 0, 0, 0, 2431, 2432, 1, 0, 0, 0, 2432, - 2434, 3, 1426, 713, 0, 2433, 2435, 3, 732, 366, 0, 2434, 2433, 1, 0, 0, - 0, 2434, 2435, 1, 0, 0, 0, 2435, 2436, 1, 0, 0, 0, 2436, 2437, 5, 372, - 0, 0, 2437, 2439, 3, 1126, 563, 0, 2438, 2440, 3, 110, 55, 0, 2439, 2438, - 1, 0, 0, 0, 2439, 2440, 1, 0, 0, 0, 2440, 2442, 1, 0, 0, 0, 2441, 2443, - 3, 112, 56, 0, 2442, 2441, 1, 0, 0, 0, 2442, 2443, 1, 0, 0, 0, 2443, 2573, - 1, 0, 0, 0, 2444, 2446, 5, 157, 0, 0, 2445, 2447, 3, 730, 365, 0, 2446, - 2445, 1, 0, 0, 0, 2446, 2447, 1, 0, 0, 0, 2447, 2448, 1, 0, 0, 0, 2448, - 2449, 3, 1426, 713, 0, 2449, 2450, 3, 346, 173, 0, 2450, 2573, 1, 0, 0, - 0, 2451, 2452, 5, 152, 0, 0, 2452, 2573, 3, 210, 105, 0, 2453, 2454, 5, - 157, 0, 0, 2454, 2455, 5, 45, 0, 0, 2455, 2456, 3, 1394, 697, 0, 2456, - 2457, 3, 442, 221, 0, 2457, 2573, 1, 0, 0, 0, 2458, 2459, 5, 384, 0, 0, - 2459, 2460, 5, 45, 0, 0, 2460, 2573, 3, 1394, 697, 0, 2461, 2462, 5, 210, - 0, 0, 2462, 2463, 5, 45, 0, 0, 2463, 2464, 5, 239, 0, 0, 2464, 2465, 5, - 409, 0, 0, 2465, 2467, 3, 1394, 697, 0, 2466, 2468, 3, 108, 54, 0, 2467, - 2466, 1, 0, 0, 0, 2467, 2468, 1, 0, 0, 0, 2468, 2573, 1, 0, 0, 0, 2469, - 2470, 5, 210, 0, 0, 2470, 2471, 5, 45, 0, 0, 2471, 2473, 3, 1394, 697, - 0, 2472, 2474, 3, 108, 54, 0, 2473, 2472, 1, 0, 0, 0, 2473, 2474, 1, 0, - 0, 0, 2474, 2573, 1, 0, 0, 0, 2475, 2476, 5, 345, 0, 0, 2476, 2477, 5, - 391, 0, 0, 2477, 2573, 5, 289, 0, 0, 2478, 2479, 5, 177, 0, 0, 2479, 2480, - 5, 80, 0, 0, 2480, 2573, 3, 1394, 697, 0, 2481, 2482, 5, 345, 0, 0, 2482, - 2483, 5, 391, 0, 0, 2483, 2573, 5, 177, 0, 0, 2484, 2485, 5, 345, 0, 0, - 2485, 2573, 5, 460, 0, 0, 2486, 2487, 5, 345, 0, 0, 2487, 2573, 5, 379, - 0, 0, 2488, 2489, 5, 212, 0, 0, 2489, 2490, 5, 369, 0, 0, 2490, 2573, 3, - 1394, 697, 0, 2491, 2492, 5, 212, 0, 0, 2492, 2493, 5, 158, 0, 0, 2493, - 2494, 5, 369, 0, 0, 2494, 2573, 3, 1394, 697, 0, 2495, 2496, 5, 212, 0, - 0, 2496, 2497, 5, 324, 0, 0, 2497, 2498, 5, 369, 0, 0, 2498, 2573, 3, 1394, - 697, 0, 2499, 2500, 5, 212, 0, 0, 2500, 2501, 5, 369, 0, 0, 2501, 2573, - 5, 30, 0, 0, 2502, 2503, 5, 212, 0, 0, 2503, 2504, 5, 369, 0, 0, 2504, - 2573, 5, 99, 0, 0, 2505, 2506, 5, 205, 0, 0, 2506, 2507, 5, 369, 0, 0, - 2507, 2573, 3, 1394, 697, 0, 2508, 2509, 5, 205, 0, 0, 2509, 2510, 5, 369, - 0, 0, 2510, 2573, 5, 30, 0, 0, 2511, 2512, 5, 205, 0, 0, 2512, 2513, 5, - 369, 0, 0, 2513, 2573, 5, 99, 0, 0, 2514, 2515, 5, 212, 0, 0, 2515, 2516, - 5, 333, 0, 0, 2516, 2573, 3, 1394, 697, 0, 2517, 2518, 5, 212, 0, 0, 2518, - 2519, 5, 158, 0, 0, 2519, 2520, 5, 333, 0, 0, 2520, 2573, 3, 1394, 697, - 0, 2521, 2522, 5, 212, 0, 0, 2522, 2523, 5, 324, 0, 0, 2523, 2524, 5, 333, - 0, 0, 2524, 2573, 3, 1394, 697, 0, 2525, 2526, 5, 205, 0, 0, 2526, 2527, - 5, 333, 0, 0, 2527, 2573, 3, 1394, 697, 0, 2528, 2529, 5, 247, 0, 0, 2529, - 2573, 3, 1390, 695, 0, 2530, 2531, 5, 281, 0, 0, 2531, 2532, 5, 247, 0, - 0, 2532, 2573, 3, 1390, 695, 0, 2533, 2534, 5, 287, 0, 0, 2534, 2573, 3, - 526, 263, 0, 2535, 2536, 5, 77, 0, 0, 2536, 2573, 5, 287, 0, 0, 2537, 2538, - 5, 294, 0, 0, 2538, 2539, 5, 94, 0, 0, 2539, 2573, 3, 1422, 711, 0, 2540, - 2541, 5, 345, 0, 0, 2541, 2542, 5, 150, 0, 0, 2542, 2543, 5, 467, 0, 0, - 2543, 2573, 3, 1394, 697, 0, 2544, 2545, 5, 345, 0, 0, 2545, 2546, 5, 363, - 0, 0, 2546, 2573, 3, 1394, 697, 0, 2547, 2548, 5, 345, 0, 0, 2548, 2573, - 3, 116, 58, 0, 2549, 2550, 5, 325, 0, 0, 2550, 2573, 3, 116, 58, 0, 2551, - 2552, 5, 324, 0, 0, 2552, 2553, 5, 238, 0, 0, 2553, 2573, 3, 114, 57, 0, - 2554, 2555, 5, 212, 0, 0, 2555, 2556, 5, 428, 0, 0, 2556, 2557, 5, 261, - 0, 0, 2557, 2573, 5, 339, 0, 0, 2558, 2559, 5, 205, 0, 0, 2559, 2560, 5, - 428, 0, 0, 2560, 2561, 5, 261, 0, 0, 2561, 2573, 5, 339, 0, 0, 2562, 2563, - 5, 228, 0, 0, 2563, 2564, 5, 428, 0, 0, 2564, 2565, 5, 261, 0, 0, 2565, - 2573, 5, 339, 0, 0, 2566, 2567, 5, 281, 0, 0, 2567, 2568, 5, 228, 0, 0, - 2568, 2569, 5, 428, 0, 0, 2569, 2570, 5, 261, 0, 0, 2570, 2573, 5, 339, - 0, 0, 2571, 2573, 3, 346, 173, 0, 2572, 2270, 1, 0, 0, 0, 2572, 2272, 1, - 0, 0, 0, 2572, 2277, 1, 0, 0, 0, 2572, 2280, 1, 0, 0, 0, 2572, 2286, 1, - 0, 0, 0, 2572, 2293, 1, 0, 0, 0, 2572, 2302, 1, 0, 0, 0, 2572, 2311, 1, - 0, 0, 0, 2572, 2319, 1, 0, 0, 0, 2572, 2329, 1, 0, 0, 0, 2572, 2338, 1, - 0, 0, 0, 2572, 2347, 1, 0, 0, 0, 2572, 2355, 1, 0, 0, 0, 2572, 2363, 1, - 0, 0, 0, 2572, 2372, 1, 0, 0, 0, 2572, 2385, 1, 0, 0, 0, 2572, 2392, 1, - 0, 0, 0, 2572, 2400, 1, 0, 0, 0, 2572, 2410, 1, 0, 0, 0, 2572, 2420, 1, - 0, 0, 0, 2572, 2428, 1, 0, 0, 0, 2572, 2444, 1, 0, 0, 0, 2572, 2451, 1, - 0, 0, 0, 2572, 2453, 1, 0, 0, 0, 2572, 2458, 1, 0, 0, 0, 2572, 2461, 1, - 0, 0, 0, 2572, 2469, 1, 0, 0, 0, 2572, 2475, 1, 0, 0, 0, 2572, 2478, 1, - 0, 0, 0, 2572, 2481, 1, 0, 0, 0, 2572, 2484, 1, 0, 0, 0, 2572, 2486, 1, - 0, 0, 0, 2572, 2488, 1, 0, 0, 0, 2572, 2491, 1, 0, 0, 0, 2572, 2495, 1, - 0, 0, 0, 2572, 2499, 1, 0, 0, 0, 2572, 2502, 1, 0, 0, 0, 2572, 2505, 1, - 0, 0, 0, 2572, 2508, 1, 0, 0, 0, 2572, 2511, 1, 0, 0, 0, 2572, 2514, 1, - 0, 0, 0, 2572, 2517, 1, 0, 0, 0, 2572, 2521, 1, 0, 0, 0, 2572, 2525, 1, - 0, 0, 0, 2572, 2528, 1, 0, 0, 0, 2572, 2530, 1, 0, 0, 0, 2572, 2533, 1, - 0, 0, 0, 2572, 2535, 1, 0, 0, 0, 2572, 2537, 1, 0, 0, 0, 2572, 2540, 1, - 0, 0, 0, 2572, 2544, 1, 0, 0, 0, 2572, 2547, 1, 0, 0, 0, 2572, 2549, 1, - 0, 0, 0, 2572, 2551, 1, 0, 0, 0, 2572, 2554, 1, 0, 0, 0, 2572, 2558, 1, - 0, 0, 0, 2572, 2562, 1, 0, 0, 0, 2572, 2566, 1, 0, 0, 0, 2572, 2571, 1, - 0, 0, 0, 2573, 105, 1, 0, 0, 0, 2574, 2575, 5, 345, 0, 0, 2575, 2576, 5, - 53, 0, 0, 2576, 2580, 3, 1170, 585, 0, 2577, 2578, 5, 210, 0, 0, 2578, - 2580, 5, 53, 0, 0, 2579, 2574, 1, 0, 0, 0, 2579, 2577, 1, 0, 0, 0, 2580, - 107, 1, 0, 0, 0, 2581, 2582, 7, 10, 0, 0, 2582, 109, 1, 0, 0, 0, 2583, - 2584, 5, 43, 0, 0, 2584, 2585, 3, 526, 263, 0, 2585, 111, 1, 0, 0, 0, 2586, - 2587, 5, 100, 0, 0, 2587, 2588, 3, 1170, 585, 0, 2588, 113, 1, 0, 0, 0, - 2589, 2596, 5, 282, 0, 0, 2590, 2596, 5, 132, 0, 0, 2591, 2596, 5, 53, - 0, 0, 2592, 2593, 5, 100, 0, 0, 2593, 2594, 5, 245, 0, 0, 2594, 2596, 3, - 1394, 697, 0, 2595, 2589, 1, 0, 0, 0, 2595, 2590, 1, 0, 0, 0, 2595, 2591, - 1, 0, 0, 0, 2595, 2592, 1, 0, 0, 0, 2596, 115, 1, 0, 0, 0, 2597, 2598, - 5, 2, 0, 0, 2598, 2599, 3, 120, 60, 0, 2599, 2600, 5, 3, 0, 0, 2600, 117, - 1, 0, 0, 0, 2601, 2602, 5, 105, 0, 0, 2602, 2603, 3, 116, 58, 0, 2603, - 119, 1, 0, 0, 0, 2604, 2609, 3, 122, 61, 0, 2605, 2606, 5, 6, 0, 0, 2606, - 2608, 3, 122, 61, 0, 2607, 2605, 1, 0, 0, 0, 2608, 2611, 1, 0, 0, 0, 2609, - 2607, 1, 0, 0, 0, 2609, 2610, 1, 0, 0, 0, 2610, 121, 1, 0, 0, 0, 2611, - 2609, 1, 0, 0, 0, 2612, 2621, 3, 1434, 717, 0, 2613, 2614, 5, 10, 0, 0, - 2614, 2622, 3, 468, 234, 0, 2615, 2616, 5, 11, 0, 0, 2616, 2619, 3, 1434, - 717, 0, 2617, 2618, 5, 10, 0, 0, 2618, 2620, 3, 468, 234, 0, 2619, 2617, - 1, 0, 0, 0, 2619, 2620, 1, 0, 0, 0, 2620, 2622, 1, 0, 0, 0, 2621, 2613, - 1, 0, 0, 0, 2621, 2615, 1, 0, 0, 0, 2621, 2622, 1, 0, 0, 0, 2622, 123, - 1, 0, 0, 0, 2623, 2625, 3, 126, 63, 0, 2624, 2623, 1, 0, 0, 0, 2625, 2626, - 1, 0, 0, 0, 2626, 2624, 1, 0, 0, 0, 2626, 2627, 1, 0, 0, 0, 2627, 125, - 1, 0, 0, 0, 2628, 2633, 5, 326, 0, 0, 2629, 2631, 3, 16, 8, 0, 2630, 2629, - 1, 0, 0, 0, 2630, 2631, 1, 0, 0, 0, 2631, 2632, 1, 0, 0, 0, 2632, 2634, - 3, 294, 147, 0, 2633, 2630, 1, 0, 0, 0, 2633, 2634, 1, 0, 0, 0, 2634, 2642, - 1, 0, 0, 0, 2635, 2639, 5, 345, 0, 0, 2636, 2640, 3, 290, 145, 0, 2637, - 2638, 5, 459, 0, 0, 2638, 2640, 3, 200, 100, 0, 2639, 2636, 1, 0, 0, 0, - 2639, 2637, 1, 0, 0, 0, 2640, 2642, 1, 0, 0, 0, 2641, 2628, 1, 0, 0, 0, - 2641, 2635, 1, 0, 0, 0, 2642, 127, 1, 0, 0, 0, 2643, 2644, 5, 62, 0, 0, - 2644, 2645, 5, 436, 0, 0, 2645, 2646, 5, 105, 0, 0, 2646, 2647, 5, 2, 0, - 0, 2647, 2648, 3, 132, 66, 0, 2648, 2649, 5, 3, 0, 0, 2649, 2670, 1, 0, - 0, 0, 2650, 2651, 5, 62, 0, 0, 2651, 2652, 5, 436, 0, 0, 2652, 2653, 5, - 68, 0, 0, 2653, 2654, 5, 2, 0, 0, 2654, 2655, 3, 1332, 666, 0, 2655, 2656, - 5, 3, 0, 0, 2656, 2670, 1, 0, 0, 0, 2657, 2658, 5, 62, 0, 0, 2658, 2659, - 5, 436, 0, 0, 2659, 2660, 5, 64, 0, 0, 2660, 2661, 5, 2, 0, 0, 2661, 2662, - 3, 1332, 666, 0, 2662, 2663, 5, 3, 0, 0, 2663, 2664, 5, 94, 0, 0, 2664, - 2665, 5, 2, 0, 0, 2665, 2666, 3, 1332, 666, 0, 2666, 2667, 5, 3, 0, 0, - 2667, 2670, 1, 0, 0, 0, 2668, 2670, 5, 53, 0, 0, 2669, 2643, 1, 0, 0, 0, - 2669, 2650, 1, 0, 0, 0, 2669, 2657, 1, 0, 0, 0, 2669, 2668, 1, 0, 0, 0, - 2670, 129, 1, 0, 0, 0, 2671, 2672, 3, 1432, 716, 0, 2672, 2673, 3, 1410, - 705, 0, 2673, 131, 1, 0, 0, 0, 2674, 2679, 3, 130, 65, 0, 2675, 2676, 5, - 6, 0, 0, 2676, 2678, 3, 130, 65, 0, 2677, 2675, 1, 0, 0, 0, 2678, 2681, - 1, 0, 0, 0, 2679, 2677, 1, 0, 0, 0, 2679, 2680, 1, 0, 0, 0, 2680, 133, - 1, 0, 0, 0, 2681, 2679, 1, 0, 0, 0, 2682, 2683, 5, 157, 0, 0, 2683, 2684, - 5, 372, 0, 0, 2684, 2685, 3, 526, 263, 0, 2685, 2686, 3, 136, 68, 0, 2686, - 135, 1, 0, 0, 0, 2687, 2692, 3, 138, 69, 0, 2688, 2689, 5, 6, 0, 0, 2689, - 2691, 3, 138, 69, 0, 2690, 2688, 1, 0, 0, 0, 2691, 2694, 1, 0, 0, 0, 2692, - 2690, 1, 0, 0, 0, 2692, 2693, 1, 0, 0, 0, 2693, 137, 1, 0, 0, 0, 2694, - 2692, 1, 0, 0, 0, 2695, 2696, 5, 152, 0, 0, 2696, 2697, 5, 162, 0, 0, 2697, - 2699, 3, 1110, 555, 0, 2698, 2700, 3, 108, 54, 0, 2699, 2698, 1, 0, 0, - 0, 2699, 2700, 1, 0, 0, 0, 2700, 2726, 1, 0, 0, 0, 2701, 2702, 5, 210, - 0, 0, 2702, 2705, 5, 162, 0, 0, 2703, 2704, 5, 239, 0, 0, 2704, 2706, 5, - 409, 0, 0, 2705, 2703, 1, 0, 0, 0, 2705, 2706, 1, 0, 0, 0, 2706, 2707, - 1, 0, 0, 0, 2707, 2709, 3, 1426, 713, 0, 2708, 2710, 3, 108, 54, 0, 2709, - 2708, 1, 0, 0, 0, 2709, 2710, 1, 0, 0, 0, 2710, 2726, 1, 0, 0, 0, 2711, - 2712, 5, 157, 0, 0, 2712, 2713, 5, 162, 0, 0, 2713, 2715, 3, 1426, 713, - 0, 2714, 2716, 3, 732, 366, 0, 2715, 2714, 1, 0, 0, 0, 2715, 2716, 1, 0, - 0, 0, 2716, 2717, 1, 0, 0, 0, 2717, 2718, 5, 372, 0, 0, 2718, 2720, 3, - 1126, 563, 0, 2719, 2721, 3, 110, 55, 0, 2720, 2719, 1, 0, 0, 0, 2720, - 2721, 1, 0, 0, 0, 2721, 2723, 1, 0, 0, 0, 2722, 2724, 3, 108, 54, 0, 2723, - 2722, 1, 0, 0, 0, 2723, 2724, 1, 0, 0, 0, 2724, 2726, 1, 0, 0, 0, 2725, - 2695, 1, 0, 0, 0, 2725, 2701, 1, 0, 0, 0, 2725, 2711, 1, 0, 0, 0, 2726, - 139, 1, 0, 0, 0, 2727, 2730, 5, 176, 0, 0, 2728, 2731, 3, 962, 481, 0, - 2729, 2731, 5, 30, 0, 0, 2730, 2728, 1, 0, 0, 0, 2730, 2729, 1, 0, 0, 0, - 2731, 141, 1, 0, 0, 0, 2732, 2734, 5, 188, 0, 0, 2733, 2735, 3, 156, 78, - 0, 2734, 2733, 1, 0, 0, 0, 2734, 2735, 1, 0, 0, 0, 2735, 2736, 1, 0, 0, - 0, 2736, 2738, 3, 1390, 695, 0, 2737, 2739, 3, 216, 108, 0, 2738, 2737, - 1, 0, 0, 0, 2738, 2739, 1, 0, 0, 0, 2739, 2740, 1, 0, 0, 0, 2740, 2742, - 3, 144, 72, 0, 2741, 2743, 3, 146, 73, 0, 2742, 2741, 1, 0, 0, 0, 2742, - 2743, 1, 0, 0, 0, 2743, 2744, 1, 0, 0, 0, 2744, 2746, 3, 148, 74, 0, 2745, - 2747, 3, 158, 79, 0, 2746, 2745, 1, 0, 0, 0, 2746, 2747, 1, 0, 0, 0, 2747, - 2749, 1, 0, 0, 0, 2748, 2750, 3, 16, 8, 0, 2749, 2748, 1, 0, 0, 0, 2749, - 2750, 1, 0, 0, 0, 2750, 2751, 1, 0, 0, 0, 2751, 2753, 3, 150, 75, 0, 2752, - 2754, 3, 1102, 551, 0, 2753, 2752, 1, 0, 0, 0, 2753, 2754, 1, 0, 0, 0, - 2754, 2770, 1, 0, 0, 0, 2755, 2756, 5, 188, 0, 0, 2756, 2757, 5, 2, 0, - 0, 2757, 2758, 3, 902, 451, 0, 2758, 2759, 5, 3, 0, 0, 2759, 2761, 5, 94, - 0, 0, 2760, 2762, 3, 146, 73, 0, 2761, 2760, 1, 0, 0, 0, 2761, 2762, 1, - 0, 0, 0, 2762, 2763, 1, 0, 0, 0, 2763, 2765, 3, 148, 74, 0, 2764, 2766, - 3, 16, 8, 0, 2765, 2764, 1, 0, 0, 0, 2765, 2766, 1, 0, 0, 0, 2766, 2767, - 1, 0, 0, 0, 2767, 2768, 3, 150, 75, 0, 2768, 2770, 1, 0, 0, 0, 2769, 2732, - 1, 0, 0, 0, 2769, 2755, 1, 0, 0, 0, 2770, 143, 1, 0, 0, 0, 2771, 2772, - 7, 11, 0, 0, 2772, 145, 1, 0, 0, 0, 2773, 2774, 5, 309, 0, 0, 2774, 147, - 1, 0, 0, 0, 2775, 2779, 3, 1412, 706, 0, 2776, 2779, 5, 355, 0, 0, 2777, - 2779, 5, 356, 0, 0, 2778, 2775, 1, 0, 0, 0, 2778, 2776, 1, 0, 0, 0, 2778, - 2777, 1, 0, 0, 0, 2779, 149, 1, 0, 0, 0, 2780, 2786, 3, 152, 76, 0, 2781, - 2782, 5, 2, 0, 0, 2782, 2783, 3, 162, 81, 0, 2783, 2784, 5, 3, 0, 0, 2784, - 2786, 1, 0, 0, 0, 2785, 2780, 1, 0, 0, 0, 2785, 2781, 1, 0, 0, 0, 2786, - 151, 1, 0, 0, 0, 2787, 2789, 3, 154, 77, 0, 2788, 2787, 1, 0, 0, 0, 2789, - 2792, 1, 0, 0, 0, 2790, 2788, 1, 0, 0, 0, 2790, 2791, 1, 0, 0, 0, 2791, - 153, 1, 0, 0, 0, 2792, 2790, 1, 0, 0, 0, 2793, 2833, 5, 126, 0, 0, 2794, - 2833, 5, 131, 0, 0, 2795, 2797, 5, 202, 0, 0, 2796, 2798, 3, 842, 421, - 0, 2797, 2796, 1, 0, 0, 0, 2797, 2798, 1, 0, 0, 0, 2798, 2799, 1, 0, 0, - 0, 2799, 2833, 3, 1412, 706, 0, 2800, 2802, 5, 78, 0, 0, 2801, 2803, 3, - 842, 421, 0, 2802, 2801, 1, 0, 0, 0, 2802, 2803, 1, 0, 0, 0, 2803, 2804, - 1, 0, 0, 0, 2804, 2833, 3, 1412, 706, 0, 2805, 2833, 5, 190, 0, 0, 2806, - 2833, 5, 235, 0, 0, 2807, 2809, 5, 310, 0, 0, 2808, 2810, 3, 842, 421, - 0, 2809, 2808, 1, 0, 0, 0, 2809, 2810, 1, 0, 0, 0, 2810, 2811, 1, 0, 0, - 0, 2811, 2833, 3, 1412, 706, 0, 2812, 2814, 5, 216, 0, 0, 2813, 2815, 3, - 842, 421, 0, 2814, 2813, 1, 0, 0, 0, 2814, 2815, 1, 0, 0, 0, 2815, 2816, - 1, 0, 0, 0, 2816, 2833, 3, 1412, 706, 0, 2817, 2818, 5, 228, 0, 0, 2818, - 2819, 5, 310, 0, 0, 2819, 2833, 3, 218, 109, 0, 2820, 2821, 5, 228, 0, - 0, 2821, 2822, 5, 310, 0, 0, 2822, 2833, 5, 9, 0, 0, 2823, 2824, 5, 228, - 0, 0, 2824, 2825, 5, 77, 0, 0, 2825, 2826, 5, 78, 0, 0, 2826, 2833, 3, - 218, 109, 0, 2827, 2828, 5, 228, 0, 0, 2828, 2829, 5, 78, 0, 0, 2829, 2833, - 3, 218, 109, 0, 2830, 2831, 5, 213, 0, 0, 2831, 2833, 3, 1412, 706, 0, - 2832, 2793, 1, 0, 0, 0, 2832, 2794, 1, 0, 0, 0, 2832, 2795, 1, 0, 0, 0, - 2832, 2800, 1, 0, 0, 0, 2832, 2805, 1, 0, 0, 0, 2832, 2806, 1, 0, 0, 0, - 2832, 2807, 1, 0, 0, 0, 2832, 2812, 1, 0, 0, 0, 2832, 2817, 1, 0, 0, 0, - 2832, 2820, 1, 0, 0, 0, 2832, 2823, 1, 0, 0, 0, 2832, 2827, 1, 0, 0, 0, - 2832, 2830, 1, 0, 0, 0, 2833, 155, 1, 0, 0, 0, 2834, 2835, 5, 126, 0, 0, - 2835, 157, 1, 0, 0, 0, 2836, 2838, 3, 160, 80, 0, 2837, 2836, 1, 0, 0, - 0, 2837, 2838, 1, 0, 0, 0, 2838, 2839, 1, 0, 0, 0, 2839, 2840, 5, 203, - 0, 0, 2840, 2841, 3, 1412, 706, 0, 2841, 159, 1, 0, 0, 0, 2842, 2843, 5, - 100, 0, 0, 2843, 161, 1, 0, 0, 0, 2844, 2849, 3, 164, 82, 0, 2845, 2846, - 5, 6, 0, 0, 2846, 2848, 3, 164, 82, 0, 2847, 2845, 1, 0, 0, 0, 2848, 2851, - 1, 0, 0, 0, 2849, 2847, 1, 0, 0, 0, 2849, 2850, 1, 0, 0, 0, 2850, 163, - 1, 0, 0, 0, 2851, 2849, 1, 0, 0, 0, 2852, 2854, 3, 1434, 717, 0, 2853, - 2855, 3, 166, 83, 0, 2854, 2853, 1, 0, 0, 0, 2854, 2855, 1, 0, 0, 0, 2855, - 165, 1, 0, 0, 0, 2856, 2864, 3, 66, 33, 0, 2857, 2864, 3, 294, 147, 0, - 2858, 2864, 5, 9, 0, 0, 2859, 2860, 5, 2, 0, 0, 2860, 2861, 3, 168, 84, - 0, 2861, 2862, 5, 3, 0, 0, 2862, 2864, 1, 0, 0, 0, 2863, 2856, 1, 0, 0, - 0, 2863, 2857, 1, 0, 0, 0, 2863, 2858, 1, 0, 0, 0, 2863, 2859, 1, 0, 0, - 0, 2864, 167, 1, 0, 0, 0, 2865, 2870, 3, 170, 85, 0, 2866, 2867, 5, 6, - 0, 0, 2867, 2869, 3, 170, 85, 0, 2868, 2866, 1, 0, 0, 0, 2869, 2872, 1, - 0, 0, 0, 2870, 2868, 1, 0, 0, 0, 2870, 2871, 1, 0, 0, 0, 2871, 169, 1, - 0, 0, 0, 2872, 2870, 1, 0, 0, 0, 2873, 2874, 3, 66, 33, 0, 2874, 171, 1, - 0, 0, 0, 2875, 2877, 5, 46, 0, 0, 2876, 2878, 3, 174, 87, 0, 2877, 2876, - 1, 0, 0, 0, 2877, 2878, 1, 0, 0, 0, 2878, 2879, 1, 0, 0, 0, 2879, 2883, - 5, 92, 0, 0, 2880, 2881, 5, 239, 0, 0, 2881, 2882, 5, 77, 0, 0, 2882, 2884, - 5, 409, 0, 0, 2883, 2880, 1, 0, 0, 0, 2883, 2884, 1, 0, 0, 0, 2884, 2885, - 1, 0, 0, 0, 2885, 2951, 3, 1390, 695, 0, 2886, 2888, 5, 2, 0, 0, 2887, - 2889, 3, 176, 88, 0, 2888, 2887, 1, 0, 0, 0, 2888, 2889, 1, 0, 0, 0, 2889, - 2890, 1, 0, 0, 0, 2890, 2892, 5, 3, 0, 0, 2891, 2893, 3, 240, 120, 0, 2892, - 2891, 1, 0, 0, 0, 2892, 2893, 1, 0, 0, 0, 2893, 2895, 1, 0, 0, 0, 2894, - 2896, 3, 242, 121, 0, 2895, 2894, 1, 0, 0, 0, 2895, 2896, 1, 0, 0, 0, 2896, - 2898, 1, 0, 0, 0, 2897, 2899, 3, 250, 125, 0, 2898, 2897, 1, 0, 0, 0, 2898, - 2899, 1, 0, 0, 0, 2899, 2901, 1, 0, 0, 0, 2900, 2902, 3, 252, 126, 0, 2901, - 2900, 1, 0, 0, 0, 2901, 2902, 1, 0, 0, 0, 2902, 2904, 1, 0, 0, 0, 2903, - 2905, 3, 254, 127, 0, 2904, 2903, 1, 0, 0, 0, 2904, 2905, 1, 0, 0, 0, 2905, - 2907, 1, 0, 0, 0, 2906, 2908, 3, 256, 128, 0, 2907, 2906, 1, 0, 0, 0, 2907, - 2908, 1, 0, 0, 0, 2908, 2952, 1, 0, 0, 0, 2909, 2910, 5, 287, 0, 0, 2910, - 2912, 3, 526, 263, 0, 2911, 2913, 3, 178, 89, 0, 2912, 2911, 1, 0, 0, 0, - 2912, 2913, 1, 0, 0, 0, 2913, 2915, 1, 0, 0, 0, 2914, 2916, 3, 242, 121, - 0, 2915, 2914, 1, 0, 0, 0, 2915, 2916, 1, 0, 0, 0, 2916, 2918, 1, 0, 0, - 0, 2917, 2919, 3, 250, 125, 0, 2918, 2917, 1, 0, 0, 0, 2918, 2919, 1, 0, - 0, 0, 2919, 2921, 1, 0, 0, 0, 2920, 2922, 3, 252, 126, 0, 2921, 2920, 1, - 0, 0, 0, 2921, 2922, 1, 0, 0, 0, 2922, 2924, 1, 0, 0, 0, 2923, 2925, 3, - 254, 127, 0, 2924, 2923, 1, 0, 0, 0, 2924, 2925, 1, 0, 0, 0, 2925, 2927, - 1, 0, 0, 0, 2926, 2928, 3, 256, 128, 0, 2927, 2926, 1, 0, 0, 0, 2927, 2928, - 1, 0, 0, 0, 2928, 2952, 1, 0, 0, 0, 2929, 2930, 5, 297, 0, 0, 2930, 2931, - 5, 287, 0, 0, 2931, 2933, 3, 1390, 695, 0, 2932, 2934, 3, 178, 89, 0, 2933, - 2932, 1, 0, 0, 0, 2933, 2934, 1, 0, 0, 0, 2934, 2935, 1, 0, 0, 0, 2935, - 2937, 3, 128, 64, 0, 2936, 2938, 3, 242, 121, 0, 2937, 2936, 1, 0, 0, 0, - 2937, 2938, 1, 0, 0, 0, 2938, 2940, 1, 0, 0, 0, 2939, 2941, 3, 250, 125, - 0, 2940, 2939, 1, 0, 0, 0, 2940, 2941, 1, 0, 0, 0, 2941, 2943, 1, 0, 0, - 0, 2942, 2944, 3, 252, 126, 0, 2943, 2942, 1, 0, 0, 0, 2943, 2944, 1, 0, - 0, 0, 2944, 2946, 1, 0, 0, 0, 2945, 2947, 3, 254, 127, 0, 2946, 2945, 1, - 0, 0, 0, 2946, 2947, 1, 0, 0, 0, 2947, 2949, 1, 0, 0, 0, 2948, 2950, 3, - 256, 128, 0, 2949, 2948, 1, 0, 0, 0, 2949, 2950, 1, 0, 0, 0, 2950, 2952, - 1, 0, 0, 0, 2951, 2886, 1, 0, 0, 0, 2951, 2909, 1, 0, 0, 0, 2951, 2929, - 1, 0, 0, 0, 2952, 173, 1, 0, 0, 0, 2953, 2961, 5, 366, 0, 0, 2954, 2961, - 5, 364, 0, 0, 2955, 2956, 5, 264, 0, 0, 2956, 2961, 7, 12, 0, 0, 2957, - 2958, 5, 232, 0, 0, 2958, 2961, 7, 12, 0, 0, 2959, 2961, 5, 379, 0, 0, - 2960, 2953, 1, 0, 0, 0, 2960, 2954, 1, 0, 0, 0, 2960, 2955, 1, 0, 0, 0, - 2960, 2957, 1, 0, 0, 0, 2960, 2959, 1, 0, 0, 0, 2961, 175, 1, 0, 0, 0, - 2962, 2963, 3, 180, 90, 0, 2963, 177, 1, 0, 0, 0, 2964, 2965, 5, 2, 0, - 0, 2965, 2966, 3, 182, 91, 0, 2966, 2967, 5, 3, 0, 0, 2967, 179, 1, 0, - 0, 0, 2968, 2973, 3, 184, 92, 0, 2969, 2970, 5, 6, 0, 0, 2970, 2972, 3, - 184, 92, 0, 2971, 2969, 1, 0, 0, 0, 2972, 2975, 1, 0, 0, 0, 2973, 2971, - 1, 0, 0, 0, 2973, 2974, 1, 0, 0, 0, 2974, 181, 1, 0, 0, 0, 2975, 2973, - 1, 0, 0, 0, 2976, 2981, 3, 186, 93, 0, 2977, 2978, 5, 6, 0, 0, 2978, 2980, - 3, 186, 93, 0, 2979, 2977, 1, 0, 0, 0, 2980, 2983, 1, 0, 0, 0, 2981, 2979, - 1, 0, 0, 0, 2981, 2982, 1, 0, 0, 0, 2982, 183, 1, 0, 0, 0, 2983, 2981, - 1, 0, 0, 0, 2984, 2988, 3, 210, 105, 0, 2985, 2988, 3, 204, 102, 0, 2986, - 2988, 3, 188, 94, 0, 2987, 2984, 1, 0, 0, 0, 2987, 2985, 1, 0, 0, 0, 2987, - 2986, 1, 0, 0, 0, 2988, 185, 1, 0, 0, 0, 2989, 2992, 3, 190, 95, 0, 2990, - 2992, 3, 210, 105, 0, 2991, 2989, 1, 0, 0, 0, 2991, 2990, 1, 0, 0, 0, 2992, - 187, 1, 0, 0, 0, 2993, 2994, 3, 1426, 713, 0, 2994, 2996, 3, 1126, 563, - 0, 2995, 2997, 3, 342, 171, 0, 2996, 2995, 1, 0, 0, 0, 2996, 2997, 1, 0, - 0, 0, 2997, 2998, 1, 0, 0, 0, 2998, 2999, 3, 192, 96, 0, 2999, 189, 1, - 0, 0, 0, 3000, 3003, 3, 1426, 713, 0, 3001, 3002, 5, 105, 0, 0, 3002, 3004, - 5, 292, 0, 0, 3003, 3001, 1, 0, 0, 0, 3003, 3004, 1, 0, 0, 0, 3004, 3005, - 1, 0, 0, 0, 3005, 3006, 3, 192, 96, 0, 3006, 191, 1, 0, 0, 0, 3007, 3009, - 3, 194, 97, 0, 3008, 3007, 1, 0, 0, 0, 3009, 3012, 1, 0, 0, 0, 3010, 3008, - 1, 0, 0, 0, 3010, 3011, 1, 0, 0, 0, 3011, 193, 1, 0, 0, 0, 3012, 3010, - 1, 0, 0, 0, 3013, 3014, 5, 45, 0, 0, 3014, 3015, 3, 1394, 697, 0, 3015, - 3016, 3, 196, 98, 0, 3016, 3022, 1, 0, 0, 0, 3017, 3022, 3, 196, 98, 0, - 3018, 3022, 3, 202, 101, 0, 3019, 3020, 5, 43, 0, 0, 3020, 3022, 3, 526, - 263, 0, 3021, 3013, 1, 0, 0, 0, 3021, 3017, 1, 0, 0, 0, 3021, 3018, 1, - 0, 0, 0, 3021, 3019, 1, 0, 0, 0, 3022, 195, 1, 0, 0, 0, 3023, 3024, 5, - 77, 0, 0, 3024, 3079, 5, 78, 0, 0, 3025, 3079, 5, 78, 0, 0, 3026, 3028, - 5, 98, 0, 0, 3027, 3029, 3, 198, 99, 0, 3028, 3027, 1, 0, 0, 0, 3028, 3029, - 1, 0, 0, 0, 3029, 3031, 1, 0, 0, 0, 3030, 3032, 3, 670, 335, 0, 3031, 3030, - 1, 0, 0, 0, 3031, 3032, 1, 0, 0, 0, 3032, 3034, 1, 0, 0, 0, 3033, 3035, - 3, 258, 129, 0, 3034, 3033, 1, 0, 0, 0, 3034, 3035, 1, 0, 0, 0, 3035, 3079, - 1, 0, 0, 0, 3036, 3037, 5, 85, 0, 0, 3037, 3039, 5, 255, 0, 0, 3038, 3040, + 0, 0, 1977, 1978, 5, 431, 0, 0, 1978, 1986, 3, 800, 400, 0, 1979, 1980, + 5, 382, 0, 0, 1980, 1981, 5, 52, 0, 0, 1981, 1982, 5, 19, 0, 0, 1982, 1983, + 5, 431, 0, 0, 1983, 1986, 3, 800, 400, 0, 1984, 1986, 3, 56, 28, 0, 1985, + 1977, 1, 0, 0, 0, 1985, 1979, 1, 0, 0, 0, 1985, 1984, 1, 0, 0, 0, 1986, + 53, 1, 0, 0, 0, 1987, 1988, 3, 58, 29, 0, 1988, 1989, 7, 6, 0, 0, 1989, + 1990, 3, 60, 30, 0, 1990, 55, 1, 0, 0, 0, 1991, 2019, 3, 54, 27, 0, 1992, + 1993, 3, 58, 29, 0, 1993, 1994, 5, 159, 0, 0, 1994, 1995, 5, 84, 0, 0, + 1995, 2019, 1, 0, 0, 0, 1996, 1997, 5, 427, 0, 0, 1997, 1998, 5, 494, 0, + 0, 1998, 2019, 3, 68, 34, 0, 1999, 2000, 5, 48, 0, 0, 2000, 2019, 3, 1414, + 707, 0, 2001, 2002, 5, 371, 0, 0, 2002, 2019, 3, 1414, 707, 0, 2003, 2005, + 5, 259, 0, 0, 2004, 2006, 3, 70, 35, 0, 2005, 2004, 1, 0, 0, 0, 2005, 2006, + 1, 0, 0, 0, 2006, 2019, 1, 0, 0, 0, 2007, 2008, 5, 361, 0, 0, 2008, 2019, + 3, 72, 36, 0, 2009, 2010, 5, 382, 0, 0, 2010, 2011, 5, 29, 0, 0, 2011, + 2019, 3, 72, 36, 0, 2012, 2013, 5, 480, 0, 0, 2013, 2014, 5, 294, 0, 0, + 2014, 2019, 3, 1282, 641, 0, 2015, 2016, 5, 431, 0, 0, 2016, 2017, 5, 393, + 0, 0, 2017, 2019, 3, 1414, 707, 0, 2018, 1991, 1, 0, 0, 0, 2018, 1992, + 1, 0, 0, 0, 2018, 1996, 1, 0, 0, 0, 2018, 1999, 1, 0, 0, 0, 2018, 2001, + 1, 0, 0, 0, 2018, 2003, 1, 0, 0, 0, 2018, 2007, 1, 0, 0, 0, 2018, 2009, + 1, 0, 0, 0, 2018, 2012, 1, 0, 0, 0, 2018, 2015, 1, 0, 0, 0, 2019, 57, 1, + 0, 0, 0, 2020, 2025, 3, 1428, 714, 0, 2021, 2022, 5, 505, 0, 0, 2022, 2024, + 3, 1428, 714, 0, 2023, 2021, 1, 0, 0, 0, 2024, 2027, 1, 0, 0, 0, 2025, + 2023, 1, 0, 0, 0, 2025, 2026, 1, 0, 0, 0, 2026, 59, 1, 0, 0, 0, 2027, 2025, + 1, 0, 0, 0, 2028, 2033, 3, 62, 31, 0, 2029, 2030, 5, 500, 0, 0, 2030, 2032, + 3, 62, 31, 0, 2031, 2029, 1, 0, 0, 0, 2032, 2035, 1, 0, 0, 0, 2033, 2031, + 1, 0, 0, 0, 2033, 2034, 1, 0, 0, 0, 2034, 61, 1, 0, 0, 0, 2035, 2033, 1, + 0, 0, 0, 2036, 2039, 3, 66, 33, 0, 2037, 2039, 3, 294, 147, 0, 2038, 2036, + 1, 0, 0, 0, 2038, 2037, 1, 0, 0, 0, 2039, 63, 1, 0, 0, 0, 2040, 2041, 5, + 338, 0, 0, 2041, 2046, 7, 7, 0, 0, 2042, 2043, 5, 350, 0, 0, 2043, 2046, + 5, 338, 0, 0, 2044, 2046, 5, 380, 0, 0, 2045, 2040, 1, 0, 0, 0, 2045, 2042, + 1, 0, 0, 0, 2045, 2044, 1, 0, 0, 0, 2046, 65, 1, 0, 0, 0, 2047, 2052, 5, + 436, 0, 0, 2048, 2052, 5, 145, 0, 0, 2049, 2052, 5, 291, 0, 0, 2050, 2052, + 3, 72, 36, 0, 2051, 2047, 1, 0, 0, 0, 2051, 2048, 1, 0, 0, 0, 2051, 2049, + 1, 0, 0, 0, 2051, 2050, 1, 0, 0, 0, 2052, 67, 1, 0, 0, 0, 2053, 2070, 3, + 1414, 707, 0, 2054, 2070, 3, 1438, 719, 0, 2055, 2056, 3, 1162, 581, 0, + 2056, 2058, 3, 1414, 707, 0, 2057, 2059, 3, 1166, 583, 0, 2058, 2057, 1, + 0, 0, 0, 2058, 2059, 1, 0, 0, 0, 2059, 2070, 1, 0, 0, 0, 2060, 2061, 3, + 1162, 581, 0, 2061, 2062, 5, 496, 0, 0, 2062, 2063, 3, 1412, 706, 0, 2063, + 2064, 5, 497, 0, 0, 2064, 2065, 3, 1414, 707, 0, 2065, 2070, 1, 0, 0, 0, + 2066, 2070, 3, 294, 147, 0, 2067, 2070, 5, 101, 0, 0, 2068, 2070, 5, 238, + 0, 0, 2069, 2053, 1, 0, 0, 0, 2069, 2054, 1, 0, 0, 0, 2069, 2055, 1, 0, + 0, 0, 2069, 2060, 1, 0, 0, 0, 2069, 2066, 1, 0, 0, 0, 2069, 2067, 1, 0, + 0, 0, 2069, 2068, 1, 0, 0, 0, 2070, 69, 1, 0, 0, 0, 2071, 2074, 3, 1414, + 707, 0, 2072, 2074, 5, 101, 0, 0, 2073, 2071, 1, 0, 0, 0, 2073, 2072, 1, + 0, 0, 0, 2074, 71, 1, 0, 0, 0, 2075, 2078, 3, 1434, 717, 0, 2076, 2078, + 3, 1414, 707, 0, 2077, 2075, 1, 0, 0, 0, 2077, 2076, 1, 0, 0, 0, 2078, + 73, 1, 0, 0, 0, 2079, 2080, 5, 353, 0, 0, 2080, 2081, 3, 76, 38, 0, 2081, + 75, 1, 0, 0, 0, 2082, 2091, 3, 78, 39, 0, 2083, 2084, 5, 427, 0, 0, 2084, + 2091, 5, 494, 0, 0, 2085, 2086, 5, 431, 0, 0, 2086, 2087, 5, 208, 0, 0, + 2087, 2091, 5, 233, 0, 0, 2088, 2089, 5, 382, 0, 0, 2089, 2091, 5, 29, + 0, 0, 2090, 2082, 1, 0, 0, 0, 2090, 2083, 1, 0, 0, 0, 2090, 2085, 1, 0, + 0, 0, 2090, 2088, 1, 0, 0, 0, 2091, 77, 1, 0, 0, 0, 2092, 2095, 3, 58, + 29, 0, 2093, 2095, 5, 10, 0, 0, 2094, 2092, 1, 0, 0, 0, 2094, 2093, 1, + 0, 0, 0, 2095, 79, 1, 0, 0, 0, 2096, 2097, 5, 384, 0, 0, 2097, 2100, 3, + 52, 26, 0, 2098, 2100, 3, 74, 37, 0, 2099, 2096, 1, 0, 0, 0, 2099, 2098, + 1, 0, 0, 0, 2100, 81, 1, 0, 0, 0, 2101, 2102, 5, 384, 0, 0, 2102, 2105, + 3, 56, 28, 0, 2103, 2105, 3, 74, 37, 0, 2104, 2101, 1, 0, 0, 0, 2104, 2103, + 1, 0, 0, 0, 2105, 83, 1, 0, 0, 0, 2106, 2116, 5, 388, 0, 0, 2107, 2117, + 3, 58, 29, 0, 2108, 2109, 5, 427, 0, 0, 2109, 2117, 5, 494, 0, 0, 2110, + 2111, 5, 431, 0, 0, 2111, 2112, 5, 208, 0, 0, 2112, 2117, 5, 233, 0, 0, + 2113, 2114, 5, 382, 0, 0, 2114, 2117, 5, 29, 0, 0, 2115, 2117, 5, 10, 0, + 0, 2116, 2107, 1, 0, 0, 0, 2116, 2108, 1, 0, 0, 0, 2116, 2110, 1, 0, 0, + 0, 2116, 2113, 1, 0, 0, 0, 2116, 2115, 1, 0, 0, 0, 2117, 85, 1, 0, 0, 0, + 2118, 2119, 5, 384, 0, 0, 2119, 2120, 5, 74, 0, 0, 2120, 2121, 3, 88, 44, + 0, 2121, 2122, 3, 90, 45, 0, 2122, 87, 1, 0, 0, 0, 2123, 2126, 5, 10, 0, + 0, 2124, 2126, 3, 1390, 695, 0, 2125, 2123, 1, 0, 0, 0, 2125, 2124, 1, + 0, 0, 0, 2126, 89, 1, 0, 0, 0, 2127, 2128, 7, 8, 0, 0, 2128, 91, 1, 0, + 0, 0, 2129, 2130, 5, 54, 0, 0, 2130, 93, 1, 0, 0, 0, 2131, 2132, 5, 115, + 0, 0, 2132, 2133, 7, 9, 0, 0, 2133, 95, 1, 0, 0, 0, 2134, 2135, 5, 12, + 0, 0, 2135, 2138, 5, 416, 0, 0, 2136, 2137, 5, 177, 0, 0, 2137, 2139, 5, + 139, 0, 0, 2138, 2136, 1, 0, 0, 0, 2138, 2139, 1, 0, 0, 0, 2139, 2140, + 1, 0, 0, 0, 2140, 2143, 3, 1082, 541, 0, 2141, 2144, 3, 98, 49, 0, 2142, + 2144, 3, 100, 50, 0, 2143, 2141, 1, 0, 0, 0, 2143, 2142, 1, 0, 0, 0, 2144, + 2247, 1, 0, 0, 0, 2145, 2146, 5, 12, 0, 0, 2146, 2147, 5, 416, 0, 0, 2147, + 2148, 5, 10, 0, 0, 2148, 2149, 5, 183, 0, 0, 2149, 2150, 5, 419, 0, 0, + 2150, 2154, 3, 1396, 698, 0, 2151, 2152, 5, 306, 0, 0, 2152, 2153, 5, 40, + 0, 0, 2153, 2155, 3, 1426, 713, 0, 2154, 2151, 1, 0, 0, 0, 2154, 2155, + 1, 0, 0, 0, 2155, 2156, 1, 0, 0, 0, 2156, 2157, 5, 384, 0, 0, 2157, 2158, + 5, 419, 0, 0, 2158, 2160, 3, 1396, 698, 0, 2159, 2161, 3, 946, 473, 0, + 2160, 2159, 1, 0, 0, 0, 2160, 2161, 1, 0, 0, 0, 2161, 2247, 1, 0, 0, 0, + 2162, 2163, 5, 12, 0, 0, 2163, 2166, 5, 188, 0, 0, 2164, 2165, 5, 177, + 0, 0, 2165, 2167, 5, 139, 0, 0, 2166, 2164, 1, 0, 0, 0, 2166, 2167, 1, + 0, 0, 0, 2167, 2168, 1, 0, 0, 0, 2168, 2171, 3, 1392, 696, 0, 2169, 2172, + 3, 98, 49, 0, 2170, 2172, 3, 102, 51, 0, 2171, 2169, 1, 0, 0, 0, 2171, + 2170, 1, 0, 0, 0, 2172, 2247, 1, 0, 0, 0, 2173, 2174, 5, 12, 0, 0, 2174, + 2175, 5, 188, 0, 0, 2175, 2176, 5, 10, 0, 0, 2176, 2177, 5, 183, 0, 0, + 2177, 2178, 5, 419, 0, 0, 2178, 2182, 3, 1396, 698, 0, 2179, 2180, 5, 306, + 0, 0, 2180, 2181, 5, 40, 0, 0, 2181, 2183, 3, 1426, 713, 0, 2182, 2179, + 1, 0, 0, 0, 2182, 2183, 1, 0, 0, 0, 2183, 2184, 1, 0, 0, 0, 2184, 2185, + 5, 384, 0, 0, 2185, 2186, 5, 419, 0, 0, 2186, 2188, 3, 1396, 698, 0, 2187, + 2189, 3, 946, 473, 0, 2188, 2187, 1, 0, 0, 0, 2188, 2189, 1, 0, 0, 0, 2189, + 2247, 1, 0, 0, 0, 2190, 2191, 5, 12, 0, 0, 2191, 2194, 5, 378, 0, 0, 2192, + 2193, 5, 177, 0, 0, 2193, 2195, 5, 139, 0, 0, 2194, 2192, 1, 0, 0, 0, 2194, + 2195, 1, 0, 0, 0, 2195, 2196, 1, 0, 0, 0, 2196, 2197, 3, 1392, 696, 0, + 2197, 2198, 3, 98, 49, 0, 2198, 2247, 1, 0, 0, 0, 2199, 2200, 5, 12, 0, + 0, 2200, 2203, 5, 466, 0, 0, 2201, 2202, 5, 177, 0, 0, 2202, 2204, 5, 139, + 0, 0, 2203, 2201, 1, 0, 0, 0, 2203, 2204, 1, 0, 0, 0, 2204, 2205, 1, 0, + 0, 0, 2205, 2206, 3, 1392, 696, 0, 2206, 2207, 3, 98, 49, 0, 2207, 2247, + 1, 0, 0, 0, 2208, 2209, 5, 12, 0, 0, 2209, 2210, 5, 248, 0, 0, 2210, 2213, + 5, 466, 0, 0, 2211, 2212, 5, 177, 0, 0, 2212, 2214, 5, 139, 0, 0, 2213, + 2211, 1, 0, 0, 0, 2213, 2214, 1, 0, 0, 0, 2214, 2215, 1, 0, 0, 0, 2215, + 2216, 3, 1392, 696, 0, 2216, 2217, 3, 98, 49, 0, 2217, 2247, 1, 0, 0, 0, + 2218, 2219, 5, 12, 0, 0, 2219, 2220, 5, 248, 0, 0, 2220, 2221, 5, 466, + 0, 0, 2221, 2222, 5, 10, 0, 0, 2222, 2223, 5, 183, 0, 0, 2223, 2224, 5, + 419, 0, 0, 2224, 2228, 3, 1396, 698, 0, 2225, 2226, 5, 306, 0, 0, 2226, + 2227, 5, 40, 0, 0, 2227, 2229, 3, 1426, 713, 0, 2228, 2225, 1, 0, 0, 0, + 2228, 2229, 1, 0, 0, 0, 2229, 2230, 1, 0, 0, 0, 2230, 2231, 5, 384, 0, + 0, 2231, 2232, 5, 419, 0, 0, 2232, 2234, 3, 1396, 698, 0, 2233, 2235, 3, + 946, 473, 0, 2234, 2233, 1, 0, 0, 0, 2234, 2235, 1, 0, 0, 0, 2235, 2247, + 1, 0, 0, 0, 2236, 2237, 5, 12, 0, 0, 2237, 2238, 5, 155, 0, 0, 2238, 2241, + 5, 416, 0, 0, 2239, 2240, 5, 177, 0, 0, 2240, 2242, 5, 139, 0, 0, 2241, + 2239, 1, 0, 0, 0, 2241, 2242, 1, 0, 0, 0, 2242, 2243, 1, 0, 0, 0, 2243, + 2244, 3, 1082, 541, 0, 2244, 2245, 3, 98, 49, 0, 2245, 2247, 1, 0, 0, 0, + 2246, 2134, 1, 0, 0, 0, 2246, 2145, 1, 0, 0, 0, 2246, 2162, 1, 0, 0, 0, + 2246, 2173, 1, 0, 0, 0, 2246, 2190, 1, 0, 0, 0, 2246, 2199, 1, 0, 0, 0, + 2246, 2208, 1, 0, 0, 0, 2246, 2218, 1, 0, 0, 0, 2246, 2236, 1, 0, 0, 0, + 2247, 97, 1, 0, 0, 0, 2248, 2253, 3, 104, 52, 0, 2249, 2250, 5, 500, 0, + 0, 2250, 2252, 3, 104, 52, 0, 2251, 2249, 1, 0, 0, 0, 2252, 2255, 1, 0, + 0, 0, 2253, 2251, 1, 0, 0, 0, 2253, 2254, 1, 0, 0, 0, 2254, 99, 1, 0, 0, + 0, 2255, 2253, 1, 0, 0, 0, 2256, 2257, 5, 27, 0, 0, 2257, 2258, 5, 312, + 0, 0, 2258, 2259, 3, 1392, 696, 0, 2259, 2260, 3, 128, 64, 0, 2260, 2265, + 1, 0, 0, 0, 2261, 2262, 5, 112, 0, 0, 2262, 2263, 5, 312, 0, 0, 2263, 2265, + 3, 1392, 696, 0, 2264, 2256, 1, 0, 0, 0, 2264, 2261, 1, 0, 0, 0, 2265, + 101, 1, 0, 0, 0, 2266, 2267, 5, 27, 0, 0, 2267, 2268, 5, 312, 0, 0, 2268, + 2269, 3, 1392, 696, 0, 2269, 103, 1, 0, 0, 0, 2270, 2271, 5, 6, 0, 0, 2271, + 2573, 3, 188, 94, 0, 2272, 2273, 5, 6, 0, 0, 2273, 2274, 5, 177, 0, 0, + 2274, 2275, 5, 274, 0, 0, 2275, 2276, 5, 139, 0, 0, 2276, 2573, 3, 188, + 94, 0, 2277, 2278, 5, 6, 0, 0, 2278, 2279, 5, 61, 0, 0, 2279, 2573, 3, + 188, 94, 0, 2280, 2281, 5, 6, 0, 0, 2281, 2282, 5, 61, 0, 0, 2282, 2283, + 5, 177, 0, 0, 2283, 2284, 5, 274, 0, 0, 2284, 2285, 5, 139, 0, 0, 2285, + 2573, 3, 188, 94, 0, 2286, 2288, 5, 12, 0, 0, 2287, 2289, 3, 730, 365, + 0, 2288, 2287, 1, 0, 0, 0, 2288, 2289, 1, 0, 0, 0, 2289, 2290, 1, 0, 0, + 0, 2290, 2291, 3, 1428, 714, 0, 2291, 2292, 3, 106, 53, 0, 2292, 2573, + 1, 0, 0, 0, 2293, 2295, 5, 12, 0, 0, 2294, 2296, 3, 730, 365, 0, 2295, + 2294, 1, 0, 0, 0, 2295, 2296, 1, 0, 0, 0, 2296, 2297, 1, 0, 0, 0, 2297, + 2298, 3, 1428, 714, 0, 2298, 2299, 5, 121, 0, 0, 2299, 2300, 5, 274, 0, + 0, 2300, 2301, 5, 279, 0, 0, 2301, 2573, 1, 0, 0, 0, 2302, 2304, 5, 12, + 0, 0, 2303, 2305, 3, 730, 365, 0, 2304, 2303, 1, 0, 0, 0, 2304, 2305, 1, + 0, 0, 0, 2305, 2306, 1, 0, 0, 0, 2306, 2307, 3, 1428, 714, 0, 2307, 2308, + 5, 384, 0, 0, 2308, 2309, 5, 274, 0, 0, 2309, 2310, 5, 279, 0, 0, 2310, + 2573, 1, 0, 0, 0, 2311, 2313, 5, 12, 0, 0, 2312, 2314, 3, 730, 365, 0, + 2313, 2312, 1, 0, 0, 0, 2313, 2314, 1, 0, 0, 0, 2314, 2315, 1, 0, 0, 0, + 2315, 2316, 3, 1428, 714, 0, 2316, 2317, 5, 121, 0, 0, 2317, 2318, 5, 141, + 0, 0, 2318, 2573, 1, 0, 0, 0, 2319, 2321, 5, 12, 0, 0, 2320, 2322, 3, 730, + 365, 0, 2321, 2320, 1, 0, 0, 0, 2321, 2322, 1, 0, 0, 0, 2322, 2323, 1, + 0, 0, 0, 2323, 2324, 3, 1428, 714, 0, 2324, 2325, 5, 121, 0, 0, 2325, 2326, + 5, 141, 0, 0, 2326, 2327, 5, 177, 0, 0, 2327, 2328, 5, 139, 0, 0, 2328, + 2573, 1, 0, 0, 0, 2329, 2331, 5, 12, 0, 0, 2330, 2332, 3, 730, 365, 0, + 2331, 2330, 1, 0, 0, 0, 2331, 2332, 1, 0, 0, 0, 2332, 2333, 1, 0, 0, 0, + 2333, 2334, 3, 1428, 714, 0, 2334, 2335, 5, 384, 0, 0, 2335, 2336, 5, 401, + 0, 0, 2336, 2337, 3, 1420, 710, 0, 2337, 2573, 1, 0, 0, 0, 2338, 2340, + 5, 12, 0, 0, 2339, 2341, 3, 730, 365, 0, 2340, 2339, 1, 0, 0, 0, 2340, + 2341, 1, 0, 0, 0, 2341, 2342, 1, 0, 0, 0, 2342, 2343, 3, 1412, 706, 0, + 2343, 2344, 5, 384, 0, 0, 2344, 2345, 5, 401, 0, 0, 2345, 2346, 3, 1420, + 710, 0, 2346, 2573, 1, 0, 0, 0, 2347, 2349, 5, 12, 0, 0, 2348, 2350, 3, + 730, 365, 0, 2349, 2348, 1, 0, 0, 0, 2349, 2350, 1, 0, 0, 0, 2350, 2351, + 1, 0, 0, 0, 2351, 2352, 3, 1428, 714, 0, 2352, 2353, 5, 384, 0, 0, 2353, + 2354, 3, 116, 58, 0, 2354, 2573, 1, 0, 0, 0, 2355, 2357, 5, 12, 0, 0, 2356, + 2358, 3, 730, 365, 0, 2357, 2356, 1, 0, 0, 0, 2357, 2358, 1, 0, 0, 0, 2358, + 2359, 1, 0, 0, 0, 2359, 2360, 3, 1428, 714, 0, 2360, 2361, 5, 353, 0, 0, + 2361, 2362, 3, 116, 58, 0, 2362, 2573, 1, 0, 0, 0, 2363, 2365, 5, 12, 0, + 0, 2364, 2366, 3, 730, 365, 0, 2365, 2364, 1, 0, 0, 0, 2365, 2366, 1, 0, + 0, 0, 2366, 2367, 1, 0, 0, 0, 2367, 2368, 3, 1428, 714, 0, 2368, 2369, + 5, 384, 0, 0, 2369, 2370, 5, 404, 0, 0, 2370, 2371, 3, 1428, 714, 0, 2371, + 2573, 1, 0, 0, 0, 2372, 2374, 5, 12, 0, 0, 2373, 2375, 3, 730, 365, 0, + 2374, 2373, 1, 0, 0, 0, 2374, 2375, 1, 0, 0, 0, 2375, 2376, 1, 0, 0, 0, + 2376, 2377, 3, 1428, 714, 0, 2377, 2378, 5, 6, 0, 0, 2378, 2379, 5, 163, + 0, 0, 2379, 2380, 3, 200, 100, 0, 2380, 2381, 5, 19, 0, 0, 2381, 2383, + 5, 176, 0, 0, 2382, 2384, 3, 286, 143, 0, 2383, 2382, 1, 0, 0, 0, 2383, + 2384, 1, 0, 0, 0, 2384, 2573, 1, 0, 0, 0, 2385, 2387, 5, 12, 0, 0, 2386, + 2388, 3, 730, 365, 0, 2387, 2386, 1, 0, 0, 0, 2387, 2388, 1, 0, 0, 0, 2388, + 2389, 1, 0, 0, 0, 2389, 2390, 3, 1428, 714, 0, 2390, 2391, 3, 124, 62, + 0, 2391, 2573, 1, 0, 0, 0, 2392, 2394, 5, 12, 0, 0, 2393, 2395, 3, 730, + 365, 0, 2394, 2393, 1, 0, 0, 0, 2394, 2395, 1, 0, 0, 0, 2395, 2396, 1, + 0, 0, 0, 2396, 2397, 3, 1428, 714, 0, 2397, 2398, 5, 121, 0, 0, 2398, 2399, + 5, 176, 0, 0, 2399, 2573, 1, 0, 0, 0, 2400, 2402, 5, 12, 0, 0, 2401, 2403, + 3, 730, 365, 0, 2402, 2401, 1, 0, 0, 0, 2402, 2403, 1, 0, 0, 0, 2403, 2404, + 1, 0, 0, 0, 2404, 2405, 3, 1428, 714, 0, 2405, 2406, 5, 121, 0, 0, 2406, + 2407, 5, 176, 0, 0, 2407, 2408, 5, 177, 0, 0, 2408, 2409, 5, 139, 0, 0, + 2409, 2573, 1, 0, 0, 0, 2410, 2412, 5, 121, 0, 0, 2411, 2413, 3, 730, 365, + 0, 2412, 2411, 1, 0, 0, 0, 2412, 2413, 1, 0, 0, 0, 2413, 2414, 1, 0, 0, + 0, 2414, 2415, 5, 177, 0, 0, 2415, 2416, 5, 139, 0, 0, 2416, 2418, 3, 1428, + 714, 0, 2417, 2419, 3, 108, 54, 0, 2418, 2417, 1, 0, 0, 0, 2418, 2419, + 1, 0, 0, 0, 2419, 2573, 1, 0, 0, 0, 2420, 2422, 5, 121, 0, 0, 2421, 2423, + 3, 730, 365, 0, 2422, 2421, 1, 0, 0, 0, 2422, 2423, 1, 0, 0, 0, 2423, 2424, + 1, 0, 0, 0, 2424, 2426, 3, 1428, 714, 0, 2425, 2427, 3, 108, 54, 0, 2426, + 2425, 1, 0, 0, 0, 2426, 2427, 1, 0, 0, 0, 2427, 2573, 1, 0, 0, 0, 2428, + 2430, 5, 12, 0, 0, 2429, 2431, 3, 730, 365, 0, 2430, 2429, 1, 0, 0, 0, + 2430, 2431, 1, 0, 0, 0, 2431, 2432, 1, 0, 0, 0, 2432, 2434, 3, 1428, 714, + 0, 2433, 2435, 3, 732, 366, 0, 2434, 2433, 1, 0, 0, 0, 2434, 2435, 1, 0, + 0, 0, 2435, 2436, 1, 0, 0, 0, 2436, 2437, 5, 439, 0, 0, 2437, 2439, 3, + 1126, 563, 0, 2438, 2440, 3, 110, 55, 0, 2439, 2438, 1, 0, 0, 0, 2439, + 2440, 1, 0, 0, 0, 2440, 2442, 1, 0, 0, 0, 2441, 2443, 3, 112, 56, 0, 2442, + 2441, 1, 0, 0, 0, 2442, 2443, 1, 0, 0, 0, 2443, 2573, 1, 0, 0, 0, 2444, + 2446, 5, 12, 0, 0, 2445, 2447, 3, 730, 365, 0, 2446, 2445, 1, 0, 0, 0, + 2446, 2447, 1, 0, 0, 0, 2447, 2448, 1, 0, 0, 0, 2448, 2449, 3, 1428, 714, + 0, 2449, 2450, 3, 346, 173, 0, 2450, 2573, 1, 0, 0, 0, 2451, 2452, 5, 6, + 0, 0, 2452, 2573, 3, 210, 105, 0, 2453, 2454, 5, 12, 0, 0, 2454, 2455, + 5, 73, 0, 0, 2455, 2456, 3, 1396, 698, 0, 2456, 2457, 3, 442, 221, 0, 2457, + 2573, 1, 0, 0, 0, 2458, 2459, 5, 457, 0, 0, 2459, 2460, 5, 73, 0, 0, 2460, + 2573, 3, 1396, 698, 0, 2461, 2462, 5, 121, 0, 0, 2462, 2463, 5, 73, 0, + 0, 2463, 2464, 5, 177, 0, 0, 2464, 2465, 5, 139, 0, 0, 2465, 2467, 3, 1396, + 698, 0, 2466, 2468, 3, 108, 54, 0, 2467, 2466, 1, 0, 0, 0, 2467, 2468, + 1, 0, 0, 0, 2468, 2573, 1, 0, 0, 0, 2469, 2470, 5, 121, 0, 0, 2470, 2471, + 5, 73, 0, 0, 2471, 2473, 3, 1396, 698, 0, 2472, 2474, 3, 108, 54, 0, 2473, + 2472, 1, 0, 0, 0, 2473, 2474, 1, 0, 0, 0, 2474, 2573, 1, 0, 0, 0, 2475, + 2476, 5, 384, 0, 0, 2476, 2477, 5, 476, 0, 0, 2477, 2573, 5, 288, 0, 0, + 2478, 2479, 5, 57, 0, 0, 2479, 2480, 5, 291, 0, 0, 2480, 2573, 3, 1396, + 698, 0, 2481, 2482, 5, 384, 0, 0, 2482, 2483, 5, 476, 0, 0, 2483, 2573, + 5, 57, 0, 0, 2484, 2485, 5, 384, 0, 0, 2485, 2573, 5, 244, 0, 0, 2486, + 2487, 5, 384, 0, 0, 2487, 2573, 5, 450, 0, 0, 2488, 2489, 5, 125, 0, 0, + 2489, 2490, 5, 434, 0, 0, 2490, 2573, 3, 1396, 698, 0, 2491, 2492, 5, 125, + 0, 0, 2492, 2493, 5, 13, 0, 0, 2493, 2494, 5, 434, 0, 0, 2494, 2573, 3, + 1396, 698, 0, 2495, 2496, 5, 125, 0, 0, 2496, 2497, 5, 352, 0, 0, 2497, + 2498, 5, 434, 0, 0, 2498, 2573, 3, 1396, 698, 0, 2499, 2500, 5, 125, 0, + 0, 2500, 2501, 5, 434, 0, 0, 2501, 2573, 5, 10, 0, 0, 2502, 2503, 5, 125, + 0, 0, 2503, 2504, 5, 434, 0, 0, 2504, 2573, 5, 453, 0, 0, 2505, 2506, 5, + 114, 0, 0, 2506, 2507, 5, 434, 0, 0, 2507, 2573, 3, 1396, 698, 0, 2508, + 2509, 5, 114, 0, 0, 2509, 2510, 5, 434, 0, 0, 2510, 2573, 5, 10, 0, 0, + 2511, 2512, 5, 114, 0, 0, 2512, 2513, 5, 434, 0, 0, 2513, 2573, 5, 453, + 0, 0, 2514, 2515, 5, 125, 0, 0, 2515, 2516, 5, 368, 0, 0, 2516, 2573, 3, + 1396, 698, 0, 2517, 2518, 5, 125, 0, 0, 2518, 2519, 5, 13, 0, 0, 2519, + 2520, 5, 368, 0, 0, 2520, 2573, 3, 1396, 698, 0, 2521, 2522, 5, 125, 0, + 0, 2522, 2523, 5, 352, 0, 0, 2523, 2524, 5, 368, 0, 0, 2524, 2573, 3, 1396, + 698, 0, 2525, 2526, 5, 114, 0, 0, 2526, 2527, 5, 368, 0, 0, 2527, 2573, + 3, 1396, 698, 0, 2528, 2529, 5, 190, 0, 0, 2529, 2573, 3, 1392, 696, 0, + 2530, 2531, 5, 270, 0, 0, 2531, 2532, 5, 190, 0, 0, 2532, 2573, 3, 1392, + 696, 0, 2533, 2534, 5, 285, 0, 0, 2534, 2573, 3, 526, 263, 0, 2535, 2536, + 5, 274, 0, 0, 2536, 2573, 5, 285, 0, 0, 2537, 2538, 5, 307, 0, 0, 2538, + 2539, 5, 429, 0, 0, 2539, 2573, 3, 1424, 712, 0, 2540, 2541, 5, 384, 0, + 0, 2541, 2542, 5, 4, 0, 0, 2542, 2543, 5, 252, 0, 0, 2543, 2573, 3, 1396, + 698, 0, 2544, 2545, 5, 384, 0, 0, 2545, 2546, 5, 419, 0, 0, 2546, 2573, + 3, 1396, 698, 0, 2547, 2548, 5, 384, 0, 0, 2548, 2573, 3, 116, 58, 0, 2549, + 2550, 5, 353, 0, 0, 2550, 2573, 3, 116, 58, 0, 2551, 2552, 5, 352, 0, 0, + 2552, 2553, 5, 176, 0, 0, 2553, 2573, 3, 114, 57, 0, 2554, 2555, 5, 125, + 0, 0, 2555, 2556, 5, 366, 0, 0, 2556, 2557, 5, 233, 0, 0, 2557, 2573, 5, + 376, 0, 0, 2558, 2559, 5, 114, 0, 0, 2559, 2560, 5, 366, 0, 0, 2560, 2561, + 5, 233, 0, 0, 2561, 2573, 5, 376, 0, 0, 2562, 2563, 5, 154, 0, 0, 2563, + 2564, 5, 366, 0, 0, 2564, 2565, 5, 233, 0, 0, 2565, 2573, 5, 376, 0, 0, + 2566, 2567, 5, 270, 0, 0, 2567, 2568, 5, 154, 0, 0, 2568, 2569, 5, 366, + 0, 0, 2569, 2570, 5, 233, 0, 0, 2570, 2573, 5, 376, 0, 0, 2571, 2573, 3, + 346, 173, 0, 2572, 2270, 1, 0, 0, 0, 2572, 2272, 1, 0, 0, 0, 2572, 2277, + 1, 0, 0, 0, 2572, 2280, 1, 0, 0, 0, 2572, 2286, 1, 0, 0, 0, 2572, 2293, + 1, 0, 0, 0, 2572, 2302, 1, 0, 0, 0, 2572, 2311, 1, 0, 0, 0, 2572, 2319, + 1, 0, 0, 0, 2572, 2329, 1, 0, 0, 0, 2572, 2338, 1, 0, 0, 0, 2572, 2347, + 1, 0, 0, 0, 2572, 2355, 1, 0, 0, 0, 2572, 2363, 1, 0, 0, 0, 2572, 2372, + 1, 0, 0, 0, 2572, 2385, 1, 0, 0, 0, 2572, 2392, 1, 0, 0, 0, 2572, 2400, + 1, 0, 0, 0, 2572, 2410, 1, 0, 0, 0, 2572, 2420, 1, 0, 0, 0, 2572, 2428, + 1, 0, 0, 0, 2572, 2444, 1, 0, 0, 0, 2572, 2451, 1, 0, 0, 0, 2572, 2453, + 1, 0, 0, 0, 2572, 2458, 1, 0, 0, 0, 2572, 2461, 1, 0, 0, 0, 2572, 2469, + 1, 0, 0, 0, 2572, 2475, 1, 0, 0, 0, 2572, 2478, 1, 0, 0, 0, 2572, 2481, + 1, 0, 0, 0, 2572, 2484, 1, 0, 0, 0, 2572, 2486, 1, 0, 0, 0, 2572, 2488, + 1, 0, 0, 0, 2572, 2491, 1, 0, 0, 0, 2572, 2495, 1, 0, 0, 0, 2572, 2499, + 1, 0, 0, 0, 2572, 2502, 1, 0, 0, 0, 2572, 2505, 1, 0, 0, 0, 2572, 2508, + 1, 0, 0, 0, 2572, 2511, 1, 0, 0, 0, 2572, 2514, 1, 0, 0, 0, 2572, 2517, + 1, 0, 0, 0, 2572, 2521, 1, 0, 0, 0, 2572, 2525, 1, 0, 0, 0, 2572, 2528, + 1, 0, 0, 0, 2572, 2530, 1, 0, 0, 0, 2572, 2533, 1, 0, 0, 0, 2572, 2535, + 1, 0, 0, 0, 2572, 2537, 1, 0, 0, 0, 2572, 2540, 1, 0, 0, 0, 2572, 2544, + 1, 0, 0, 0, 2572, 2547, 1, 0, 0, 0, 2572, 2549, 1, 0, 0, 0, 2572, 2551, + 1, 0, 0, 0, 2572, 2554, 1, 0, 0, 0, 2572, 2558, 1, 0, 0, 0, 2572, 2562, + 1, 0, 0, 0, 2572, 2566, 1, 0, 0, 0, 2572, 2571, 1, 0, 0, 0, 2573, 105, + 1, 0, 0, 0, 2574, 2575, 5, 384, 0, 0, 2575, 2576, 5, 101, 0, 0, 2576, 2580, + 3, 1172, 586, 0, 2577, 2578, 5, 121, 0, 0, 2578, 2580, 5, 101, 0, 0, 2579, + 2574, 1, 0, 0, 0, 2579, 2577, 1, 0, 0, 0, 2580, 107, 1, 0, 0, 0, 2581, + 2582, 7, 10, 0, 0, 2582, 109, 1, 0, 0, 0, 2583, 2584, 5, 59, 0, 0, 2584, + 2585, 3, 526, 263, 0, 2585, 111, 1, 0, 0, 0, 2586, 2587, 5, 454, 0, 0, + 2587, 2588, 3, 1172, 586, 0, 2588, 113, 1, 0, 0, 0, 2589, 2596, 5, 275, + 0, 0, 2590, 2596, 5, 160, 0, 0, 2591, 2596, 5, 101, 0, 0, 2592, 2593, 5, + 454, 0, 0, 2593, 2594, 5, 188, 0, 0, 2594, 2596, 3, 1396, 698, 0, 2595, + 2589, 1, 0, 0, 0, 2595, 2590, 1, 0, 0, 0, 2595, 2591, 1, 0, 0, 0, 2595, + 2592, 1, 0, 0, 0, 2596, 115, 1, 0, 0, 0, 2597, 2598, 5, 496, 0, 0, 2598, + 2599, 3, 120, 60, 0, 2599, 2600, 5, 497, 0, 0, 2600, 117, 1, 0, 0, 0, 2601, + 2602, 5, 474, 0, 0, 2602, 2603, 3, 116, 58, 0, 2603, 119, 1, 0, 0, 0, 2604, + 2609, 3, 122, 61, 0, 2605, 2606, 5, 500, 0, 0, 2606, 2608, 3, 122, 61, + 0, 2607, 2605, 1, 0, 0, 0, 2608, 2611, 1, 0, 0, 0, 2609, 2607, 1, 0, 0, + 0, 2609, 2610, 1, 0, 0, 0, 2610, 121, 1, 0, 0, 0, 2611, 2609, 1, 0, 0, + 0, 2612, 2621, 3, 1436, 718, 0, 2613, 2614, 5, 504, 0, 0, 2614, 2622, 3, + 468, 234, 0, 2615, 2616, 5, 505, 0, 0, 2616, 2619, 3, 1436, 718, 0, 2617, + 2618, 5, 504, 0, 0, 2618, 2620, 3, 468, 234, 0, 2619, 2617, 1, 0, 0, 0, + 2619, 2620, 1, 0, 0, 0, 2620, 2622, 1, 0, 0, 0, 2621, 2613, 1, 0, 0, 0, + 2621, 2615, 1, 0, 0, 0, 2621, 2622, 1, 0, 0, 0, 2622, 123, 1, 0, 0, 0, + 2623, 2625, 3, 126, 63, 0, 2624, 2623, 1, 0, 0, 0, 2625, 2626, 1, 0, 0, + 0, 2626, 2624, 1, 0, 0, 0, 2626, 2627, 1, 0, 0, 0, 2627, 125, 1, 0, 0, + 0, 2628, 2633, 5, 354, 0, 0, 2629, 2631, 3, 16, 8, 0, 2630, 2629, 1, 0, + 0, 0, 2630, 2631, 1, 0, 0, 0, 2631, 2632, 1, 0, 0, 0, 2632, 2634, 3, 294, + 147, 0, 2633, 2630, 1, 0, 0, 0, 2633, 2634, 1, 0, 0, 0, 2634, 2642, 1, + 0, 0, 0, 2635, 2639, 5, 384, 0, 0, 2636, 2640, 3, 290, 145, 0, 2637, 2638, + 5, 163, 0, 0, 2638, 2640, 3, 200, 100, 0, 2639, 2636, 1, 0, 0, 0, 2639, + 2637, 1, 0, 0, 0, 2640, 2642, 1, 0, 0, 0, 2641, 2628, 1, 0, 0, 0, 2641, + 2635, 1, 0, 0, 0, 2642, 127, 1, 0, 0, 0, 2643, 2644, 5, 153, 0, 0, 2644, + 2645, 5, 460, 0, 0, 2645, 2646, 5, 474, 0, 0, 2646, 2647, 5, 496, 0, 0, + 2647, 2648, 3, 132, 66, 0, 2648, 2649, 5, 497, 0, 0, 2649, 2670, 1, 0, + 0, 0, 2650, 2651, 5, 153, 0, 0, 2651, 2652, 5, 460, 0, 0, 2652, 2653, 5, + 183, 0, 0, 2653, 2654, 5, 496, 0, 0, 2654, 2655, 3, 1334, 667, 0, 2655, + 2656, 5, 497, 0, 0, 2656, 2670, 1, 0, 0, 0, 2657, 2658, 5, 153, 0, 0, 2658, + 2659, 5, 460, 0, 0, 2659, 2660, 5, 159, 0, 0, 2660, 2661, 5, 496, 0, 0, + 2661, 2662, 3, 1334, 667, 0, 2662, 2663, 5, 497, 0, 0, 2663, 2664, 5, 429, + 0, 0, 2664, 2665, 5, 496, 0, 0, 2665, 2666, 3, 1334, 667, 0, 2666, 2667, + 5, 497, 0, 0, 2667, 2670, 1, 0, 0, 0, 2668, 2670, 5, 101, 0, 0, 2669, 2643, + 1, 0, 0, 0, 2669, 2650, 1, 0, 0, 0, 2669, 2657, 1, 0, 0, 0, 2669, 2668, + 1, 0, 0, 0, 2670, 129, 1, 0, 0, 0, 2671, 2672, 3, 1434, 717, 0, 2672, 2673, + 3, 1412, 706, 0, 2673, 131, 1, 0, 0, 0, 2674, 2679, 3, 130, 65, 0, 2675, + 2676, 5, 500, 0, 0, 2676, 2678, 3, 130, 65, 0, 2677, 2675, 1, 0, 0, 0, + 2678, 2681, 1, 0, 0, 0, 2679, 2677, 1, 0, 0, 0, 2679, 2680, 1, 0, 0, 0, + 2680, 133, 1, 0, 0, 0, 2681, 2679, 1, 0, 0, 0, 2682, 2683, 5, 12, 0, 0, + 2683, 2684, 5, 439, 0, 0, 2684, 2685, 3, 526, 263, 0, 2685, 2686, 3, 136, + 68, 0, 2686, 135, 1, 0, 0, 0, 2687, 2692, 3, 138, 69, 0, 2688, 2689, 5, + 500, 0, 0, 2689, 2691, 3, 138, 69, 0, 2690, 2688, 1, 0, 0, 0, 2691, 2694, + 1, 0, 0, 0, 2692, 2690, 1, 0, 0, 0, 2692, 2693, 1, 0, 0, 0, 2693, 137, + 1, 0, 0, 0, 2694, 2692, 1, 0, 0, 0, 2695, 2696, 5, 6, 0, 0, 2696, 2697, + 5, 28, 0, 0, 2697, 2699, 3, 1110, 555, 0, 2698, 2700, 3, 108, 54, 0, 2699, + 2698, 1, 0, 0, 0, 2699, 2700, 1, 0, 0, 0, 2700, 2726, 1, 0, 0, 0, 2701, + 2702, 5, 121, 0, 0, 2702, 2705, 5, 28, 0, 0, 2703, 2704, 5, 177, 0, 0, + 2704, 2706, 5, 139, 0, 0, 2705, 2703, 1, 0, 0, 0, 2705, 2706, 1, 0, 0, + 0, 2706, 2707, 1, 0, 0, 0, 2707, 2709, 3, 1428, 714, 0, 2708, 2710, 3, + 108, 54, 0, 2709, 2708, 1, 0, 0, 0, 2709, 2710, 1, 0, 0, 0, 2710, 2726, + 1, 0, 0, 0, 2711, 2712, 5, 12, 0, 0, 2712, 2713, 5, 28, 0, 0, 2713, 2715, + 3, 1428, 714, 0, 2714, 2716, 3, 732, 366, 0, 2715, 2714, 1, 0, 0, 0, 2715, + 2716, 1, 0, 0, 0, 2716, 2717, 1, 0, 0, 0, 2717, 2718, 5, 439, 0, 0, 2718, + 2720, 3, 1126, 563, 0, 2719, 2721, 3, 110, 55, 0, 2720, 2719, 1, 0, 0, + 0, 2720, 2721, 1, 0, 0, 0, 2721, 2723, 1, 0, 0, 0, 2722, 2724, 3, 108, + 54, 0, 2723, 2722, 1, 0, 0, 0, 2723, 2724, 1, 0, 0, 0, 2724, 2726, 1, 0, + 0, 0, 2725, 2695, 1, 0, 0, 0, 2725, 2701, 1, 0, 0, 0, 2725, 2711, 1, 0, + 0, 0, 2726, 139, 1, 0, 0, 0, 2727, 2730, 5, 56, 0, 0, 2728, 2731, 3, 962, + 481, 0, 2729, 2731, 5, 10, 0, 0, 2730, 2728, 1, 0, 0, 0, 2730, 2729, 1, + 0, 0, 0, 2731, 141, 1, 0, 0, 0, 2732, 2734, 5, 78, 0, 0, 2733, 2735, 3, + 156, 78, 0, 2734, 2733, 1, 0, 0, 0, 2734, 2735, 1, 0, 0, 0, 2735, 2736, + 1, 0, 0, 0, 2736, 2738, 3, 1392, 696, 0, 2737, 2739, 3, 216, 108, 0, 2738, + 2737, 1, 0, 0, 0, 2738, 2739, 1, 0, 0, 0, 2739, 2740, 1, 0, 0, 0, 2740, + 2742, 3, 144, 72, 0, 2741, 2743, 3, 146, 73, 0, 2742, 2741, 1, 0, 0, 0, + 2742, 2743, 1, 0, 0, 0, 2743, 2744, 1, 0, 0, 0, 2744, 2746, 3, 148, 74, + 0, 2745, 2747, 3, 158, 79, 0, 2746, 2745, 1, 0, 0, 0, 2746, 2747, 1, 0, + 0, 0, 2747, 2749, 1, 0, 0, 0, 2748, 2750, 3, 16, 8, 0, 2749, 2748, 1, 0, + 0, 0, 2749, 2750, 1, 0, 0, 0, 2750, 2751, 1, 0, 0, 0, 2751, 2753, 3, 150, + 75, 0, 2752, 2754, 3, 1102, 551, 0, 2753, 2752, 1, 0, 0, 0, 2753, 2754, + 1, 0, 0, 0, 2754, 2770, 1, 0, 0, 0, 2755, 2756, 5, 78, 0, 0, 2756, 2757, + 5, 496, 0, 0, 2757, 2758, 3, 902, 451, 0, 2758, 2759, 5, 497, 0, 0, 2759, + 2761, 5, 429, 0, 0, 2760, 2762, 3, 146, 73, 0, 2761, 2760, 1, 0, 0, 0, + 2761, 2762, 1, 0, 0, 0, 2762, 2763, 1, 0, 0, 0, 2763, 2765, 3, 148, 74, + 0, 2764, 2766, 3, 16, 8, 0, 2765, 2764, 1, 0, 0, 0, 2765, 2766, 1, 0, 0, + 0, 2766, 2767, 1, 0, 0, 0, 2767, 2768, 3, 150, 75, 0, 2768, 2770, 1, 0, + 0, 0, 2769, 2732, 1, 0, 0, 0, 2769, 2755, 1, 0, 0, 0, 2770, 143, 1, 0, + 0, 0, 2771, 2772, 7, 11, 0, 0, 2772, 145, 1, 0, 0, 0, 2773, 2774, 5, 333, + 0, 0, 2774, 147, 1, 0, 0, 0, 2775, 2779, 3, 1414, 707, 0, 2776, 2779, 5, + 402, 0, 0, 2777, 2779, 5, 403, 0, 0, 2778, 2775, 1, 0, 0, 0, 2778, 2776, + 1, 0, 0, 0, 2778, 2777, 1, 0, 0, 0, 2779, 149, 1, 0, 0, 0, 2780, 2786, + 3, 152, 76, 0, 2781, 2782, 5, 496, 0, 0, 2782, 2783, 3, 162, 81, 0, 2783, + 2784, 5, 497, 0, 0, 2784, 2786, 1, 0, 0, 0, 2785, 2780, 1, 0, 0, 0, 2785, + 2781, 1, 0, 0, 0, 2786, 151, 1, 0, 0, 0, 2787, 2789, 3, 154, 77, 0, 2788, + 2787, 1, 0, 0, 0, 2789, 2792, 1, 0, 0, 0, 2790, 2788, 1, 0, 0, 0, 2790, + 2791, 1, 0, 0, 0, 2791, 153, 1, 0, 0, 0, 2792, 2790, 1, 0, 0, 0, 2793, + 2833, 5, 35, 0, 0, 2794, 2833, 5, 158, 0, 0, 2795, 2797, 5, 107, 0, 0, + 2796, 2798, 3, 842, 421, 0, 2797, 2796, 1, 0, 0, 0, 2797, 2798, 1, 0, 0, + 0, 2798, 2799, 1, 0, 0, 0, 2799, 2833, 3, 1414, 707, 0, 2800, 2802, 5, + 279, 0, 0, 2801, 2803, 3, 842, 421, 0, 2802, 2801, 1, 0, 0, 0, 2802, 2803, + 1, 0, 0, 0, 2803, 2804, 1, 0, 0, 0, 2804, 2833, 3, 1414, 707, 0, 2805, + 2833, 5, 82, 0, 0, 2806, 2833, 5, 173, 0, 0, 2807, 2809, 5, 335, 0, 0, + 2808, 2810, 3, 842, 421, 0, 2809, 2808, 1, 0, 0, 0, 2809, 2810, 1, 0, 0, + 0, 2810, 2811, 1, 0, 0, 0, 2811, 2833, 3, 1414, 707, 0, 2812, 2814, 5, + 132, 0, 0, 2813, 2815, 3, 842, 421, 0, 2814, 2813, 1, 0, 0, 0, 2814, 2815, + 1, 0, 0, 0, 2815, 2816, 1, 0, 0, 0, 2816, 2833, 3, 1414, 707, 0, 2817, + 2818, 5, 154, 0, 0, 2818, 2819, 5, 335, 0, 0, 2819, 2833, 3, 218, 109, + 0, 2820, 2821, 5, 154, 0, 0, 2821, 2822, 5, 335, 0, 0, 2822, 2833, 5, 503, + 0, 0, 2823, 2824, 5, 154, 0, 0, 2824, 2825, 5, 274, 0, 0, 2825, 2826, 5, + 279, 0, 0, 2826, 2833, 3, 218, 109, 0, 2827, 2828, 5, 154, 0, 0, 2828, + 2829, 5, 279, 0, 0, 2829, 2833, 3, 218, 109, 0, 2830, 2831, 5, 126, 0, + 0, 2831, 2833, 3, 1414, 707, 0, 2832, 2793, 1, 0, 0, 0, 2832, 2794, 1, + 0, 0, 0, 2832, 2795, 1, 0, 0, 0, 2832, 2800, 1, 0, 0, 0, 2832, 2805, 1, + 0, 0, 0, 2832, 2806, 1, 0, 0, 0, 2832, 2807, 1, 0, 0, 0, 2832, 2812, 1, + 0, 0, 0, 2832, 2817, 1, 0, 0, 0, 2832, 2820, 1, 0, 0, 0, 2832, 2823, 1, + 0, 0, 0, 2832, 2827, 1, 0, 0, 0, 2832, 2830, 1, 0, 0, 0, 2833, 155, 1, + 0, 0, 0, 2834, 2835, 5, 35, 0, 0, 2835, 157, 1, 0, 0, 0, 2836, 2838, 3, + 160, 80, 0, 2837, 2836, 1, 0, 0, 0, 2837, 2838, 1, 0, 0, 0, 2838, 2839, + 1, 0, 0, 0, 2839, 2840, 5, 108, 0, 0, 2840, 2841, 3, 1414, 707, 0, 2841, + 159, 1, 0, 0, 0, 2842, 2843, 5, 454, 0, 0, 2843, 161, 1, 0, 0, 0, 2844, + 2849, 3, 164, 82, 0, 2845, 2846, 5, 500, 0, 0, 2846, 2848, 3, 164, 82, + 0, 2847, 2845, 1, 0, 0, 0, 2848, 2851, 1, 0, 0, 0, 2849, 2847, 1, 0, 0, + 0, 2849, 2850, 1, 0, 0, 0, 2850, 163, 1, 0, 0, 0, 2851, 2849, 1, 0, 0, + 0, 2852, 2854, 3, 1436, 718, 0, 2853, 2855, 3, 166, 83, 0, 2854, 2853, + 1, 0, 0, 0, 2854, 2855, 1, 0, 0, 0, 2855, 165, 1, 0, 0, 0, 2856, 2864, + 3, 66, 33, 0, 2857, 2864, 3, 294, 147, 0, 2858, 2864, 5, 503, 0, 0, 2859, + 2860, 5, 496, 0, 0, 2860, 2861, 3, 168, 84, 0, 2861, 2862, 5, 497, 0, 0, + 2862, 2864, 1, 0, 0, 0, 2863, 2856, 1, 0, 0, 0, 2863, 2857, 1, 0, 0, 0, + 2863, 2858, 1, 0, 0, 0, 2863, 2859, 1, 0, 0, 0, 2864, 167, 1, 0, 0, 0, + 2865, 2870, 3, 170, 85, 0, 2866, 2867, 5, 500, 0, 0, 2867, 2869, 3, 170, + 85, 0, 2868, 2866, 1, 0, 0, 0, 2869, 2872, 1, 0, 0, 0, 2870, 2868, 1, 0, + 0, 0, 2870, 2871, 1, 0, 0, 0, 2871, 169, 1, 0, 0, 0, 2872, 2870, 1, 0, + 0, 0, 2873, 2874, 3, 66, 33, 0, 2874, 171, 1, 0, 0, 0, 2875, 2877, 5, 80, + 0, 0, 2876, 2878, 3, 174, 87, 0, 2877, 2876, 1, 0, 0, 0, 2877, 2878, 1, + 0, 0, 0, 2878, 2879, 1, 0, 0, 0, 2879, 2883, 5, 416, 0, 0, 2880, 2881, + 5, 177, 0, 0, 2881, 2882, 5, 274, 0, 0, 2882, 2884, 5, 139, 0, 0, 2883, + 2880, 1, 0, 0, 0, 2883, 2884, 1, 0, 0, 0, 2884, 2885, 1, 0, 0, 0, 2885, + 2951, 3, 1392, 696, 0, 2886, 2888, 5, 496, 0, 0, 2887, 2889, 3, 176, 88, + 0, 2888, 2887, 1, 0, 0, 0, 2888, 2889, 1, 0, 0, 0, 2889, 2890, 1, 0, 0, + 0, 2890, 2892, 5, 497, 0, 0, 2891, 2893, 3, 240, 120, 0, 2892, 2891, 1, + 0, 0, 0, 2892, 2893, 1, 0, 0, 0, 2893, 2895, 1, 0, 0, 0, 2894, 2896, 3, + 242, 121, 0, 2895, 2894, 1, 0, 0, 0, 2895, 2896, 1, 0, 0, 0, 2896, 2898, + 1, 0, 0, 0, 2897, 2899, 3, 250, 125, 0, 2898, 2897, 1, 0, 0, 0, 2898, 2899, + 1, 0, 0, 0, 2899, 2901, 1, 0, 0, 0, 2900, 2902, 3, 252, 126, 0, 2901, 2900, + 1, 0, 0, 0, 2901, 2902, 1, 0, 0, 0, 2902, 2904, 1, 0, 0, 0, 2903, 2905, + 3, 254, 127, 0, 2904, 2903, 1, 0, 0, 0, 2904, 2905, 1, 0, 0, 0, 2905, 2907, + 1, 0, 0, 0, 2906, 2908, 3, 256, 128, 0, 2907, 2906, 1, 0, 0, 0, 2907, 2908, + 1, 0, 0, 0, 2908, 2952, 1, 0, 0, 0, 2909, 2910, 5, 285, 0, 0, 2910, 2912, + 3, 526, 263, 0, 2911, 2913, 3, 178, 89, 0, 2912, 2911, 1, 0, 0, 0, 2912, + 2913, 1, 0, 0, 0, 2913, 2915, 1, 0, 0, 0, 2914, 2916, 3, 242, 121, 0, 2915, + 2914, 1, 0, 0, 0, 2915, 2916, 1, 0, 0, 0, 2916, 2918, 1, 0, 0, 0, 2917, + 2919, 3, 250, 125, 0, 2918, 2917, 1, 0, 0, 0, 2918, 2919, 1, 0, 0, 0, 2919, + 2921, 1, 0, 0, 0, 2920, 2922, 3, 252, 126, 0, 2921, 2920, 1, 0, 0, 0, 2921, + 2922, 1, 0, 0, 0, 2922, 2924, 1, 0, 0, 0, 2923, 2925, 3, 254, 127, 0, 2924, + 2923, 1, 0, 0, 0, 2924, 2925, 1, 0, 0, 0, 2925, 2927, 1, 0, 0, 0, 2926, + 2928, 3, 256, 128, 0, 2927, 2926, 1, 0, 0, 0, 2927, 2928, 1, 0, 0, 0, 2928, + 2952, 1, 0, 0, 0, 2929, 2930, 5, 312, 0, 0, 2930, 2931, 5, 285, 0, 0, 2931, + 2933, 3, 1392, 696, 0, 2932, 2934, 3, 178, 89, 0, 2933, 2932, 1, 0, 0, + 0, 2933, 2934, 1, 0, 0, 0, 2934, 2935, 1, 0, 0, 0, 2935, 2937, 3, 128, + 64, 0, 2936, 2938, 3, 242, 121, 0, 2937, 2936, 1, 0, 0, 0, 2937, 2938, + 1, 0, 0, 0, 2938, 2940, 1, 0, 0, 0, 2939, 2941, 3, 250, 125, 0, 2940, 2939, + 1, 0, 0, 0, 2940, 2941, 1, 0, 0, 0, 2941, 2943, 1, 0, 0, 0, 2942, 2944, + 3, 252, 126, 0, 2943, 2942, 1, 0, 0, 0, 2943, 2944, 1, 0, 0, 0, 2944, 2946, + 1, 0, 0, 0, 2945, 2947, 3, 254, 127, 0, 2946, 2945, 1, 0, 0, 0, 2946, 2947, + 1, 0, 0, 0, 2947, 2949, 1, 0, 0, 0, 2948, 2950, 3, 256, 128, 0, 2949, 2948, + 1, 0, 0, 0, 2949, 2950, 1, 0, 0, 0, 2950, 2952, 1, 0, 0, 0, 2951, 2886, + 1, 0, 0, 0, 2951, 2909, 1, 0, 0, 0, 2951, 2929, 1, 0, 0, 0, 2952, 173, + 1, 0, 0, 0, 2953, 2961, 5, 423, 0, 0, 2954, 2961, 5, 421, 0, 0, 2955, 2956, + 5, 238, 0, 0, 2956, 2961, 7, 12, 0, 0, 2957, 2958, 5, 164, 0, 0, 2958, + 2961, 7, 12, 0, 0, 2959, 2961, 5, 450, 0, 0, 2960, 2953, 1, 0, 0, 0, 2960, + 2954, 1, 0, 0, 0, 2960, 2955, 1, 0, 0, 0, 2960, 2957, 1, 0, 0, 0, 2960, + 2959, 1, 0, 0, 0, 2961, 175, 1, 0, 0, 0, 2962, 2963, 3, 180, 90, 0, 2963, + 177, 1, 0, 0, 0, 2964, 2965, 5, 496, 0, 0, 2965, 2966, 3, 182, 91, 0, 2966, + 2967, 5, 497, 0, 0, 2967, 179, 1, 0, 0, 0, 2968, 2973, 3, 184, 92, 0, 2969, + 2970, 5, 500, 0, 0, 2970, 2972, 3, 184, 92, 0, 2971, 2969, 1, 0, 0, 0, + 2972, 2975, 1, 0, 0, 0, 2973, 2971, 1, 0, 0, 0, 2973, 2974, 1, 0, 0, 0, + 2974, 181, 1, 0, 0, 0, 2975, 2973, 1, 0, 0, 0, 2976, 2981, 3, 186, 93, + 0, 2977, 2978, 5, 500, 0, 0, 2978, 2980, 3, 186, 93, 0, 2979, 2977, 1, + 0, 0, 0, 2980, 2983, 1, 0, 0, 0, 2981, 2979, 1, 0, 0, 0, 2981, 2982, 1, + 0, 0, 0, 2982, 183, 1, 0, 0, 0, 2983, 2981, 1, 0, 0, 0, 2984, 2988, 3, + 210, 105, 0, 2985, 2988, 3, 204, 102, 0, 2986, 2988, 3, 188, 94, 0, 2987, + 2984, 1, 0, 0, 0, 2987, 2985, 1, 0, 0, 0, 2987, 2986, 1, 0, 0, 0, 2988, + 185, 1, 0, 0, 0, 2989, 2992, 3, 190, 95, 0, 2990, 2992, 3, 210, 105, 0, + 2991, 2989, 1, 0, 0, 0, 2991, 2990, 1, 0, 0, 0, 2992, 187, 1, 0, 0, 0, + 2993, 2994, 3, 1428, 714, 0, 2994, 2996, 3, 1126, 563, 0, 2995, 2997, 3, + 342, 171, 0, 2996, 2995, 1, 0, 0, 0, 2996, 2997, 1, 0, 0, 0, 2997, 2998, + 1, 0, 0, 0, 2998, 2999, 3, 192, 96, 0, 2999, 189, 1, 0, 0, 0, 3000, 3003, + 3, 1428, 714, 0, 3001, 3002, 5, 474, 0, 0, 3002, 3004, 5, 295, 0, 0, 3003, + 3001, 1, 0, 0, 0, 3003, 3004, 1, 0, 0, 0, 3004, 3005, 1, 0, 0, 0, 3005, + 3006, 3, 192, 96, 0, 3006, 191, 1, 0, 0, 0, 3007, 3009, 3, 194, 97, 0, + 3008, 3007, 1, 0, 0, 0, 3009, 3012, 1, 0, 0, 0, 3010, 3008, 1, 0, 0, 0, + 3010, 3011, 1, 0, 0, 0, 3011, 193, 1, 0, 0, 0, 3012, 3010, 1, 0, 0, 0, + 3013, 3014, 5, 73, 0, 0, 3014, 3015, 3, 1396, 698, 0, 3015, 3016, 3, 196, + 98, 0, 3016, 3022, 1, 0, 0, 0, 3017, 3022, 3, 196, 98, 0, 3018, 3022, 3, + 202, 101, 0, 3019, 3020, 5, 59, 0, 0, 3020, 3022, 3, 526, 263, 0, 3021, + 3013, 1, 0, 0, 0, 3021, 3017, 1, 0, 0, 0, 3021, 3018, 1, 0, 0, 0, 3021, + 3019, 1, 0, 0, 0, 3022, 195, 1, 0, 0, 0, 3023, 3024, 5, 274, 0, 0, 3024, + 3079, 5, 279, 0, 0, 3025, 3079, 5, 279, 0, 0, 3026, 3028, 5, 447, 0, 0, + 3027, 3029, 3, 198, 99, 0, 3028, 3027, 1, 0, 0, 0, 3028, 3029, 1, 0, 0, + 0, 3029, 3031, 1, 0, 0, 0, 3030, 3032, 3, 670, 335, 0, 3031, 3030, 1, 0, + 0, 0, 3031, 3032, 1, 0, 0, 0, 3032, 3034, 1, 0, 0, 0, 3033, 3035, 3, 258, + 129, 0, 3034, 3033, 1, 0, 0, 0, 3034, 3035, 1, 0, 0, 0, 3035, 3079, 1, + 0, 0, 0, 3036, 3037, 5, 327, 0, 0, 3037, 3039, 5, 222, 0, 0, 3038, 3040, 3, 670, 335, 0, 3039, 3038, 1, 0, 0, 0, 3039, 3040, 1, 0, 0, 0, 3040, 3042, 1, 0, 0, 0, 3041, 3043, 3, 258, 129, 0, 3042, 3041, 1, 0, 0, 0, 3042, 3043, - 1, 0, 0, 0, 3043, 3079, 1, 0, 0, 0, 3044, 3045, 5, 42, 0, 0, 3045, 3046, - 5, 2, 0, 0, 3046, 3047, 3, 1170, 585, 0, 3047, 3049, 5, 3, 0, 0, 3048, + 1, 0, 0, 0, 3043, 3079, 1, 0, 0, 0, 3044, 3045, 5, 53, 0, 0, 3045, 3046, + 5, 496, 0, 0, 3046, 3047, 3, 1172, 586, 0, 3047, 3049, 5, 497, 0, 0, 3048, 3050, 3, 214, 107, 0, 3049, 3048, 1, 0, 0, 0, 3049, 3050, 1, 0, 0, 0, 3050, - 3079, 1, 0, 0, 0, 3051, 3052, 5, 53, 0, 0, 3052, 3079, 3, 1212, 606, 0, - 3053, 3054, 5, 459, 0, 0, 3054, 3055, 3, 200, 100, 0, 3055, 3065, 5, 36, - 0, 0, 3056, 3058, 5, 238, 0, 0, 3057, 3059, 3, 286, 143, 0, 3058, 3057, + 3079, 1, 0, 0, 0, 3051, 3052, 5, 101, 0, 0, 3052, 3079, 3, 1214, 607, 0, + 3053, 3054, 5, 163, 0, 0, 3054, 3055, 3, 200, 100, 0, 3055, 3065, 5, 19, + 0, 0, 3056, 3058, 5, 176, 0, 0, 3057, 3059, 3, 286, 143, 0, 3058, 3057, 1, 0, 0, 0, 3058, 3059, 1, 0, 0, 0, 3059, 3066, 1, 0, 0, 0, 3060, 3061, - 5, 2, 0, 0, 3061, 3062, 3, 1170, 585, 0, 3062, 3063, 5, 3, 0, 0, 3063, - 3064, 5, 461, 0, 0, 3064, 3066, 1, 0, 0, 0, 3065, 3056, 1, 0, 0, 0, 3065, - 3060, 1, 0, 0, 0, 3066, 3079, 1, 0, 0, 0, 3067, 3068, 5, 86, 0, 0, 3068, - 3070, 3, 1390, 695, 0, 3069, 3071, 3, 216, 108, 0, 3070, 3069, 1, 0, 0, + 5, 496, 0, 0, 3061, 3062, 3, 1172, 586, 0, 3062, 3063, 5, 497, 0, 0, 3063, + 3064, 5, 405, 0, 0, 3064, 3066, 1, 0, 0, 0, 3065, 3056, 1, 0, 0, 0, 3065, + 3060, 1, 0, 0, 0, 3066, 3079, 1, 0, 0, 0, 3067, 3068, 5, 343, 0, 0, 3068, + 3070, 3, 1392, 696, 0, 3069, 3071, 3, 216, 108, 0, 3070, 3069, 1, 0, 0, 0, 3070, 3071, 1, 0, 0, 0, 3071, 3073, 1, 0, 0, 0, 3072, 3074, 3, 224, 112, 0, 3073, 3072, 1, 0, 0, 0, 3073, 3074, 1, 0, 0, 0, 3074, 3076, 1, 0, 0, 0, 3075, 3077, 3, 232, 116, 0, 3076, 3075, 1, 0, 0, 0, 3076, 3077, 1, 0, 0, 0, 3077, 3079, 1, 0, 0, 0, 3078, 3023, 1, 0, 0, 0, 3078, 3025, 1, 0, 0, 0, 3078, 3026, 1, 0, 0, 0, 3078, 3036, 1, 0, 0, 0, 3078, 3044, 1, 0, 0, 0, 3078, 3051, 1, 0, 0, 0, 3078, 3053, 1, 0, 0, 0, 3078, 3067, - 1, 0, 0, 0, 3079, 197, 1, 0, 0, 0, 3080, 3082, 5, 285, 0, 0, 3081, 3083, - 5, 77, 0, 0, 3082, 3081, 1, 0, 0, 0, 3082, 3083, 1, 0, 0, 0, 3083, 3084, - 1, 0, 0, 0, 3084, 3085, 5, 56, 0, 0, 3085, 199, 1, 0, 0, 0, 3086, 3090, - 5, 158, 0, 0, 3087, 3088, 5, 166, 0, 0, 3088, 3090, 5, 53, 0, 0, 3089, - 3086, 1, 0, 0, 0, 3089, 3087, 1, 0, 0, 0, 3090, 201, 1, 0, 0, 0, 3091, - 3097, 5, 54, 0, 0, 3092, 3093, 5, 77, 0, 0, 3093, 3097, 5, 54, 0, 0, 3094, - 3095, 5, 69, 0, 0, 3095, 3097, 7, 8, 0, 0, 3096, 3091, 1, 0, 0, 0, 3096, + 1, 0, 0, 0, 3079, 197, 1, 0, 0, 0, 3080, 3082, 5, 281, 0, 0, 3081, 3083, + 5, 274, 0, 0, 3082, 3081, 1, 0, 0, 0, 3082, 3083, 1, 0, 0, 0, 3083, 3084, + 1, 0, 0, 0, 3084, 3085, 5, 116, 0, 0, 3085, 199, 1, 0, 0, 0, 3086, 3090, + 5, 13, 0, 0, 3087, 3088, 5, 40, 0, 0, 3088, 3090, 5, 101, 0, 0, 3089, 3086, + 1, 0, 0, 0, 3089, 3087, 1, 0, 0, 0, 3090, 201, 1, 0, 0, 0, 3091, 3097, + 5, 103, 0, 0, 3092, 3093, 5, 274, 0, 0, 3093, 3097, 5, 103, 0, 0, 3094, + 3095, 5, 192, 0, 0, 3095, 3097, 7, 8, 0, 0, 3096, 3091, 1, 0, 0, 0, 3096, 3092, 1, 0, 0, 0, 3096, 3094, 1, 0, 0, 0, 3097, 203, 1, 0, 0, 0, 3098, - 3099, 5, 139, 0, 0, 3099, 3100, 3, 1390, 695, 0, 3100, 3101, 3, 206, 103, + 3099, 5, 234, 0, 0, 3099, 3100, 3, 1392, 696, 0, 3100, 3101, 3, 206, 103, 0, 3101, 205, 1, 0, 0, 0, 3102, 3103, 7, 13, 0, 0, 3103, 3105, 3, 208, 104, 0, 3104, 3102, 1, 0, 0, 0, 3105, 3108, 1, 0, 0, 0, 3106, 3104, 1, 0, 0, 0, 3106, 3107, 1, 0, 0, 0, 3107, 207, 1, 0, 0, 0, 3108, 3106, 1, 0, 0, 0, 3109, 3110, 7, 14, 0, 0, 3110, 209, 1, 0, 0, 0, 3111, 3112, 5, - 45, 0, 0, 3112, 3113, 3, 1394, 697, 0, 3113, 3114, 3, 212, 106, 0, 3114, + 73, 0, 0, 3112, 3113, 3, 1396, 698, 0, 3113, 3114, 3, 212, 106, 0, 3114, 3117, 1, 0, 0, 0, 3115, 3117, 3, 212, 106, 0, 3116, 3111, 1, 0, 0, 0, 3116, - 3115, 1, 0, 0, 0, 3117, 211, 1, 0, 0, 0, 3118, 3119, 5, 42, 0, 0, 3119, - 3120, 5, 2, 0, 0, 3120, 3121, 3, 1170, 585, 0, 3121, 3122, 5, 3, 0, 0, - 3122, 3123, 3, 442, 221, 0, 3123, 3208, 1, 0, 0, 0, 3124, 3126, 5, 98, + 3115, 1, 0, 0, 0, 3117, 211, 1, 0, 0, 0, 3118, 3119, 5, 53, 0, 0, 3119, + 3120, 5, 496, 0, 0, 3120, 3121, 3, 1172, 586, 0, 3121, 3122, 5, 497, 0, + 0, 3122, 3123, 3, 442, 221, 0, 3123, 3208, 1, 0, 0, 0, 3124, 3126, 5, 447, 0, 0, 3125, 3127, 3, 198, 99, 0, 3126, 3125, 1, 0, 0, 0, 3126, 3127, 1, - 0, 0, 0, 3127, 3145, 1, 0, 0, 0, 3128, 3129, 5, 2, 0, 0, 3129, 3130, 3, - 218, 109, 0, 3130, 3132, 5, 3, 0, 0, 3131, 3133, 3, 222, 111, 0, 3132, + 0, 0, 0, 3127, 3145, 1, 0, 0, 0, 3128, 3129, 5, 496, 0, 0, 3129, 3130, + 3, 218, 109, 0, 3130, 3132, 5, 497, 0, 0, 3131, 3133, 3, 222, 111, 0, 3132, 3131, 1, 0, 0, 0, 3132, 3133, 1, 0, 0, 0, 3133, 3135, 1, 0, 0, 0, 3134, 3136, 3, 670, 335, 0, 3135, 3134, 1, 0, 0, 0, 3135, 3136, 1, 0, 0, 0, 3136, 3138, 1, 0, 0, 0, 3137, 3139, 3, 258, 129, 0, 3138, 3137, 1, 0, 0, 0, 3138, 3139, 1, 0, 0, 0, 3139, 3140, 1, 0, 0, 0, 3140, 3141, 3, 442, 221, 0, 3141, 3146, 1, 0, 0, 0, 3142, 3143, 3, 260, 130, 0, 3143, 3144, 3, 442, 221, 0, 3144, 3146, 1, 0, 0, 0, 3145, 3128, 1, 0, 0, 0, 3145, 3142, 1, 0, 0, - 0, 3146, 3208, 1, 0, 0, 0, 3147, 3148, 5, 85, 0, 0, 3148, 3166, 5, 255, - 0, 0, 3149, 3150, 5, 2, 0, 0, 3150, 3151, 3, 218, 109, 0, 3151, 3153, 5, - 3, 0, 0, 3152, 3154, 3, 222, 111, 0, 3153, 3152, 1, 0, 0, 0, 3153, 3154, - 1, 0, 0, 0, 3154, 3156, 1, 0, 0, 0, 3155, 3157, 3, 670, 335, 0, 3156, 3155, - 1, 0, 0, 0, 3156, 3157, 1, 0, 0, 0, 3157, 3159, 1, 0, 0, 0, 3158, 3160, - 3, 258, 129, 0, 3159, 3158, 1, 0, 0, 0, 3159, 3160, 1, 0, 0, 0, 3160, 3161, - 1, 0, 0, 0, 3161, 3162, 3, 442, 221, 0, 3162, 3167, 1, 0, 0, 0, 3163, 3164, - 3, 260, 130, 0, 3164, 3165, 3, 442, 221, 0, 3165, 3167, 1, 0, 0, 0, 3166, - 3149, 1, 0, 0, 0, 3166, 3163, 1, 0, 0, 0, 3167, 3208, 1, 0, 0, 0, 3168, - 3170, 5, 218, 0, 0, 3169, 3171, 3, 602, 301, 0, 3170, 3169, 1, 0, 0, 0, - 3170, 3171, 1, 0, 0, 0, 3171, 3172, 1, 0, 0, 0, 3172, 3173, 5, 2, 0, 0, - 3173, 3174, 3, 226, 113, 0, 3174, 3176, 5, 3, 0, 0, 3175, 3177, 3, 222, - 111, 0, 3176, 3175, 1, 0, 0, 0, 3176, 3177, 1, 0, 0, 0, 3177, 3179, 1, - 0, 0, 0, 3178, 3180, 3, 670, 335, 0, 3179, 3178, 1, 0, 0, 0, 3179, 3180, - 1, 0, 0, 0, 3180, 3182, 1, 0, 0, 0, 3181, 3183, 3, 258, 129, 0, 3182, 3181, - 1, 0, 0, 0, 3182, 3183, 1, 0, 0, 0, 3183, 3185, 1, 0, 0, 0, 3184, 3186, - 3, 230, 115, 0, 3185, 3184, 1, 0, 0, 0, 3185, 3186, 1, 0, 0, 0, 3186, 3187, - 1, 0, 0, 0, 3187, 3188, 3, 442, 221, 0, 3188, 3208, 1, 0, 0, 0, 3189, 3190, - 5, 63, 0, 0, 3190, 3191, 5, 255, 0, 0, 3191, 3192, 5, 2, 0, 0, 3192, 3193, - 3, 218, 109, 0, 3193, 3194, 5, 3, 0, 0, 3194, 3195, 5, 86, 0, 0, 3195, - 3197, 3, 1390, 695, 0, 3196, 3198, 3, 216, 108, 0, 3197, 3196, 1, 0, 0, - 0, 3197, 3198, 1, 0, 0, 0, 3198, 3200, 1, 0, 0, 0, 3199, 3201, 3, 224, - 112, 0, 3200, 3199, 1, 0, 0, 0, 3200, 3201, 1, 0, 0, 0, 3201, 3203, 1, - 0, 0, 0, 3202, 3204, 3, 232, 116, 0, 3203, 3202, 1, 0, 0, 0, 3203, 3204, + 0, 3146, 3208, 1, 0, 0, 0, 3147, 3148, 5, 327, 0, 0, 3148, 3166, 5, 222, + 0, 0, 3149, 3150, 5, 496, 0, 0, 3150, 3151, 3, 218, 109, 0, 3151, 3153, + 5, 497, 0, 0, 3152, 3154, 3, 222, 111, 0, 3153, 3152, 1, 0, 0, 0, 3153, + 3154, 1, 0, 0, 0, 3154, 3156, 1, 0, 0, 0, 3155, 3157, 3, 670, 335, 0, 3156, + 3155, 1, 0, 0, 0, 3156, 3157, 1, 0, 0, 0, 3157, 3159, 1, 0, 0, 0, 3158, + 3160, 3, 258, 129, 0, 3159, 3158, 1, 0, 0, 0, 3159, 3160, 1, 0, 0, 0, 3160, + 3161, 1, 0, 0, 0, 3161, 3162, 3, 442, 221, 0, 3162, 3167, 1, 0, 0, 0, 3163, + 3164, 3, 260, 130, 0, 3164, 3165, 3, 442, 221, 0, 3165, 3167, 1, 0, 0, + 0, 3166, 3149, 1, 0, 0, 0, 3166, 3163, 1, 0, 0, 0, 3167, 3208, 1, 0, 0, + 0, 3168, 3170, 5, 135, 0, 0, 3169, 3171, 3, 602, 301, 0, 3170, 3169, 1, + 0, 0, 0, 3170, 3171, 1, 0, 0, 0, 3171, 3172, 1, 0, 0, 0, 3172, 3173, 5, + 496, 0, 0, 3173, 3174, 3, 226, 113, 0, 3174, 3176, 5, 497, 0, 0, 3175, + 3177, 3, 222, 111, 0, 3176, 3175, 1, 0, 0, 0, 3176, 3177, 1, 0, 0, 0, 3177, + 3179, 1, 0, 0, 0, 3178, 3180, 3, 670, 335, 0, 3179, 3178, 1, 0, 0, 0, 3179, + 3180, 1, 0, 0, 0, 3180, 3182, 1, 0, 0, 0, 3181, 3183, 3, 258, 129, 0, 3182, + 3181, 1, 0, 0, 0, 3182, 3183, 1, 0, 0, 0, 3183, 3185, 1, 0, 0, 0, 3184, + 3186, 3, 230, 115, 0, 3185, 3184, 1, 0, 0, 0, 3185, 3186, 1, 0, 0, 0, 3186, + 3187, 1, 0, 0, 0, 3187, 3188, 3, 442, 221, 0, 3188, 3208, 1, 0, 0, 0, 3189, + 3190, 5, 155, 0, 0, 3190, 3191, 5, 222, 0, 0, 3191, 3192, 5, 496, 0, 0, + 3192, 3193, 3, 218, 109, 0, 3193, 3194, 5, 497, 0, 0, 3194, 3195, 5, 343, + 0, 0, 3195, 3197, 3, 1392, 696, 0, 3196, 3198, 3, 216, 108, 0, 3197, 3196, + 1, 0, 0, 0, 3197, 3198, 1, 0, 0, 0, 3198, 3200, 1, 0, 0, 0, 3199, 3201, + 3, 224, 112, 0, 3200, 3199, 1, 0, 0, 0, 3200, 3201, 1, 0, 0, 0, 3201, 3203, + 1, 0, 0, 0, 3202, 3204, 3, 232, 116, 0, 3203, 3202, 1, 0, 0, 0, 3203, 3204, 1, 0, 0, 0, 3204, 3205, 1, 0, 0, 0, 3205, 3206, 3, 442, 221, 0, 3206, 3208, 1, 0, 0, 0, 3207, 3118, 1, 0, 0, 0, 3207, 3124, 1, 0, 0, 0, 3207, 3147, 1, 0, 0, 0, 3207, 3168, 1, 0, 0, 0, 3207, 3189, 1, 0, 0, 0, 3208, 213, - 1, 0, 0, 0, 3209, 3210, 5, 281, 0, 0, 3210, 3211, 5, 247, 0, 0, 3211, 215, - 1, 0, 0, 0, 3212, 3213, 5, 2, 0, 0, 3213, 3214, 3, 218, 109, 0, 3214, 3215, - 5, 3, 0, 0, 3215, 217, 1, 0, 0, 0, 3216, 3221, 3, 220, 110, 0, 3217, 3218, - 5, 6, 0, 0, 3218, 3220, 3, 220, 110, 0, 3219, 3217, 1, 0, 0, 0, 3220, 3223, - 1, 0, 0, 0, 3221, 3219, 1, 0, 0, 0, 3221, 3222, 1, 0, 0, 0, 3222, 219, - 1, 0, 0, 0, 3223, 3221, 1, 0, 0, 0, 3224, 3225, 3, 1426, 713, 0, 3225, - 221, 1, 0, 0, 0, 3226, 3227, 5, 462, 0, 0, 3227, 3228, 5, 2, 0, 0, 3228, - 3229, 3, 218, 109, 0, 3229, 3230, 5, 3, 0, 0, 3230, 223, 1, 0, 0, 0, 3231, - 3232, 5, 268, 0, 0, 3232, 3233, 7, 15, 0, 0, 3233, 225, 1, 0, 0, 0, 3234, - 3239, 3, 228, 114, 0, 3235, 3236, 5, 6, 0, 0, 3236, 3238, 3, 228, 114, - 0, 3237, 3235, 1, 0, 0, 0, 3238, 3241, 1, 0, 0, 0, 3239, 3237, 1, 0, 0, - 0, 3239, 3240, 1, 0, 0, 0, 3240, 227, 1, 0, 0, 0, 3241, 3239, 1, 0, 0, - 0, 3242, 3243, 3, 608, 304, 0, 3243, 3250, 5, 105, 0, 0, 3244, 3251, 3, - 690, 345, 0, 3245, 3246, 5, 290, 0, 0, 3246, 3247, 5, 2, 0, 0, 3247, 3248, - 3, 690, 345, 0, 3248, 3249, 5, 3, 0, 0, 3249, 3251, 1, 0, 0, 0, 3250, 3244, - 1, 0, 0, 0, 3250, 3245, 1, 0, 0, 0, 3251, 229, 1, 0, 0, 0, 3252, 3253, - 5, 103, 0, 0, 3253, 3254, 5, 2, 0, 0, 3254, 3255, 3, 1170, 585, 0, 3255, - 3256, 5, 3, 0, 0, 3256, 231, 1, 0, 0, 0, 3257, 3266, 3, 234, 117, 0, 3258, - 3266, 3, 236, 118, 0, 3259, 3260, 3, 234, 117, 0, 3260, 3261, 3, 236, 118, - 0, 3261, 3266, 1, 0, 0, 0, 3262, 3263, 3, 236, 118, 0, 3263, 3264, 3, 234, - 117, 0, 3264, 3266, 1, 0, 0, 0, 3265, 3257, 1, 0, 0, 0, 3265, 3258, 1, - 0, 0, 0, 3265, 3259, 1, 0, 0, 0, 3265, 3262, 1, 0, 0, 0, 3266, 233, 1, - 0, 0, 0, 3267, 3268, 5, 80, 0, 0, 3268, 3269, 5, 381, 0, 0, 3269, 3270, - 3, 238, 119, 0, 3270, 235, 1, 0, 0, 0, 3271, 3272, 5, 80, 0, 0, 3272, 3273, - 5, 201, 0, 0, 3273, 3274, 3, 238, 119, 0, 3274, 237, 1, 0, 0, 0, 3275, - 3276, 5, 281, 0, 0, 3276, 3285, 5, 151, 0, 0, 3277, 3285, 5, 327, 0, 0, - 3278, 3285, 5, 169, 0, 0, 3279, 3280, 5, 345, 0, 0, 3280, 3282, 7, 16, - 0, 0, 3281, 3283, 3, 216, 108, 0, 3282, 3281, 1, 0, 0, 0, 3282, 3283, 1, - 0, 0, 0, 3283, 3285, 1, 0, 0, 0, 3284, 3275, 1, 0, 0, 0, 3284, 3277, 1, - 0, 0, 0, 3284, 3278, 1, 0, 0, 0, 3284, 3279, 1, 0, 0, 0, 3285, 239, 1, - 0, 0, 0, 3286, 3287, 5, 248, 0, 0, 3287, 3288, 5, 2, 0, 0, 3288, 3289, - 3, 1388, 694, 0, 3289, 3290, 5, 3, 0, 0, 3290, 241, 1, 0, 0, 0, 3291, 3292, - 3, 244, 122, 0, 3292, 243, 1, 0, 0, 0, 3293, 3294, 5, 297, 0, 0, 3294, - 3295, 5, 166, 0, 0, 3295, 3296, 3, 1426, 713, 0, 3296, 3297, 5, 2, 0, 0, - 3297, 3298, 3, 246, 123, 0, 3298, 3299, 5, 3, 0, 0, 3299, 245, 1, 0, 0, - 0, 3300, 3305, 3, 248, 124, 0, 3301, 3302, 5, 6, 0, 0, 3302, 3304, 3, 248, - 124, 0, 3303, 3301, 1, 0, 0, 0, 3304, 3307, 1, 0, 0, 0, 3305, 3303, 1, - 0, 0, 0, 3305, 3306, 1, 0, 0, 0, 3306, 247, 1, 0, 0, 0, 3307, 3305, 1, - 0, 0, 0, 3308, 3310, 3, 1426, 713, 0, 3309, 3311, 3, 614, 307, 0, 3310, - 3309, 1, 0, 0, 0, 3310, 3311, 1, 0, 0, 0, 3311, 3313, 1, 0, 0, 0, 3312, - 3314, 3, 616, 308, 0, 3313, 3312, 1, 0, 0, 0, 3313, 3314, 1, 0, 0, 0, 3314, - 3332, 1, 0, 0, 0, 3315, 3317, 3, 1222, 611, 0, 3316, 3318, 3, 614, 307, - 0, 3317, 3316, 1, 0, 0, 0, 3317, 3318, 1, 0, 0, 0, 3318, 3320, 1, 0, 0, - 0, 3319, 3321, 3, 616, 308, 0, 3320, 3319, 1, 0, 0, 0, 3320, 3321, 1, 0, - 0, 0, 3321, 3332, 1, 0, 0, 0, 3322, 3323, 5, 2, 0, 0, 3323, 3324, 3, 1170, - 585, 0, 3324, 3326, 5, 3, 0, 0, 3325, 3327, 3, 614, 307, 0, 3326, 3325, - 1, 0, 0, 0, 3326, 3327, 1, 0, 0, 0, 3327, 3329, 1, 0, 0, 0, 3328, 3330, - 3, 616, 308, 0, 3329, 3328, 1, 0, 0, 0, 3329, 3330, 1, 0, 0, 0, 3330, 3332, - 1, 0, 0, 0, 3331, 3308, 1, 0, 0, 0, 3331, 3315, 1, 0, 0, 0, 3331, 3322, - 1, 0, 0, 0, 3332, 249, 1, 0, 0, 0, 3333, 3334, 5, 100, 0, 0, 3334, 3335, - 3, 1394, 697, 0, 3335, 251, 1, 0, 0, 0, 3336, 3337, 5, 105, 0, 0, 3337, - 3341, 3, 116, 58, 0, 3338, 3339, 5, 391, 0, 0, 3339, 3341, 5, 289, 0, 0, - 3340, 3336, 1, 0, 0, 0, 3340, 3338, 1, 0, 0, 0, 3341, 253, 1, 0, 0, 0, - 3342, 3343, 5, 80, 0, 0, 3343, 3349, 5, 180, 0, 0, 3344, 3350, 5, 210, - 0, 0, 3345, 3346, 5, 201, 0, 0, 3346, 3350, 5, 332, 0, 0, 3347, 3348, 5, - 304, 0, 0, 3348, 3350, 5, 332, 0, 0, 3349, 3344, 1, 0, 0, 0, 3349, 3345, - 1, 0, 0, 0, 3349, 3347, 1, 0, 0, 0, 3350, 255, 1, 0, 0, 0, 3351, 3352, - 5, 363, 0, 0, 3352, 3353, 3, 1394, 697, 0, 3353, 257, 1, 0, 0, 0, 3354, - 3355, 5, 100, 0, 0, 3355, 3356, 5, 245, 0, 0, 3356, 3357, 5, 363, 0, 0, - 3357, 3358, 3, 1394, 697, 0, 3358, 259, 1, 0, 0, 0, 3359, 3360, 5, 100, - 0, 0, 3360, 3361, 5, 245, 0, 0, 3361, 3362, 3, 1394, 697, 0, 3362, 261, - 1, 0, 0, 0, 3363, 3364, 5, 46, 0, 0, 3364, 3368, 5, 354, 0, 0, 3365, 3366, - 5, 239, 0, 0, 3366, 3367, 5, 77, 0, 0, 3367, 3369, 5, 409, 0, 0, 3368, - 3365, 1, 0, 0, 0, 3368, 3369, 1, 0, 0, 0, 3369, 3370, 1, 0, 0, 0, 3370, - 3372, 3, 526, 263, 0, 3371, 3373, 3, 878, 439, 0, 3372, 3371, 1, 0, 0, - 0, 3372, 3373, 1, 0, 0, 0, 3373, 3374, 1, 0, 0, 0, 3374, 3375, 5, 80, 0, - 0, 3375, 3376, 3, 1332, 666, 0, 3376, 3377, 5, 64, 0, 0, 3377, 3378, 3, - 1064, 532, 0, 3378, 263, 1, 0, 0, 0, 3379, 3380, 5, 157, 0, 0, 3380, 3383, - 5, 354, 0, 0, 3381, 3382, 5, 239, 0, 0, 3382, 3384, 5, 409, 0, 0, 3383, - 3381, 1, 0, 0, 0, 3383, 3384, 1, 0, 0, 0, 3384, 3385, 1, 0, 0, 0, 3385, - 3386, 3, 526, 263, 0, 3386, 3387, 5, 345, 0, 0, 3387, 3388, 5, 354, 0, - 0, 3388, 3389, 3, 1418, 709, 0, 3389, 265, 1, 0, 0, 0, 3390, 3392, 5, 46, - 0, 0, 3391, 3393, 3, 174, 87, 0, 3392, 3391, 1, 0, 0, 0, 3392, 3393, 1, - 0, 0, 0, 3393, 3394, 1, 0, 0, 0, 3394, 3398, 5, 92, 0, 0, 3395, 3396, 5, - 239, 0, 0, 3396, 3397, 5, 77, 0, 0, 3397, 3399, 5, 409, 0, 0, 3398, 3395, - 1, 0, 0, 0, 3398, 3399, 1, 0, 0, 0, 3399, 3400, 1, 0, 0, 0, 3400, 3401, - 3, 268, 134, 0, 3401, 3402, 5, 36, 0, 0, 3402, 3404, 3, 968, 484, 0, 3403, - 3405, 3, 270, 135, 0, 3404, 3403, 1, 0, 0, 0, 3404, 3405, 1, 0, 0, 0, 3405, - 267, 1, 0, 0, 0, 3406, 3408, 3, 1390, 695, 0, 3407, 3409, 3, 216, 108, - 0, 3408, 3407, 1, 0, 0, 0, 3408, 3409, 1, 0, 0, 0, 3409, 3411, 1, 0, 0, - 0, 3410, 3412, 3, 250, 125, 0, 3411, 3410, 1, 0, 0, 0, 3411, 3412, 1, 0, - 0, 0, 3412, 3414, 1, 0, 0, 0, 3413, 3415, 3, 252, 126, 0, 3414, 3413, 1, - 0, 0, 0, 3414, 3415, 1, 0, 0, 0, 3415, 3417, 1, 0, 0, 0, 3416, 3418, 3, - 254, 127, 0, 3417, 3416, 1, 0, 0, 0, 3417, 3418, 1, 0, 0, 0, 3418, 3420, - 1, 0, 0, 0, 3419, 3421, 3, 256, 128, 0, 3420, 3419, 1, 0, 0, 0, 3420, 3421, - 1, 0, 0, 0, 3421, 269, 1, 0, 0, 0, 3422, 3426, 5, 105, 0, 0, 3423, 3427, - 5, 193, 0, 0, 3424, 3425, 5, 281, 0, 0, 3425, 3427, 5, 193, 0, 0, 3426, - 3423, 1, 0, 0, 0, 3426, 3424, 1, 0, 0, 0, 3427, 271, 1, 0, 0, 0, 3428, - 3430, 5, 46, 0, 0, 3429, 3431, 3, 276, 138, 0, 3430, 3429, 1, 0, 0, 0, - 3430, 3431, 1, 0, 0, 0, 3431, 3432, 1, 0, 0, 0, 3432, 3433, 5, 270, 0, - 0, 3433, 3437, 5, 388, 0, 0, 3434, 3435, 5, 239, 0, 0, 3435, 3436, 5, 77, - 0, 0, 3436, 3438, 5, 409, 0, 0, 3437, 3434, 1, 0, 0, 0, 3437, 3438, 1, - 0, 0, 0, 3438, 3439, 1, 0, 0, 0, 3439, 3440, 3, 274, 137, 0, 3440, 3441, - 5, 36, 0, 0, 3441, 3443, 3, 968, 484, 0, 3442, 3444, 3, 270, 135, 0, 3443, - 3442, 1, 0, 0, 0, 3443, 3444, 1, 0, 0, 0, 3444, 273, 1, 0, 0, 0, 3445, - 3447, 3, 1390, 695, 0, 3446, 3448, 3, 216, 108, 0, 3447, 3446, 1, 0, 0, - 0, 3447, 3448, 1, 0, 0, 0, 3448, 3450, 1, 0, 0, 0, 3449, 3451, 3, 250, - 125, 0, 3450, 3449, 1, 0, 0, 0, 3450, 3451, 1, 0, 0, 0, 3451, 3453, 1, - 0, 0, 0, 3452, 3454, 3, 118, 59, 0, 3453, 3452, 1, 0, 0, 0, 3453, 3454, - 1, 0, 0, 0, 3454, 3456, 1, 0, 0, 0, 3455, 3457, 3, 256, 128, 0, 3456, 3455, - 1, 0, 0, 0, 3456, 3457, 1, 0, 0, 0, 3457, 275, 1, 0, 0, 0, 3458, 3459, - 5, 379, 0, 0, 3459, 277, 1, 0, 0, 0, 3460, 3461, 5, 317, 0, 0, 3461, 3462, - 5, 270, 0, 0, 3462, 3464, 5, 388, 0, 0, 3463, 3465, 3, 598, 299, 0, 3464, - 3463, 1, 0, 0, 0, 3464, 3465, 1, 0, 0, 0, 3465, 3466, 1, 0, 0, 0, 3466, - 3468, 3, 1390, 695, 0, 3467, 3469, 3, 270, 135, 0, 3468, 3467, 1, 0, 0, - 0, 3468, 3469, 1, 0, 0, 0, 3469, 279, 1, 0, 0, 0, 3470, 3472, 5, 46, 0, - 0, 3471, 3473, 3, 174, 87, 0, 3472, 3471, 1, 0, 0, 0, 3472, 3473, 1, 0, - 0, 0, 3473, 3474, 1, 0, 0, 0, 3474, 3478, 5, 340, 0, 0, 3475, 3476, 5, - 239, 0, 0, 3476, 3477, 5, 77, 0, 0, 3477, 3479, 5, 409, 0, 0, 3478, 3475, - 1, 0, 0, 0, 3478, 3479, 1, 0, 0, 0, 3479, 3480, 1, 0, 0, 0, 3480, 3482, - 3, 1390, 695, 0, 3481, 3483, 3, 284, 142, 0, 3482, 3481, 1, 0, 0, 0, 3482, - 3483, 1, 0, 0, 0, 3483, 281, 1, 0, 0, 0, 3484, 3485, 5, 157, 0, 0, 3485, - 3488, 5, 340, 0, 0, 3486, 3487, 5, 239, 0, 0, 3487, 3489, 5, 409, 0, 0, - 3488, 3486, 1, 0, 0, 0, 3488, 3489, 1, 0, 0, 0, 3489, 3490, 1, 0, 0, 0, - 3490, 3491, 3, 1390, 695, 0, 3491, 3492, 3, 288, 144, 0, 3492, 283, 1, - 0, 0, 0, 3493, 3494, 3, 288, 144, 0, 3494, 285, 1, 0, 0, 0, 3495, 3496, - 5, 2, 0, 0, 3496, 3497, 3, 288, 144, 0, 3497, 3498, 5, 3, 0, 0, 3498, 287, - 1, 0, 0, 0, 3499, 3501, 3, 290, 145, 0, 3500, 3499, 1, 0, 0, 0, 3501, 3502, - 1, 0, 0, 0, 3502, 3500, 1, 0, 0, 0, 3502, 3503, 1, 0, 0, 0, 3503, 289, - 1, 0, 0, 0, 3504, 3505, 5, 36, 0, 0, 3505, 3541, 3, 1130, 565, 0, 3506, - 3507, 5, 167, 0, 0, 3507, 3541, 3, 294, 147, 0, 3508, 3541, 5, 192, 0, - 0, 3509, 3511, 5, 244, 0, 0, 3510, 3512, 3, 292, 146, 0, 3511, 3510, 1, - 0, 0, 0, 3511, 3512, 1, 0, 0, 0, 3512, 3513, 1, 0, 0, 0, 3513, 3541, 3, - 294, 147, 0, 3514, 3541, 5, 460, 0, 0, 3515, 3516, 5, 271, 0, 0, 3516, - 3541, 3, 294, 147, 0, 3517, 3518, 5, 274, 0, 0, 3518, 3541, 3, 294, 147, - 0, 3519, 3520, 5, 281, 0, 0, 3520, 3541, 7, 17, 0, 0, 3521, 3522, 5, 293, - 0, 0, 3522, 3523, 5, 166, 0, 0, 3523, 3541, 3, 526, 263, 0, 3524, 3525, - 5, 340, 0, 0, 3525, 3526, 5, 278, 0, 0, 3526, 3541, 3, 526, 263, 0, 3527, - 3529, 5, 352, 0, 0, 3528, 3530, 3, 16, 8, 0, 3529, 3528, 1, 0, 0, 0, 3529, - 3530, 1, 0, 0, 0, 3530, 3531, 1, 0, 0, 0, 3531, 3541, 3, 294, 147, 0, 3532, - 3534, 5, 326, 0, 0, 3533, 3535, 3, 16, 8, 0, 3534, 3533, 1, 0, 0, 0, 3534, - 3535, 1, 0, 0, 0, 3535, 3537, 1, 0, 0, 0, 3536, 3538, 3, 294, 147, 0, 3537, - 3536, 1, 0, 0, 0, 3537, 3538, 1, 0, 0, 0, 3538, 3541, 1, 0, 0, 0, 3539, - 3541, 5, 379, 0, 0, 3540, 3504, 1, 0, 0, 0, 3540, 3506, 1, 0, 0, 0, 3540, - 3508, 1, 0, 0, 0, 3540, 3509, 1, 0, 0, 0, 3540, 3514, 1, 0, 0, 0, 3540, - 3515, 1, 0, 0, 0, 3540, 3517, 1, 0, 0, 0, 3540, 3519, 1, 0, 0, 0, 3540, - 3521, 1, 0, 0, 0, 3540, 3524, 1, 0, 0, 0, 3540, 3527, 1, 0, 0, 0, 3540, - 3532, 1, 0, 0, 0, 3540, 3539, 1, 0, 0, 0, 3541, 291, 1, 0, 0, 0, 3542, - 3543, 5, 166, 0, 0, 3543, 293, 1, 0, 0, 0, 3544, 3551, 3, 1408, 704, 0, - 3545, 3546, 5, 12, 0, 0, 3546, 3551, 3, 1408, 704, 0, 3547, 3548, 5, 13, - 0, 0, 3548, 3551, 3, 1408, 704, 0, 3549, 3551, 3, 1418, 709, 0, 3550, 3544, - 1, 0, 0, 0, 3550, 3545, 1, 0, 0, 0, 3550, 3547, 1, 0, 0, 0, 3550, 3549, - 1, 0, 0, 0, 3551, 295, 1, 0, 0, 0, 3552, 3557, 3, 294, 147, 0, 3553, 3554, - 5, 6, 0, 0, 3554, 3556, 3, 294, 147, 0, 3555, 3553, 1, 0, 0, 0, 3556, 3559, - 1, 0, 0, 0, 3557, 3555, 1, 0, 0, 0, 3557, 3558, 1, 0, 0, 0, 3558, 297, - 1, 0, 0, 0, 3559, 3557, 1, 0, 0, 0, 3560, 3562, 5, 46, 0, 0, 3561, 3563, - 3, 624, 312, 0, 3562, 3561, 1, 0, 0, 0, 3562, 3563, 1, 0, 0, 0, 3563, 3565, - 1, 0, 0, 0, 3564, 3566, 3, 300, 150, 0, 3565, 3564, 1, 0, 0, 0, 3565, 3566, - 1, 0, 0, 0, 3566, 3568, 1, 0, 0, 0, 3567, 3569, 3, 310, 155, 0, 3568, 3567, - 1, 0, 0, 0, 3568, 3569, 1, 0, 0, 0, 3569, 3570, 1, 0, 0, 0, 3570, 3571, - 5, 257, 0, 0, 3571, 3580, 3, 1394, 697, 0, 3572, 3573, 5, 234, 0, 0, 3573, - 3575, 3, 302, 151, 0, 3574, 3576, 3, 304, 152, 0, 3575, 3574, 1, 0, 0, - 0, 3575, 3576, 1, 0, 0, 0, 3576, 3578, 1, 0, 0, 0, 3577, 3579, 3, 308, - 154, 0, 3578, 3577, 1, 0, 0, 0, 3578, 3579, 1, 0, 0, 0, 3579, 3581, 1, - 0, 0, 0, 3580, 3572, 1, 0, 0, 0, 3580, 3581, 1, 0, 0, 0, 3581, 299, 1, - 0, 0, 0, 3582, 3583, 5, 371, 0, 0, 3583, 301, 1, 0, 0, 0, 3584, 3586, 3, - 1394, 697, 0, 3585, 3587, 3, 528, 264, 0, 3586, 3585, 1, 0, 0, 0, 3586, - 3587, 1, 0, 0, 0, 3587, 303, 1, 0, 0, 0, 3588, 3589, 5, 249, 0, 0, 3589, - 3590, 3, 302, 151, 0, 3590, 305, 1, 0, 0, 0, 3591, 3592, 5, 385, 0, 0, - 3592, 3596, 3, 302, 151, 0, 3593, 3594, 5, 281, 0, 0, 3594, 3596, 5, 385, - 0, 0, 3595, 3591, 1, 0, 0, 0, 3595, 3593, 1, 0, 0, 0, 3596, 307, 1, 0, - 0, 0, 3597, 3598, 3, 306, 153, 0, 3598, 309, 1, 0, 0, 0, 3599, 3600, 5, - 307, 0, 0, 3600, 311, 1, 0, 0, 0, 3601, 3602, 5, 46, 0, 0, 3602, 3603, - 5, 363, 0, 0, 3603, 3605, 3, 1394, 697, 0, 3604, 3606, 3, 314, 157, 0, - 3605, 3604, 1, 0, 0, 0, 3605, 3606, 1, 0, 0, 0, 3606, 3607, 1, 0, 0, 0, - 3607, 3608, 5, 265, 0, 0, 3608, 3610, 3, 1412, 706, 0, 3609, 3611, 3, 118, - 59, 0, 3610, 3609, 1, 0, 0, 0, 3610, 3611, 1, 0, 0, 0, 3611, 313, 1, 0, - 0, 0, 3612, 3613, 5, 294, 0, 0, 3613, 3614, 3, 1422, 711, 0, 3614, 315, - 1, 0, 0, 0, 3615, 3616, 5, 210, 0, 0, 3616, 3619, 5, 363, 0, 0, 3617, 3618, - 5, 239, 0, 0, 3618, 3620, 5, 409, 0, 0, 3619, 3617, 1, 0, 0, 0, 3619, 3620, - 1, 0, 0, 0, 3620, 3621, 1, 0, 0, 0, 3621, 3622, 3, 1394, 697, 0, 3622, - 317, 1, 0, 0, 0, 3623, 3624, 5, 46, 0, 0, 3624, 3628, 5, 223, 0, 0, 3625, - 3626, 5, 239, 0, 0, 3626, 3627, 5, 77, 0, 0, 3627, 3629, 5, 409, 0, 0, - 3628, 3625, 1, 0, 0, 0, 3628, 3629, 1, 0, 0, 0, 3629, 3630, 1, 0, 0, 0, - 3630, 3632, 3, 1394, 697, 0, 3631, 3633, 3, 16, 8, 0, 3632, 3631, 1, 0, - 0, 0, 3632, 3633, 1, 0, 0, 0, 3633, 3634, 1, 0, 0, 0, 3634, 3635, 3, 320, - 160, 0, 3635, 319, 1, 0, 0, 0, 3636, 3638, 3, 322, 161, 0, 3637, 3636, - 1, 0, 0, 0, 3638, 3641, 1, 0, 0, 0, 3639, 3637, 1, 0, 0, 0, 3639, 3640, - 1, 0, 0, 0, 3640, 321, 1, 0, 0, 0, 3641, 3639, 1, 0, 0, 0, 3642, 3643, - 5, 335, 0, 0, 3643, 3650, 3, 1394, 697, 0, 3644, 3645, 5, 387, 0, 0, 3645, - 3650, 3, 72, 36, 0, 3646, 3647, 5, 64, 0, 0, 3647, 3650, 3, 72, 36, 0, - 3648, 3650, 5, 169, 0, 0, 3649, 3642, 1, 0, 0, 0, 3649, 3644, 1, 0, 0, - 0, 3649, 3646, 1, 0, 0, 0, 3649, 3648, 1, 0, 0, 0, 3650, 323, 1, 0, 0, - 0, 3651, 3652, 5, 157, 0, 0, 3652, 3653, 5, 223, 0, 0, 3653, 3654, 3, 1394, - 697, 0, 3654, 3655, 5, 381, 0, 0, 3655, 3656, 3, 326, 163, 0, 3656, 325, - 1, 0, 0, 0, 3657, 3659, 3, 328, 164, 0, 3658, 3657, 1, 0, 0, 0, 3659, 3662, - 1, 0, 0, 0, 3660, 3658, 1, 0, 0, 0, 3660, 3661, 1, 0, 0, 0, 3661, 327, - 1, 0, 0, 0, 3662, 3660, 1, 0, 0, 0, 3663, 3664, 5, 94, 0, 0, 3664, 3665, - 3, 72, 36, 0, 3665, 329, 1, 0, 0, 0, 3666, 3667, 5, 157, 0, 0, 3667, 3668, - 5, 223, 0, 0, 3668, 3669, 3, 1394, 697, 0, 3669, 3670, 3, 40, 20, 0, 3670, - 3671, 3, 518, 259, 0, 3671, 3672, 3, 1394, 697, 0, 3672, 3771, 1, 0, 0, - 0, 3673, 3674, 5, 157, 0, 0, 3674, 3675, 5, 223, 0, 0, 3675, 3676, 3, 1394, - 697, 0, 3676, 3677, 3, 40, 20, 0, 3677, 3678, 3, 516, 258, 0, 3678, 3679, - 3, 526, 263, 0, 3679, 3771, 1, 0, 0, 0, 3680, 3681, 5, 157, 0, 0, 3681, - 3682, 5, 223, 0, 0, 3682, 3683, 3, 1394, 697, 0, 3683, 3684, 3, 40, 20, - 0, 3684, 3685, 5, 155, 0, 0, 3685, 3686, 3, 656, 328, 0, 3686, 3771, 1, - 0, 0, 0, 3687, 3688, 5, 157, 0, 0, 3688, 3689, 5, 223, 0, 0, 3689, 3690, - 3, 1394, 697, 0, 3690, 3691, 3, 40, 20, 0, 3691, 3692, 5, 41, 0, 0, 3692, - 3693, 5, 2, 0, 0, 3693, 3694, 3, 1126, 563, 0, 3694, 3695, 5, 36, 0, 0, - 3695, 3696, 3, 1126, 563, 0, 3696, 3697, 5, 3, 0, 0, 3697, 3771, 1, 0, - 0, 0, 3698, 3699, 5, 157, 0, 0, 3699, 3700, 5, 223, 0, 0, 3700, 3701, 3, - 1394, 697, 0, 3701, 3702, 3, 40, 20, 0, 3702, 3703, 5, 208, 0, 0, 3703, - 3704, 3, 1126, 563, 0, 3704, 3771, 1, 0, 0, 0, 3705, 3706, 5, 157, 0, 0, - 3706, 3707, 5, 223, 0, 0, 3707, 3708, 3, 1394, 697, 0, 3708, 3709, 3, 40, - 20, 0, 3709, 3710, 5, 230, 0, 0, 3710, 3711, 3, 632, 316, 0, 3711, 3771, - 1, 0, 0, 0, 3712, 3713, 5, 157, 0, 0, 3713, 3714, 5, 223, 0, 0, 3714, 3715, - 3, 1394, 697, 0, 3715, 3716, 3, 40, 20, 0, 3716, 3717, 5, 290, 0, 0, 3717, - 3718, 3, 694, 347, 0, 3718, 3771, 1, 0, 0, 0, 3719, 3720, 5, 157, 0, 0, - 3720, 3721, 5, 223, 0, 0, 3721, 3722, 3, 1394, 697, 0, 3722, 3723, 3, 40, - 20, 0, 3723, 3724, 5, 290, 0, 0, 3724, 3725, 5, 175, 0, 0, 3725, 3726, - 3, 526, 263, 0, 3726, 3727, 5, 100, 0, 0, 3727, 3728, 3, 1394, 697, 0, - 3728, 3771, 1, 0, 0, 0, 3729, 3730, 5, 157, 0, 0, 3730, 3731, 5, 223, 0, - 0, 3731, 3732, 3, 1394, 697, 0, 3732, 3733, 3, 40, 20, 0, 3733, 3734, 5, - 290, 0, 0, 3734, 3735, 5, 225, 0, 0, 3735, 3736, 3, 526, 263, 0, 3736, - 3737, 5, 100, 0, 0, 3737, 3738, 3, 1394, 697, 0, 3738, 3771, 1, 0, 0, 0, - 3739, 3740, 5, 157, 0, 0, 3740, 3741, 5, 223, 0, 0, 3741, 3742, 3, 1394, - 697, 0, 3742, 3743, 3, 40, 20, 0, 3743, 3744, 5, 308, 0, 0, 3744, 3745, - 3, 632, 316, 0, 3745, 3771, 1, 0, 0, 0, 3746, 3747, 5, 157, 0, 0, 3747, - 3748, 5, 223, 0, 0, 3748, 3749, 3, 1394, 697, 0, 3749, 3750, 3, 40, 20, - 0, 3750, 3751, 5, 463, 0, 0, 3751, 3752, 3, 632, 316, 0, 3752, 3771, 1, - 0, 0, 0, 3753, 3754, 5, 157, 0, 0, 3754, 3755, 5, 223, 0, 0, 3755, 3756, - 3, 1394, 697, 0, 3756, 3757, 3, 40, 20, 0, 3757, 3758, 5, 464, 0, 0, 3758, - 3759, 5, 62, 0, 0, 3759, 3760, 3, 1126, 563, 0, 3760, 3761, 5, 257, 0, - 0, 3761, 3762, 3, 1394, 697, 0, 3762, 3771, 1, 0, 0, 0, 3763, 3764, 5, - 157, 0, 0, 3764, 3765, 5, 223, 0, 0, 3765, 3766, 3, 1394, 697, 0, 3766, - 3767, 3, 40, 20, 0, 3767, 3768, 5, 372, 0, 0, 3768, 3769, 3, 1126, 563, - 0, 3769, 3771, 1, 0, 0, 0, 3770, 3666, 1, 0, 0, 0, 3770, 3673, 1, 0, 0, - 0, 3770, 3680, 1, 0, 0, 0, 3770, 3687, 1, 0, 0, 0, 3770, 3698, 1, 0, 0, - 0, 3770, 3705, 1, 0, 0, 0, 3770, 3712, 1, 0, 0, 0, 3770, 3719, 1, 0, 0, - 0, 3770, 3729, 1, 0, 0, 0, 3770, 3739, 1, 0, 0, 0, 3770, 3746, 1, 0, 0, - 0, 3770, 3753, 1, 0, 0, 0, 3770, 3763, 1, 0, 0, 0, 3771, 331, 1, 0, 0, - 0, 3772, 3773, 5, 46, 0, 0, 3773, 3774, 5, 63, 0, 0, 3774, 3775, 5, 193, - 0, 0, 3775, 3776, 5, 393, 0, 0, 3776, 3778, 3, 1394, 697, 0, 3777, 3779, - 3, 338, 169, 0, 3778, 3777, 1, 0, 0, 0, 3778, 3779, 1, 0, 0, 0, 3779, 3781, - 1, 0, 0, 0, 3780, 3782, 3, 342, 171, 0, 3781, 3780, 1, 0, 0, 0, 3781, 3782, - 1, 0, 0, 0, 3782, 333, 1, 0, 0, 0, 3783, 3784, 5, 234, 0, 0, 3784, 3792, - 3, 302, 151, 0, 3785, 3786, 5, 281, 0, 0, 3786, 3792, 5, 234, 0, 0, 3787, - 3788, 5, 385, 0, 0, 3788, 3792, 3, 302, 151, 0, 3789, 3790, 5, 281, 0, - 0, 3790, 3792, 5, 385, 0, 0, 3791, 3783, 1, 0, 0, 0, 3791, 3785, 1, 0, - 0, 0, 3791, 3787, 1, 0, 0, 0, 3791, 3789, 1, 0, 0, 0, 3792, 335, 1, 0, - 0, 0, 3793, 3795, 3, 334, 167, 0, 3794, 3793, 1, 0, 0, 0, 3795, 3796, 1, - 0, 0, 0, 3796, 3794, 1, 0, 0, 0, 3796, 3797, 1, 0, 0, 0, 3797, 337, 1, - 0, 0, 0, 3798, 3799, 3, 336, 168, 0, 3799, 339, 1, 0, 0, 0, 3800, 3801, - 5, 157, 0, 0, 3801, 3802, 5, 63, 0, 0, 3802, 3803, 5, 193, 0, 0, 3803, - 3804, 5, 393, 0, 0, 3804, 3806, 3, 1394, 697, 0, 3805, 3807, 3, 338, 169, - 0, 3806, 3805, 1, 0, 0, 0, 3806, 3807, 1, 0, 0, 0, 3807, 3808, 1, 0, 0, - 0, 3808, 3809, 3, 346, 173, 0, 3809, 3818, 1, 0, 0, 0, 3810, 3811, 5, 157, - 0, 0, 3811, 3812, 5, 63, 0, 0, 3812, 3813, 5, 193, 0, 0, 3813, 3814, 5, - 393, 0, 0, 3814, 3815, 3, 1394, 697, 0, 3815, 3816, 3, 336, 168, 0, 3816, - 3818, 1, 0, 0, 0, 3817, 3800, 1, 0, 0, 0, 3817, 3810, 1, 0, 0, 0, 3818, - 341, 1, 0, 0, 0, 3819, 3820, 5, 292, 0, 0, 3820, 3821, 5, 2, 0, 0, 3821, - 3822, 3, 344, 172, 0, 3822, 3823, 5, 3, 0, 0, 3823, 343, 1, 0, 0, 0, 3824, - 3829, 3, 352, 176, 0, 3825, 3826, 5, 6, 0, 0, 3826, 3828, 3, 352, 176, - 0, 3827, 3825, 1, 0, 0, 0, 3828, 3831, 1, 0, 0, 0, 3829, 3827, 1, 0, 0, - 0, 3829, 3830, 1, 0, 0, 0, 3830, 345, 1, 0, 0, 0, 3831, 3829, 1, 0, 0, - 0, 3832, 3833, 5, 292, 0, 0, 3833, 3834, 5, 2, 0, 0, 3834, 3835, 3, 348, - 174, 0, 3835, 3836, 5, 3, 0, 0, 3836, 347, 1, 0, 0, 0, 3837, 3842, 3, 350, - 175, 0, 3838, 3839, 5, 6, 0, 0, 3839, 3841, 3, 350, 175, 0, 3840, 3838, - 1, 0, 0, 0, 3841, 3844, 1, 0, 0, 0, 3842, 3840, 1, 0, 0, 0, 3842, 3843, - 1, 0, 0, 0, 3843, 349, 1, 0, 0, 0, 3844, 3842, 1, 0, 0, 0, 3845, 3853, - 3, 352, 176, 0, 3846, 3847, 5, 345, 0, 0, 3847, 3853, 3, 352, 176, 0, 3848, - 3849, 5, 152, 0, 0, 3849, 3853, 3, 352, 176, 0, 3850, 3851, 5, 210, 0, - 0, 3851, 3853, 3, 354, 177, 0, 3852, 3845, 1, 0, 0, 0, 3852, 3846, 1, 0, - 0, 0, 3852, 3848, 1, 0, 0, 0, 3852, 3850, 1, 0, 0, 0, 3853, 351, 1, 0, - 0, 0, 3854, 3855, 3, 354, 177, 0, 3855, 3856, 3, 356, 178, 0, 3856, 353, - 1, 0, 0, 0, 3857, 3858, 3, 1434, 717, 0, 3858, 355, 1, 0, 0, 0, 3859, 3860, - 3, 1412, 706, 0, 3860, 357, 1, 0, 0, 0, 3861, 3862, 5, 46, 0, 0, 3862, - 3863, 5, 343, 0, 0, 3863, 3865, 3, 1394, 697, 0, 3864, 3866, 3, 360, 180, - 0, 3865, 3864, 1, 0, 0, 0, 3865, 3866, 1, 0, 0, 0, 3866, 3868, 1, 0, 0, - 0, 3867, 3869, 3, 364, 182, 0, 3868, 3867, 1, 0, 0, 0, 3868, 3869, 1, 0, - 0, 0, 3869, 3870, 1, 0, 0, 0, 3870, 3871, 5, 63, 0, 0, 3871, 3872, 5, 193, - 0, 0, 3872, 3873, 5, 393, 0, 0, 3873, 3875, 3, 1394, 697, 0, 3874, 3876, - 3, 342, 171, 0, 3875, 3874, 1, 0, 0, 0, 3875, 3876, 1, 0, 0, 0, 3876, 3897, - 1, 0, 0, 0, 3877, 3878, 5, 46, 0, 0, 3878, 3879, 5, 343, 0, 0, 3879, 3880, - 5, 239, 0, 0, 3880, 3881, 5, 77, 0, 0, 3881, 3882, 5, 409, 0, 0, 3882, - 3884, 3, 1394, 697, 0, 3883, 3885, 3, 360, 180, 0, 3884, 3883, 1, 0, 0, - 0, 3884, 3885, 1, 0, 0, 0, 3885, 3887, 1, 0, 0, 0, 3886, 3888, 3, 364, - 182, 0, 3887, 3886, 1, 0, 0, 0, 3887, 3888, 1, 0, 0, 0, 3888, 3889, 1, - 0, 0, 0, 3889, 3890, 5, 63, 0, 0, 3890, 3891, 5, 193, 0, 0, 3891, 3892, - 5, 393, 0, 0, 3892, 3894, 3, 1394, 697, 0, 3893, 3895, 3, 342, 171, 0, - 3894, 3893, 1, 0, 0, 0, 3894, 3895, 1, 0, 0, 0, 3895, 3897, 1, 0, 0, 0, - 3896, 3861, 1, 0, 0, 0, 3896, 3877, 1, 0, 0, 0, 3897, 359, 1, 0, 0, 0, - 3898, 3899, 5, 372, 0, 0, 3899, 3900, 3, 1412, 706, 0, 3900, 361, 1, 0, - 0, 0, 3901, 3904, 5, 387, 0, 0, 3902, 3905, 3, 1412, 706, 0, 3903, 3905, - 5, 78, 0, 0, 3904, 3902, 1, 0, 0, 0, 3904, 3903, 1, 0, 0, 0, 3905, 363, + 1, 0, 0, 0, 3209, 3210, 5, 270, 0, 0, 3210, 3211, 5, 190, 0, 0, 3211, 215, + 1, 0, 0, 0, 3212, 3213, 5, 496, 0, 0, 3213, 3214, 3, 218, 109, 0, 3214, + 3215, 5, 497, 0, 0, 3215, 217, 1, 0, 0, 0, 3216, 3221, 3, 220, 110, 0, + 3217, 3218, 5, 500, 0, 0, 3218, 3220, 3, 220, 110, 0, 3219, 3217, 1, 0, + 0, 0, 3220, 3223, 1, 0, 0, 0, 3221, 3219, 1, 0, 0, 0, 3221, 3222, 1, 0, + 0, 0, 3222, 219, 1, 0, 0, 0, 3223, 3221, 1, 0, 0, 0, 3224, 3225, 3, 1428, + 714, 0, 3225, 221, 1, 0, 0, 0, 3226, 3227, 5, 184, 0, 0, 3227, 3228, 5, + 496, 0, 0, 3228, 3229, 3, 218, 109, 0, 3229, 3230, 5, 497, 0, 0, 3230, + 223, 1, 0, 0, 0, 3231, 3232, 5, 246, 0, 0, 3232, 3233, 7, 15, 0, 0, 3233, + 225, 1, 0, 0, 0, 3234, 3239, 3, 228, 114, 0, 3235, 3236, 5, 500, 0, 0, + 3236, 3238, 3, 228, 114, 0, 3237, 3235, 1, 0, 0, 0, 3238, 3241, 1, 0, 0, + 0, 3239, 3237, 1, 0, 0, 0, 3239, 3240, 1, 0, 0, 0, 3240, 227, 1, 0, 0, + 0, 3241, 3239, 1, 0, 0, 0, 3242, 3243, 3, 608, 304, 0, 3243, 3250, 5, 474, + 0, 0, 3244, 3251, 3, 690, 345, 0, 3245, 3246, 5, 293, 0, 0, 3246, 3247, + 5, 496, 0, 0, 3247, 3248, 3, 690, 345, 0, 3248, 3249, 5, 497, 0, 0, 3249, + 3251, 1, 0, 0, 0, 3250, 3244, 1, 0, 0, 0, 3250, 3245, 1, 0, 0, 0, 3251, + 229, 1, 0, 0, 0, 3252, 3253, 5, 471, 0, 0, 3253, 3254, 5, 496, 0, 0, 3254, + 3255, 3, 1172, 586, 0, 3255, 3256, 5, 497, 0, 0, 3256, 231, 1, 0, 0, 0, + 3257, 3266, 3, 234, 117, 0, 3258, 3266, 3, 236, 118, 0, 3259, 3260, 3, + 234, 117, 0, 3260, 3261, 3, 236, 118, 0, 3261, 3266, 1, 0, 0, 0, 3262, + 3263, 3, 236, 118, 0, 3263, 3264, 3, 234, 117, 0, 3264, 3266, 1, 0, 0, + 0, 3265, 3257, 1, 0, 0, 0, 3265, 3258, 1, 0, 0, 0, 3265, 3259, 1, 0, 0, + 0, 3265, 3262, 1, 0, 0, 0, 3266, 233, 1, 0, 0, 0, 3267, 3268, 5, 291, 0, + 0, 3268, 3269, 5, 452, 0, 0, 3269, 3270, 3, 238, 119, 0, 3270, 235, 1, + 0, 0, 0, 3271, 3272, 5, 291, 0, 0, 3272, 3273, 5, 106, 0, 0, 3273, 3274, + 3, 238, 119, 0, 3274, 237, 1, 0, 0, 0, 3275, 3276, 5, 270, 0, 0, 3276, + 3285, 5, 5, 0, 0, 3277, 3285, 5, 355, 0, 0, 3278, 3285, 5, 44, 0, 0, 3279, + 3280, 5, 384, 0, 0, 3280, 3282, 7, 16, 0, 0, 3281, 3283, 3, 216, 108, 0, + 3282, 3281, 1, 0, 0, 0, 3282, 3283, 1, 0, 0, 0, 3283, 3285, 1, 0, 0, 0, + 3284, 3275, 1, 0, 0, 0, 3284, 3277, 1, 0, 0, 0, 3284, 3278, 1, 0, 0, 0, + 3284, 3279, 1, 0, 0, 0, 3285, 239, 1, 0, 0, 0, 3286, 3287, 5, 191, 0, 0, + 3287, 3288, 5, 496, 0, 0, 3288, 3289, 3, 1390, 695, 0, 3289, 3290, 5, 497, + 0, 0, 3290, 241, 1, 0, 0, 0, 3291, 3292, 3, 244, 122, 0, 3292, 243, 1, + 0, 0, 0, 3293, 3294, 5, 312, 0, 0, 3294, 3295, 5, 40, 0, 0, 3295, 3296, + 3, 1428, 714, 0, 3296, 3297, 5, 496, 0, 0, 3297, 3298, 3, 246, 123, 0, + 3298, 3299, 5, 497, 0, 0, 3299, 245, 1, 0, 0, 0, 3300, 3305, 3, 248, 124, + 0, 3301, 3302, 5, 500, 0, 0, 3302, 3304, 3, 248, 124, 0, 3303, 3301, 1, + 0, 0, 0, 3304, 3307, 1, 0, 0, 0, 3305, 3303, 1, 0, 0, 0, 3305, 3306, 1, + 0, 0, 0, 3306, 247, 1, 0, 0, 0, 3307, 3305, 1, 0, 0, 0, 3308, 3310, 3, + 1428, 714, 0, 3309, 3311, 3, 614, 307, 0, 3310, 3309, 1, 0, 0, 0, 3310, + 3311, 1, 0, 0, 0, 3311, 3313, 1, 0, 0, 0, 3312, 3314, 3, 616, 308, 0, 3313, + 3312, 1, 0, 0, 0, 3313, 3314, 1, 0, 0, 0, 3314, 3332, 1, 0, 0, 0, 3315, + 3317, 3, 1224, 612, 0, 3316, 3318, 3, 614, 307, 0, 3317, 3316, 1, 0, 0, + 0, 3317, 3318, 1, 0, 0, 0, 3318, 3320, 1, 0, 0, 0, 3319, 3321, 3, 616, + 308, 0, 3320, 3319, 1, 0, 0, 0, 3320, 3321, 1, 0, 0, 0, 3321, 3332, 1, + 0, 0, 0, 3322, 3323, 5, 496, 0, 0, 3323, 3324, 3, 1172, 586, 0, 3324, 3326, + 5, 497, 0, 0, 3325, 3327, 3, 614, 307, 0, 3326, 3325, 1, 0, 0, 0, 3326, + 3327, 1, 0, 0, 0, 3327, 3329, 1, 0, 0, 0, 3328, 3330, 3, 616, 308, 0, 3329, + 3328, 1, 0, 0, 0, 3329, 3330, 1, 0, 0, 0, 3330, 3332, 1, 0, 0, 0, 3331, + 3308, 1, 0, 0, 0, 3331, 3315, 1, 0, 0, 0, 3331, 3322, 1, 0, 0, 0, 3332, + 249, 1, 0, 0, 0, 3333, 3334, 5, 454, 0, 0, 3334, 3335, 3, 1396, 698, 0, + 3335, 251, 1, 0, 0, 0, 3336, 3337, 5, 474, 0, 0, 3337, 3341, 3, 116, 58, + 0, 3338, 3339, 5, 476, 0, 0, 3339, 3341, 5, 288, 0, 0, 3340, 3336, 1, 0, + 0, 0, 3340, 3338, 1, 0, 0, 0, 3341, 253, 1, 0, 0, 0, 3342, 3343, 5, 291, + 0, 0, 3343, 3349, 5, 65, 0, 0, 3344, 3350, 5, 121, 0, 0, 3345, 3346, 5, + 106, 0, 0, 3346, 3350, 5, 367, 0, 0, 3347, 3348, 5, 326, 0, 0, 3348, 3350, + 5, 367, 0, 0, 3349, 3344, 1, 0, 0, 0, 3349, 3345, 1, 0, 0, 0, 3349, 3347, + 1, 0, 0, 0, 3350, 255, 1, 0, 0, 0, 3351, 3352, 5, 419, 0, 0, 3352, 3353, + 3, 1396, 698, 0, 3353, 257, 1, 0, 0, 0, 3354, 3355, 5, 454, 0, 0, 3355, + 3356, 5, 188, 0, 0, 3356, 3357, 5, 419, 0, 0, 3357, 3358, 3, 1396, 698, + 0, 3358, 259, 1, 0, 0, 0, 3359, 3360, 5, 454, 0, 0, 3360, 3361, 5, 188, + 0, 0, 3361, 3362, 3, 1396, 698, 0, 3362, 261, 1, 0, 0, 0, 3363, 3364, 5, + 80, 0, 0, 3364, 3368, 5, 401, 0, 0, 3365, 3366, 5, 177, 0, 0, 3366, 3367, + 5, 274, 0, 0, 3367, 3369, 5, 139, 0, 0, 3368, 3365, 1, 0, 0, 0, 3368, 3369, + 1, 0, 0, 0, 3369, 3370, 1, 0, 0, 0, 3370, 3372, 3, 526, 263, 0, 3371, 3373, + 3, 878, 439, 0, 3372, 3371, 1, 0, 0, 0, 3372, 3373, 1, 0, 0, 0, 3373, 3374, + 1, 0, 0, 0, 3374, 3375, 5, 291, 0, 0, 3375, 3376, 3, 1334, 667, 0, 3376, + 3377, 5, 159, 0, 0, 3377, 3378, 3, 1064, 532, 0, 3378, 263, 1, 0, 0, 0, + 3379, 3380, 5, 12, 0, 0, 3380, 3383, 5, 401, 0, 0, 3381, 3382, 5, 177, + 0, 0, 3382, 3384, 5, 139, 0, 0, 3383, 3381, 1, 0, 0, 0, 3383, 3384, 1, + 0, 0, 0, 3384, 3385, 1, 0, 0, 0, 3385, 3386, 3, 526, 263, 0, 3386, 3387, + 5, 384, 0, 0, 3387, 3388, 5, 401, 0, 0, 3388, 3389, 3, 1420, 710, 0, 3389, + 265, 1, 0, 0, 0, 3390, 3392, 5, 80, 0, 0, 3391, 3393, 3, 174, 87, 0, 3392, + 3391, 1, 0, 0, 0, 3392, 3393, 1, 0, 0, 0, 3393, 3394, 1, 0, 0, 0, 3394, + 3398, 5, 416, 0, 0, 3395, 3396, 5, 177, 0, 0, 3396, 3397, 5, 274, 0, 0, + 3397, 3399, 5, 139, 0, 0, 3398, 3395, 1, 0, 0, 0, 3398, 3399, 1, 0, 0, + 0, 3399, 3400, 1, 0, 0, 0, 3400, 3401, 3, 268, 134, 0, 3401, 3402, 5, 19, + 0, 0, 3402, 3404, 3, 968, 484, 0, 3403, 3405, 3, 270, 135, 0, 3404, 3403, + 1, 0, 0, 0, 3404, 3405, 1, 0, 0, 0, 3405, 267, 1, 0, 0, 0, 3406, 3408, + 3, 1392, 696, 0, 3407, 3409, 3, 216, 108, 0, 3408, 3407, 1, 0, 0, 0, 3408, + 3409, 1, 0, 0, 0, 3409, 3411, 1, 0, 0, 0, 3410, 3412, 3, 250, 125, 0, 3411, + 3410, 1, 0, 0, 0, 3411, 3412, 1, 0, 0, 0, 3412, 3414, 1, 0, 0, 0, 3413, + 3415, 3, 252, 126, 0, 3414, 3413, 1, 0, 0, 0, 3414, 3415, 1, 0, 0, 0, 3415, + 3417, 1, 0, 0, 0, 3416, 3418, 3, 254, 127, 0, 3417, 3416, 1, 0, 0, 0, 3417, + 3418, 1, 0, 0, 0, 3418, 3420, 1, 0, 0, 0, 3419, 3421, 3, 256, 128, 0, 3420, + 3419, 1, 0, 0, 0, 3420, 3421, 1, 0, 0, 0, 3421, 269, 1, 0, 0, 0, 3422, + 3426, 5, 474, 0, 0, 3423, 3427, 5, 94, 0, 0, 3424, 3425, 5, 270, 0, 0, + 3425, 3427, 5, 94, 0, 0, 3426, 3423, 1, 0, 0, 0, 3426, 3424, 1, 0, 0, 0, + 3427, 271, 1, 0, 0, 0, 3428, 3430, 5, 80, 0, 0, 3429, 3431, 3, 276, 138, + 0, 3430, 3429, 1, 0, 0, 0, 3430, 3431, 1, 0, 0, 0, 3431, 3432, 1, 0, 0, + 0, 3432, 3433, 5, 248, 0, 0, 3433, 3437, 5, 466, 0, 0, 3434, 3435, 5, 177, + 0, 0, 3435, 3436, 5, 274, 0, 0, 3436, 3438, 5, 139, 0, 0, 3437, 3434, 1, + 0, 0, 0, 3437, 3438, 1, 0, 0, 0, 3438, 3439, 1, 0, 0, 0, 3439, 3440, 3, + 274, 137, 0, 3440, 3441, 5, 19, 0, 0, 3441, 3443, 3, 968, 484, 0, 3442, + 3444, 3, 270, 135, 0, 3443, 3442, 1, 0, 0, 0, 3443, 3444, 1, 0, 0, 0, 3444, + 273, 1, 0, 0, 0, 3445, 3447, 3, 1392, 696, 0, 3446, 3448, 3, 216, 108, + 0, 3447, 3446, 1, 0, 0, 0, 3447, 3448, 1, 0, 0, 0, 3448, 3450, 1, 0, 0, + 0, 3449, 3451, 3, 250, 125, 0, 3450, 3449, 1, 0, 0, 0, 3450, 3451, 1, 0, + 0, 0, 3451, 3453, 1, 0, 0, 0, 3452, 3454, 3, 118, 59, 0, 3453, 3452, 1, + 0, 0, 0, 3453, 3454, 1, 0, 0, 0, 3454, 3456, 1, 0, 0, 0, 3455, 3457, 3, + 256, 128, 0, 3456, 3455, 1, 0, 0, 0, 3456, 3457, 1, 0, 0, 0, 3457, 275, + 1, 0, 0, 0, 3458, 3459, 5, 450, 0, 0, 3459, 277, 1, 0, 0, 0, 3460, 3461, + 5, 345, 0, 0, 3461, 3462, 5, 248, 0, 0, 3462, 3464, 5, 466, 0, 0, 3463, + 3465, 3, 598, 299, 0, 3464, 3463, 1, 0, 0, 0, 3464, 3465, 1, 0, 0, 0, 3465, + 3466, 1, 0, 0, 0, 3466, 3468, 3, 1392, 696, 0, 3467, 3469, 3, 270, 135, + 0, 3468, 3467, 1, 0, 0, 0, 3468, 3469, 1, 0, 0, 0, 3469, 279, 1, 0, 0, + 0, 3470, 3472, 5, 80, 0, 0, 3471, 3473, 3, 174, 87, 0, 3472, 3471, 1, 0, + 0, 0, 3472, 3473, 1, 0, 0, 0, 3473, 3474, 1, 0, 0, 0, 3474, 3478, 5, 378, + 0, 0, 3475, 3476, 5, 177, 0, 0, 3476, 3477, 5, 274, 0, 0, 3477, 3479, 5, + 139, 0, 0, 3478, 3475, 1, 0, 0, 0, 3478, 3479, 1, 0, 0, 0, 3479, 3480, + 1, 0, 0, 0, 3480, 3482, 3, 1392, 696, 0, 3481, 3483, 3, 284, 142, 0, 3482, + 3481, 1, 0, 0, 0, 3482, 3483, 1, 0, 0, 0, 3483, 281, 1, 0, 0, 0, 3484, + 3485, 5, 12, 0, 0, 3485, 3488, 5, 378, 0, 0, 3486, 3487, 5, 177, 0, 0, + 3487, 3489, 5, 139, 0, 0, 3488, 3486, 1, 0, 0, 0, 3488, 3489, 1, 0, 0, + 0, 3489, 3490, 1, 0, 0, 0, 3490, 3491, 3, 1392, 696, 0, 3491, 3492, 3, + 288, 144, 0, 3492, 283, 1, 0, 0, 0, 3493, 3494, 3, 288, 144, 0, 3494, 285, + 1, 0, 0, 0, 3495, 3496, 5, 496, 0, 0, 3496, 3497, 3, 288, 144, 0, 3497, + 3498, 5, 497, 0, 0, 3498, 287, 1, 0, 0, 0, 3499, 3501, 3, 290, 145, 0, + 3500, 3499, 1, 0, 0, 0, 3501, 3502, 1, 0, 0, 0, 3502, 3500, 1, 0, 0, 0, + 3502, 3503, 1, 0, 0, 0, 3503, 289, 1, 0, 0, 0, 3504, 3505, 5, 19, 0, 0, + 3505, 3541, 3, 1130, 565, 0, 3506, 3507, 5, 41, 0, 0, 3507, 3541, 3, 294, + 147, 0, 3508, 3541, 5, 93, 0, 0, 3509, 3511, 5, 186, 0, 0, 3510, 3512, + 3, 292, 146, 0, 3511, 3510, 1, 0, 0, 0, 3511, 3512, 1, 0, 0, 0, 3512, 3513, + 1, 0, 0, 0, 3513, 3541, 3, 294, 147, 0, 3514, 3541, 5, 244, 0, 0, 3515, + 3516, 5, 249, 0, 0, 3516, 3541, 3, 294, 147, 0, 3517, 3518, 5, 254, 0, + 0, 3518, 3541, 3, 294, 147, 0, 3519, 3520, 5, 270, 0, 0, 3520, 3541, 7, + 17, 0, 0, 3521, 3522, 5, 306, 0, 0, 3522, 3523, 5, 40, 0, 0, 3523, 3541, + 3, 526, 263, 0, 3524, 3525, 5, 378, 0, 0, 3525, 3526, 5, 258, 0, 0, 3526, + 3541, 3, 526, 263, 0, 3527, 3529, 5, 399, 0, 0, 3528, 3530, 3, 16, 8, 0, + 3529, 3528, 1, 0, 0, 0, 3529, 3530, 1, 0, 0, 0, 3530, 3531, 1, 0, 0, 0, + 3531, 3541, 3, 294, 147, 0, 3532, 3534, 5, 354, 0, 0, 3533, 3535, 3, 16, + 8, 0, 3534, 3533, 1, 0, 0, 0, 3534, 3535, 1, 0, 0, 0, 3535, 3537, 1, 0, + 0, 0, 3536, 3538, 3, 294, 147, 0, 3537, 3536, 1, 0, 0, 0, 3537, 3538, 1, + 0, 0, 0, 3538, 3541, 1, 0, 0, 0, 3539, 3541, 5, 450, 0, 0, 3540, 3504, + 1, 0, 0, 0, 3540, 3506, 1, 0, 0, 0, 3540, 3508, 1, 0, 0, 0, 3540, 3509, + 1, 0, 0, 0, 3540, 3514, 1, 0, 0, 0, 3540, 3515, 1, 0, 0, 0, 3540, 3517, + 1, 0, 0, 0, 3540, 3519, 1, 0, 0, 0, 3540, 3521, 1, 0, 0, 0, 3540, 3524, + 1, 0, 0, 0, 3540, 3527, 1, 0, 0, 0, 3540, 3532, 1, 0, 0, 0, 3540, 3539, + 1, 0, 0, 0, 3541, 291, 1, 0, 0, 0, 3542, 3543, 5, 40, 0, 0, 3543, 293, + 1, 0, 0, 0, 3544, 3551, 3, 1410, 705, 0, 3545, 3546, 5, 506, 0, 0, 3546, + 3551, 3, 1410, 705, 0, 3547, 3548, 5, 507, 0, 0, 3548, 3551, 3, 1410, 705, + 0, 3549, 3551, 3, 1420, 710, 0, 3550, 3544, 1, 0, 0, 0, 3550, 3545, 1, + 0, 0, 0, 3550, 3547, 1, 0, 0, 0, 3550, 3549, 1, 0, 0, 0, 3551, 295, 1, + 0, 0, 0, 3552, 3557, 3, 294, 147, 0, 3553, 3554, 5, 500, 0, 0, 3554, 3556, + 3, 294, 147, 0, 3555, 3553, 1, 0, 0, 0, 3556, 3559, 1, 0, 0, 0, 3557, 3555, + 1, 0, 0, 0, 3557, 3558, 1, 0, 0, 0, 3558, 297, 1, 0, 0, 0, 3559, 3557, + 1, 0, 0, 0, 3560, 3562, 5, 80, 0, 0, 3561, 3563, 3, 624, 312, 0, 3562, + 3561, 1, 0, 0, 0, 3562, 3563, 1, 0, 0, 0, 3563, 3565, 1, 0, 0, 0, 3564, + 3566, 3, 300, 150, 0, 3565, 3564, 1, 0, 0, 0, 3565, 3566, 1, 0, 0, 0, 3566, + 3568, 1, 0, 0, 0, 3567, 3569, 3, 310, 155, 0, 3568, 3567, 1, 0, 0, 0, 3568, + 3569, 1, 0, 0, 0, 3569, 3570, 1, 0, 0, 0, 3570, 3571, 5, 225, 0, 0, 3571, + 3580, 3, 1396, 698, 0, 3572, 3573, 5, 171, 0, 0, 3573, 3575, 3, 302, 151, + 0, 3574, 3576, 3, 304, 152, 0, 3575, 3574, 1, 0, 0, 0, 3575, 3576, 1, 0, + 0, 0, 3576, 3578, 1, 0, 0, 0, 3577, 3579, 3, 308, 154, 0, 3578, 3577, 1, + 0, 0, 0, 3578, 3579, 1, 0, 0, 0, 3579, 3581, 1, 0, 0, 0, 3580, 3572, 1, + 0, 0, 0, 3580, 3581, 1, 0, 0, 0, 3581, 299, 1, 0, 0, 0, 3582, 3583, 5, + 438, 0, 0, 3583, 301, 1, 0, 0, 0, 3584, 3586, 3, 1396, 698, 0, 3585, 3587, + 3, 528, 264, 0, 3586, 3585, 1, 0, 0, 0, 3586, 3587, 1, 0, 0, 0, 3587, 303, + 1, 0, 0, 0, 3588, 3589, 5, 193, 0, 0, 3589, 3590, 3, 302, 151, 0, 3590, + 305, 1, 0, 0, 0, 3591, 3592, 5, 458, 0, 0, 3592, 3596, 3, 302, 151, 0, + 3593, 3594, 5, 270, 0, 0, 3594, 3596, 5, 458, 0, 0, 3595, 3591, 1, 0, 0, + 0, 3595, 3593, 1, 0, 0, 0, 3596, 307, 1, 0, 0, 0, 3597, 3598, 3, 306, 153, + 0, 3598, 309, 1, 0, 0, 0, 3599, 3600, 5, 330, 0, 0, 3600, 311, 1, 0, 0, + 0, 3601, 3602, 5, 80, 0, 0, 3602, 3603, 5, 419, 0, 0, 3603, 3605, 3, 1396, + 698, 0, 3604, 3606, 3, 314, 157, 0, 3605, 3604, 1, 0, 0, 0, 3605, 3606, + 1, 0, 0, 0, 3606, 3607, 1, 0, 0, 0, 3607, 3608, 5, 241, 0, 0, 3608, 3610, + 3, 1414, 707, 0, 3609, 3611, 3, 118, 59, 0, 3610, 3609, 1, 0, 0, 0, 3610, + 3611, 1, 0, 0, 0, 3611, 313, 1, 0, 0, 0, 3612, 3613, 5, 307, 0, 0, 3613, + 3614, 3, 1424, 712, 0, 3614, 315, 1, 0, 0, 0, 3615, 3616, 5, 121, 0, 0, + 3616, 3619, 5, 419, 0, 0, 3617, 3618, 5, 177, 0, 0, 3618, 3620, 5, 139, + 0, 0, 3619, 3617, 1, 0, 0, 0, 3619, 3620, 1, 0, 0, 0, 3620, 3621, 1, 0, + 0, 0, 3621, 3622, 3, 1396, 698, 0, 3622, 317, 1, 0, 0, 0, 3623, 3624, 5, + 80, 0, 0, 3624, 3628, 5, 142, 0, 0, 3625, 3626, 5, 177, 0, 0, 3626, 3627, + 5, 274, 0, 0, 3627, 3629, 5, 139, 0, 0, 3628, 3625, 1, 0, 0, 0, 3628, 3629, + 1, 0, 0, 0, 3629, 3630, 1, 0, 0, 0, 3630, 3632, 3, 1396, 698, 0, 3631, + 3633, 3, 16, 8, 0, 3632, 3631, 1, 0, 0, 0, 3632, 3633, 1, 0, 0, 0, 3633, + 3634, 1, 0, 0, 0, 3634, 3635, 3, 320, 160, 0, 3635, 319, 1, 0, 0, 0, 3636, + 3638, 3, 322, 161, 0, 3637, 3636, 1, 0, 0, 0, 3638, 3641, 1, 0, 0, 0, 3639, + 3637, 1, 0, 0, 0, 3639, 3640, 1, 0, 0, 0, 3640, 321, 1, 0, 0, 0, 3641, + 3639, 1, 0, 0, 0, 3642, 3643, 5, 371, 0, 0, 3643, 3650, 3, 1396, 698, 0, + 3644, 3645, 5, 465, 0, 0, 3645, 3650, 3, 72, 36, 0, 3646, 3647, 5, 159, + 0, 0, 3647, 3650, 3, 72, 36, 0, 3648, 3650, 5, 44, 0, 0, 3649, 3642, 1, + 0, 0, 0, 3649, 3644, 1, 0, 0, 0, 3649, 3646, 1, 0, 0, 0, 3649, 3648, 1, + 0, 0, 0, 3650, 323, 1, 0, 0, 0, 3651, 3652, 5, 12, 0, 0, 3652, 3653, 5, + 142, 0, 0, 3653, 3654, 3, 1396, 698, 0, 3654, 3655, 5, 452, 0, 0, 3655, + 3656, 3, 326, 163, 0, 3656, 325, 1, 0, 0, 0, 3657, 3659, 3, 328, 164, 0, + 3658, 3657, 1, 0, 0, 0, 3659, 3662, 1, 0, 0, 0, 3660, 3658, 1, 0, 0, 0, + 3660, 3661, 1, 0, 0, 0, 3661, 327, 1, 0, 0, 0, 3662, 3660, 1, 0, 0, 0, + 3663, 3664, 5, 429, 0, 0, 3664, 3665, 3, 72, 36, 0, 3665, 329, 1, 0, 0, + 0, 3666, 3667, 5, 12, 0, 0, 3667, 3668, 5, 142, 0, 0, 3668, 3669, 3, 1396, + 698, 0, 3669, 3670, 3, 40, 20, 0, 3670, 3671, 3, 518, 259, 0, 3671, 3672, + 3, 1396, 698, 0, 3672, 3771, 1, 0, 0, 0, 3673, 3674, 5, 12, 0, 0, 3674, + 3675, 5, 142, 0, 0, 3675, 3676, 3, 1396, 698, 0, 3676, 3677, 3, 40, 20, + 0, 3677, 3678, 3, 516, 258, 0, 3678, 3679, 3, 526, 263, 0, 3679, 3771, + 1, 0, 0, 0, 3680, 3681, 5, 12, 0, 0, 3681, 3682, 5, 142, 0, 0, 3682, 3683, + 3, 1396, 698, 0, 3683, 3684, 3, 40, 20, 0, 3684, 3685, 5, 9, 0, 0, 3685, + 3686, 3, 656, 328, 0, 3686, 3771, 1, 0, 0, 0, 3687, 3688, 5, 12, 0, 0, + 3688, 3689, 5, 142, 0, 0, 3689, 3690, 3, 1396, 698, 0, 3690, 3691, 3, 40, + 20, 0, 3691, 3692, 5, 47, 0, 0, 3692, 3693, 5, 496, 0, 0, 3693, 3694, 3, + 1126, 563, 0, 3694, 3695, 5, 19, 0, 0, 3695, 3696, 3, 1126, 563, 0, 3696, + 3697, 5, 497, 0, 0, 3697, 3771, 1, 0, 0, 0, 3698, 3699, 5, 12, 0, 0, 3699, + 3700, 5, 142, 0, 0, 3700, 3701, 3, 1396, 698, 0, 3701, 3702, 3, 40, 20, + 0, 3702, 3703, 5, 119, 0, 0, 3703, 3704, 3, 1126, 563, 0, 3704, 3771, 1, + 0, 0, 0, 3705, 3706, 5, 12, 0, 0, 3706, 3707, 5, 142, 0, 0, 3707, 3708, + 3, 1396, 698, 0, 3708, 3709, 3, 40, 20, 0, 3709, 3710, 5, 161, 0, 0, 3710, + 3711, 3, 632, 316, 0, 3711, 3771, 1, 0, 0, 0, 3712, 3713, 5, 12, 0, 0, + 3713, 3714, 5, 142, 0, 0, 3714, 3715, 3, 1396, 698, 0, 3715, 3716, 3, 40, + 20, 0, 3716, 3717, 5, 293, 0, 0, 3717, 3718, 3, 694, 347, 0, 3718, 3771, + 1, 0, 0, 0, 3719, 3720, 5, 12, 0, 0, 3720, 3721, 5, 142, 0, 0, 3721, 3722, + 3, 1396, 698, 0, 3722, 3723, 3, 40, 20, 0, 3723, 3724, 5, 293, 0, 0, 3724, + 3725, 5, 55, 0, 0, 3725, 3726, 3, 526, 263, 0, 3726, 3727, 5, 454, 0, 0, + 3727, 3728, 3, 1396, 698, 0, 3728, 3771, 1, 0, 0, 0, 3729, 3730, 5, 12, + 0, 0, 3730, 3731, 5, 142, 0, 0, 3731, 3732, 3, 1396, 698, 0, 3732, 3733, + 3, 40, 20, 0, 3733, 3734, 5, 293, 0, 0, 3734, 3735, 5, 146, 0, 0, 3735, + 3736, 3, 526, 263, 0, 3736, 3737, 5, 454, 0, 0, 3737, 3738, 3, 1396, 698, + 0, 3738, 3771, 1, 0, 0, 0, 3739, 3740, 5, 12, 0, 0, 3740, 3741, 5, 142, + 0, 0, 3741, 3742, 3, 1396, 698, 0, 3742, 3743, 3, 40, 20, 0, 3743, 3744, + 5, 331, 0, 0, 3744, 3745, 3, 632, 316, 0, 3745, 3771, 1, 0, 0, 0, 3746, + 3747, 5, 12, 0, 0, 3747, 3748, 5, 142, 0, 0, 3748, 3749, 3, 1396, 698, + 0, 3749, 3750, 3, 40, 20, 0, 3750, 3751, 5, 364, 0, 0, 3751, 3752, 3, 632, + 316, 0, 3752, 3771, 1, 0, 0, 0, 3753, 3754, 5, 12, 0, 0, 3754, 3755, 5, + 142, 0, 0, 3755, 3756, 3, 1396, 698, 0, 3756, 3757, 3, 40, 20, 0, 3757, + 3758, 5, 432, 0, 0, 3758, 3759, 5, 153, 0, 0, 3759, 3760, 3, 1126, 563, + 0, 3760, 3761, 5, 225, 0, 0, 3761, 3762, 3, 1396, 698, 0, 3762, 3771, 1, + 0, 0, 0, 3763, 3764, 5, 12, 0, 0, 3764, 3765, 5, 142, 0, 0, 3765, 3766, + 3, 1396, 698, 0, 3766, 3767, 3, 40, 20, 0, 3767, 3768, 5, 439, 0, 0, 3768, + 3769, 3, 1126, 563, 0, 3769, 3771, 1, 0, 0, 0, 3770, 3666, 1, 0, 0, 0, + 3770, 3673, 1, 0, 0, 0, 3770, 3680, 1, 0, 0, 0, 3770, 3687, 1, 0, 0, 0, + 3770, 3698, 1, 0, 0, 0, 3770, 3705, 1, 0, 0, 0, 3770, 3712, 1, 0, 0, 0, + 3770, 3719, 1, 0, 0, 0, 3770, 3729, 1, 0, 0, 0, 3770, 3739, 1, 0, 0, 0, + 3770, 3746, 1, 0, 0, 0, 3770, 3753, 1, 0, 0, 0, 3770, 3763, 1, 0, 0, 0, + 3771, 331, 1, 0, 0, 0, 3772, 3773, 5, 80, 0, 0, 3773, 3774, 5, 155, 0, + 0, 3774, 3775, 5, 94, 0, 0, 3775, 3776, 5, 478, 0, 0, 3776, 3778, 3, 1396, + 698, 0, 3777, 3779, 3, 338, 169, 0, 3778, 3777, 1, 0, 0, 0, 3778, 3779, + 1, 0, 0, 0, 3779, 3781, 1, 0, 0, 0, 3780, 3782, 3, 342, 171, 0, 3781, 3780, + 1, 0, 0, 0, 3781, 3782, 1, 0, 0, 0, 3782, 333, 1, 0, 0, 0, 3783, 3784, + 5, 171, 0, 0, 3784, 3792, 3, 302, 151, 0, 3785, 3786, 5, 270, 0, 0, 3786, + 3792, 5, 171, 0, 0, 3787, 3788, 5, 458, 0, 0, 3788, 3792, 3, 302, 151, + 0, 3789, 3790, 5, 270, 0, 0, 3790, 3792, 5, 458, 0, 0, 3791, 3783, 1, 0, + 0, 0, 3791, 3785, 1, 0, 0, 0, 3791, 3787, 1, 0, 0, 0, 3791, 3789, 1, 0, + 0, 0, 3792, 335, 1, 0, 0, 0, 3793, 3795, 3, 334, 167, 0, 3794, 3793, 1, + 0, 0, 0, 3795, 3796, 1, 0, 0, 0, 3796, 3794, 1, 0, 0, 0, 3796, 3797, 1, + 0, 0, 0, 3797, 337, 1, 0, 0, 0, 3798, 3799, 3, 336, 168, 0, 3799, 339, + 1, 0, 0, 0, 3800, 3801, 5, 12, 0, 0, 3801, 3802, 5, 155, 0, 0, 3802, 3803, + 5, 94, 0, 0, 3803, 3804, 5, 478, 0, 0, 3804, 3806, 3, 1396, 698, 0, 3805, + 3807, 3, 338, 169, 0, 3806, 3805, 1, 0, 0, 0, 3806, 3807, 1, 0, 0, 0, 3807, + 3808, 1, 0, 0, 0, 3808, 3809, 3, 346, 173, 0, 3809, 3818, 1, 0, 0, 0, 3810, + 3811, 5, 12, 0, 0, 3811, 3812, 5, 155, 0, 0, 3812, 3813, 5, 94, 0, 0, 3813, + 3814, 5, 478, 0, 0, 3814, 3815, 3, 1396, 698, 0, 3815, 3816, 3, 336, 168, + 0, 3816, 3818, 1, 0, 0, 0, 3817, 3800, 1, 0, 0, 0, 3817, 3810, 1, 0, 0, + 0, 3818, 341, 1, 0, 0, 0, 3819, 3820, 5, 295, 0, 0, 3820, 3821, 5, 496, + 0, 0, 3821, 3822, 3, 344, 172, 0, 3822, 3823, 5, 497, 0, 0, 3823, 343, + 1, 0, 0, 0, 3824, 3829, 3, 352, 176, 0, 3825, 3826, 5, 500, 0, 0, 3826, + 3828, 3, 352, 176, 0, 3827, 3825, 1, 0, 0, 0, 3828, 3831, 1, 0, 0, 0, 3829, + 3827, 1, 0, 0, 0, 3829, 3830, 1, 0, 0, 0, 3830, 345, 1, 0, 0, 0, 3831, + 3829, 1, 0, 0, 0, 3832, 3833, 5, 295, 0, 0, 3833, 3834, 5, 496, 0, 0, 3834, + 3835, 3, 348, 174, 0, 3835, 3836, 5, 497, 0, 0, 3836, 347, 1, 0, 0, 0, + 3837, 3842, 3, 350, 175, 0, 3838, 3839, 5, 500, 0, 0, 3839, 3841, 3, 350, + 175, 0, 3840, 3838, 1, 0, 0, 0, 3841, 3844, 1, 0, 0, 0, 3842, 3840, 1, + 0, 0, 0, 3842, 3843, 1, 0, 0, 0, 3843, 349, 1, 0, 0, 0, 3844, 3842, 1, + 0, 0, 0, 3845, 3853, 3, 352, 176, 0, 3846, 3847, 5, 384, 0, 0, 3847, 3853, + 3, 352, 176, 0, 3848, 3849, 5, 6, 0, 0, 3849, 3853, 3, 352, 176, 0, 3850, + 3851, 5, 121, 0, 0, 3851, 3853, 3, 354, 177, 0, 3852, 3845, 1, 0, 0, 0, + 3852, 3846, 1, 0, 0, 0, 3852, 3848, 1, 0, 0, 0, 3852, 3850, 1, 0, 0, 0, + 3853, 351, 1, 0, 0, 0, 3854, 3855, 3, 354, 177, 0, 3855, 3856, 3, 356, + 178, 0, 3856, 353, 1, 0, 0, 0, 3857, 3858, 3, 1436, 718, 0, 3858, 355, + 1, 0, 0, 0, 3859, 3860, 3, 1414, 707, 0, 3860, 357, 1, 0, 0, 0, 3861, 3862, + 5, 80, 0, 0, 3862, 3863, 5, 381, 0, 0, 3863, 3865, 3, 1396, 698, 0, 3864, + 3866, 3, 360, 180, 0, 3865, 3864, 1, 0, 0, 0, 3865, 3866, 1, 0, 0, 0, 3866, + 3868, 1, 0, 0, 0, 3867, 3869, 3, 364, 182, 0, 3868, 3867, 1, 0, 0, 0, 3868, + 3869, 1, 0, 0, 0, 3869, 3870, 1, 0, 0, 0, 3870, 3871, 5, 155, 0, 0, 3871, + 3872, 5, 94, 0, 0, 3872, 3873, 5, 478, 0, 0, 3873, 3875, 3, 1396, 698, + 0, 3874, 3876, 3, 342, 171, 0, 3875, 3874, 1, 0, 0, 0, 3875, 3876, 1, 0, + 0, 0, 3876, 3897, 1, 0, 0, 0, 3877, 3878, 5, 80, 0, 0, 3878, 3879, 5, 381, + 0, 0, 3879, 3880, 5, 177, 0, 0, 3880, 3881, 5, 274, 0, 0, 3881, 3882, 5, + 139, 0, 0, 3882, 3884, 3, 1396, 698, 0, 3883, 3885, 3, 360, 180, 0, 3884, + 3883, 1, 0, 0, 0, 3884, 3885, 1, 0, 0, 0, 3885, 3887, 1, 0, 0, 0, 3886, + 3888, 3, 364, 182, 0, 3887, 3886, 1, 0, 0, 0, 3887, 3888, 1, 0, 0, 0, 3888, + 3889, 1, 0, 0, 0, 3889, 3890, 5, 155, 0, 0, 3890, 3891, 5, 94, 0, 0, 3891, + 3892, 5, 478, 0, 0, 3892, 3894, 3, 1396, 698, 0, 3893, 3895, 3, 342, 171, + 0, 3894, 3893, 1, 0, 0, 0, 3894, 3895, 1, 0, 0, 0, 3895, 3897, 1, 0, 0, + 0, 3896, 3861, 1, 0, 0, 0, 3896, 3877, 1, 0, 0, 0, 3897, 359, 1, 0, 0, + 0, 3898, 3899, 5, 439, 0, 0, 3899, 3900, 3, 1414, 707, 0, 3900, 361, 1, + 0, 0, 0, 3901, 3904, 5, 465, 0, 0, 3902, 3905, 3, 1414, 707, 0, 3903, 3905, + 5, 279, 0, 0, 3904, 3902, 1, 0, 0, 0, 3904, 3903, 1, 0, 0, 0, 3905, 363, 1, 0, 0, 0, 3906, 3907, 3, 362, 181, 0, 3907, 365, 1, 0, 0, 0, 3908, 3909, - 5, 157, 0, 0, 3909, 3910, 5, 343, 0, 0, 3910, 3916, 3, 1394, 697, 0, 3911, + 5, 12, 0, 0, 3909, 3910, 5, 381, 0, 0, 3910, 3916, 3, 1396, 698, 0, 3911, 3917, 3, 346, 173, 0, 3912, 3914, 3, 362, 181, 0, 3913, 3915, 3, 346, 173, 0, 3914, 3913, 1, 0, 0, 0, 3914, 3915, 1, 0, 0, 0, 3915, 3917, 1, 0, 0, 0, 3916, 3911, 1, 0, 0, 0, 3916, 3912, 1, 0, 0, 0, 3917, 367, 1, 0, 0, - 0, 3918, 3919, 5, 46, 0, 0, 3919, 3920, 5, 63, 0, 0, 3920, 3921, 5, 92, - 0, 0, 3921, 3922, 3, 1390, 695, 0, 3922, 3924, 5, 2, 0, 0, 3923, 3925, + 0, 3918, 3919, 5, 80, 0, 0, 3919, 3920, 5, 155, 0, 0, 3920, 3921, 5, 416, + 0, 0, 3921, 3922, 3, 1392, 696, 0, 3922, 3924, 5, 496, 0, 0, 3923, 3925, 3, 176, 88, 0, 3924, 3923, 1, 0, 0, 0, 3924, 3925, 1, 0, 0, 0, 3925, 3926, - 1, 0, 0, 0, 3926, 3928, 5, 3, 0, 0, 3927, 3929, 3, 240, 120, 0, 3928, 3927, - 1, 0, 0, 0, 3928, 3929, 1, 0, 0, 0, 3929, 3930, 1, 0, 0, 0, 3930, 3931, - 5, 343, 0, 0, 3931, 3933, 3, 1394, 697, 0, 3932, 3934, 3, 342, 171, 0, - 3933, 3932, 1, 0, 0, 0, 3933, 3934, 1, 0, 0, 0, 3934, 3991, 1, 0, 0, 0, - 3935, 3936, 5, 46, 0, 0, 3936, 3937, 5, 63, 0, 0, 3937, 3938, 5, 92, 0, - 0, 3938, 3939, 5, 239, 0, 0, 3939, 3940, 5, 77, 0, 0, 3940, 3941, 5, 409, - 0, 0, 3941, 3942, 3, 1390, 695, 0, 3942, 3944, 5, 2, 0, 0, 3943, 3945, - 3, 176, 88, 0, 3944, 3943, 1, 0, 0, 0, 3944, 3945, 1, 0, 0, 0, 3945, 3946, - 1, 0, 0, 0, 3946, 3948, 5, 3, 0, 0, 3947, 3949, 3, 240, 120, 0, 3948, 3947, - 1, 0, 0, 0, 3948, 3949, 1, 0, 0, 0, 3949, 3950, 1, 0, 0, 0, 3950, 3951, - 5, 343, 0, 0, 3951, 3953, 3, 1394, 697, 0, 3952, 3954, 3, 342, 171, 0, - 3953, 3952, 1, 0, 0, 0, 3953, 3954, 1, 0, 0, 0, 3954, 3991, 1, 0, 0, 0, - 3955, 3956, 5, 46, 0, 0, 3956, 3957, 5, 63, 0, 0, 3957, 3958, 5, 92, 0, - 0, 3958, 3959, 3, 1390, 695, 0, 3959, 3960, 5, 297, 0, 0, 3960, 3961, 5, - 287, 0, 0, 3961, 3963, 3, 1390, 695, 0, 3962, 3964, 3, 178, 89, 0, 3963, - 3962, 1, 0, 0, 0, 3963, 3964, 1, 0, 0, 0, 3964, 3965, 1, 0, 0, 0, 3965, - 3966, 3, 128, 64, 0, 3966, 3967, 5, 343, 0, 0, 3967, 3969, 3, 1394, 697, - 0, 3968, 3970, 3, 342, 171, 0, 3969, 3968, 1, 0, 0, 0, 3969, 3970, 1, 0, - 0, 0, 3970, 3991, 1, 0, 0, 0, 3971, 3972, 5, 46, 0, 0, 3972, 3973, 5, 63, - 0, 0, 3973, 3974, 5, 92, 0, 0, 3974, 3975, 5, 239, 0, 0, 3975, 3976, 5, - 77, 0, 0, 3976, 3977, 5, 409, 0, 0, 3977, 3978, 3, 1390, 695, 0, 3978, - 3979, 5, 297, 0, 0, 3979, 3980, 5, 287, 0, 0, 3980, 3982, 3, 1390, 695, - 0, 3981, 3983, 3, 178, 89, 0, 3982, 3981, 1, 0, 0, 0, 3982, 3983, 1, 0, - 0, 0, 3983, 3984, 1, 0, 0, 0, 3984, 3985, 3, 128, 64, 0, 3985, 3986, 5, - 343, 0, 0, 3986, 3988, 3, 1394, 697, 0, 3987, 3989, 3, 342, 171, 0, 3988, - 3987, 1, 0, 0, 0, 3988, 3989, 1, 0, 0, 0, 3989, 3991, 1, 0, 0, 0, 3990, - 3918, 1, 0, 0, 0, 3990, 3935, 1, 0, 0, 0, 3990, 3955, 1, 0, 0, 0, 3990, - 3971, 1, 0, 0, 0, 3991, 369, 1, 0, 0, 0, 3992, 3993, 5, 465, 0, 0, 3993, - 3994, 5, 63, 0, 0, 3994, 3995, 5, 335, 0, 0, 3995, 3997, 3, 1394, 697, - 0, 3996, 3998, 3, 374, 187, 0, 3997, 3996, 1, 0, 0, 0, 3997, 3998, 1, 0, - 0, 0, 3998, 3999, 1, 0, 0, 0, 3999, 4000, 5, 64, 0, 0, 4000, 4001, 5, 343, - 0, 0, 4001, 4002, 3, 1394, 697, 0, 4002, 4003, 5, 71, 0, 0, 4003, 4005, - 3, 1394, 697, 0, 4004, 4006, 3, 342, 171, 0, 4005, 4004, 1, 0, 0, 0, 4005, - 4006, 1, 0, 0, 0, 4006, 371, 1, 0, 0, 0, 4007, 4008, 5, 74, 0, 0, 4008, - 4011, 5, 94, 0, 0, 4009, 4011, 5, 59, 0, 0, 4010, 4007, 1, 0, 0, 0, 4010, - 4009, 1, 0, 0, 0, 4011, 373, 1, 0, 0, 0, 4012, 4013, 3, 372, 186, 0, 4013, - 4014, 5, 2, 0, 0, 4014, 4015, 3, 1084, 542, 0, 4015, 4016, 5, 3, 0, 0, - 4016, 375, 1, 0, 0, 0, 4017, 4018, 5, 46, 0, 0, 4018, 4019, 5, 99, 0, 0, - 4019, 4020, 5, 267, 0, 0, 4020, 4021, 5, 62, 0, 0, 4021, 4022, 3, 378, - 189, 0, 4022, 4023, 5, 343, 0, 0, 4023, 4025, 3, 1394, 697, 0, 4024, 4026, - 3, 342, 171, 0, 4025, 4024, 1, 0, 0, 0, 4025, 4026, 1, 0, 0, 0, 4026, 4041, - 1, 0, 0, 0, 4027, 4028, 5, 46, 0, 0, 4028, 4029, 5, 99, 0, 0, 4029, 4030, - 5, 267, 0, 0, 4030, 4031, 5, 239, 0, 0, 4031, 4032, 5, 77, 0, 0, 4032, - 4033, 5, 409, 0, 0, 4033, 4034, 5, 62, 0, 0, 4034, 4035, 3, 378, 189, 0, - 4035, 4036, 5, 343, 0, 0, 4036, 4038, 3, 1394, 697, 0, 4037, 4039, 3, 342, - 171, 0, 4038, 4037, 1, 0, 0, 0, 4038, 4039, 1, 0, 0, 0, 4039, 4041, 1, - 0, 0, 0, 4040, 4017, 1, 0, 0, 0, 4040, 4027, 1, 0, 0, 0, 4041, 377, 1, - 0, 0, 0, 4042, 4045, 3, 1422, 711, 0, 4043, 4045, 5, 99, 0, 0, 4044, 4042, - 1, 0, 0, 0, 4044, 4043, 1, 0, 0, 0, 4045, 379, 1, 0, 0, 0, 4046, 4047, - 5, 210, 0, 0, 4047, 4048, 5, 99, 0, 0, 4048, 4049, 5, 267, 0, 0, 4049, - 4050, 5, 62, 0, 0, 4050, 4051, 3, 378, 189, 0, 4051, 4052, 5, 343, 0, 0, - 4052, 4053, 3, 1394, 697, 0, 4053, 4065, 1, 0, 0, 0, 4054, 4055, 5, 210, - 0, 0, 4055, 4056, 5, 99, 0, 0, 4056, 4057, 5, 267, 0, 0, 4057, 4058, 5, - 239, 0, 0, 4058, 4059, 5, 409, 0, 0, 4059, 4060, 5, 62, 0, 0, 4060, 4061, - 3, 378, 189, 0, 4061, 4062, 5, 343, 0, 0, 4062, 4063, 3, 1394, 697, 0, - 4063, 4065, 1, 0, 0, 0, 4064, 4046, 1, 0, 0, 0, 4064, 4054, 1, 0, 0, 0, - 4065, 381, 1, 0, 0, 0, 4066, 4067, 5, 157, 0, 0, 4067, 4068, 5, 99, 0, - 0, 4068, 4069, 5, 267, 0, 0, 4069, 4070, 5, 62, 0, 0, 4070, 4071, 3, 378, - 189, 0, 4071, 4072, 5, 343, 0, 0, 4072, 4073, 3, 1394, 697, 0, 4073, 4074, - 3, 346, 173, 0, 4074, 383, 1, 0, 0, 0, 4075, 4076, 5, 46, 0, 0, 4076, 4077, - 5, 466, 0, 0, 4077, 4078, 3, 1394, 697, 0, 4078, 4079, 5, 80, 0, 0, 4079, - 4081, 3, 1390, 695, 0, 4080, 4082, 3, 396, 198, 0, 4081, 4080, 1, 0, 0, - 0, 4081, 4082, 1, 0, 0, 0, 4082, 4084, 1, 0, 0, 0, 4083, 4085, 3, 398, - 199, 0, 4084, 4083, 1, 0, 0, 0, 4084, 4085, 1, 0, 0, 0, 4085, 4087, 1, - 0, 0, 0, 4086, 4088, 3, 392, 196, 0, 4087, 4086, 1, 0, 0, 0, 4087, 4088, - 1, 0, 0, 0, 4088, 4090, 1, 0, 0, 0, 4089, 4091, 3, 388, 194, 0, 4090, 4089, - 1, 0, 0, 0, 4090, 4091, 1, 0, 0, 0, 4091, 4093, 1, 0, 0, 0, 4092, 4094, - 3, 390, 195, 0, 4093, 4092, 1, 0, 0, 0, 4093, 4094, 1, 0, 0, 0, 4094, 385, - 1, 0, 0, 0, 4095, 4096, 5, 157, 0, 0, 4096, 4097, 5, 466, 0, 0, 4097, 4098, - 3, 1394, 697, 0, 4098, 4099, 5, 80, 0, 0, 4099, 4101, 3, 1390, 695, 0, - 4100, 4102, 3, 394, 197, 0, 4101, 4100, 1, 0, 0, 0, 4101, 4102, 1, 0, 0, - 0, 4102, 4104, 1, 0, 0, 0, 4103, 4105, 3, 388, 194, 0, 4104, 4103, 1, 0, - 0, 0, 4104, 4105, 1, 0, 0, 0, 4105, 4107, 1, 0, 0, 0, 4106, 4108, 3, 390, - 195, 0, 4107, 4106, 1, 0, 0, 0, 4107, 4108, 1, 0, 0, 0, 4108, 387, 1, 0, - 0, 0, 4109, 4110, 5, 100, 0, 0, 4110, 4111, 5, 2, 0, 0, 4111, 4112, 3, - 1170, 585, 0, 4112, 4113, 5, 3, 0, 0, 4113, 389, 1, 0, 0, 0, 4114, 4115, - 5, 105, 0, 0, 4115, 4116, 5, 42, 0, 0, 4116, 4117, 5, 2, 0, 0, 4117, 4118, - 3, 1170, 585, 0, 4118, 4119, 5, 3, 0, 0, 4119, 391, 1, 0, 0, 0, 4120, 4121, - 5, 94, 0, 0, 4121, 4122, 3, 1424, 712, 0, 4122, 393, 1, 0, 0, 0, 4123, - 4124, 5, 94, 0, 0, 4124, 4125, 3, 1424, 712, 0, 4125, 395, 1, 0, 0, 0, - 4126, 4127, 5, 36, 0, 0, 4127, 4128, 3, 1436, 718, 0, 4128, 397, 1, 0, - 0, 0, 4129, 4130, 5, 62, 0, 0, 4130, 4131, 3, 400, 200, 0, 4131, 399, 1, - 0, 0, 0, 4132, 4133, 7, 18, 0, 0, 4133, 401, 1, 0, 0, 0, 4134, 4135, 5, - 46, 0, 0, 4135, 4136, 5, 150, 0, 0, 4136, 4137, 5, 467, 0, 0, 4137, 4138, - 3, 1394, 697, 0, 4138, 4139, 5, 372, 0, 0, 4139, 4140, 3, 404, 202, 0, - 4140, 4141, 5, 234, 0, 0, 4141, 4142, 3, 302, 151, 0, 4142, 403, 1, 0, - 0, 0, 4143, 4144, 7, 19, 0, 0, 4144, 405, 1, 0, 0, 0, 4145, 4146, 5, 46, - 0, 0, 4146, 4147, 5, 369, 0, 0, 4147, 4148, 3, 1394, 697, 0, 4148, 4149, - 3, 408, 204, 0, 4149, 4150, 3, 410, 205, 0, 4150, 4151, 5, 80, 0, 0, 4151, - 4153, 3, 1390, 695, 0, 4152, 4154, 3, 414, 207, 0, 4153, 4152, 1, 0, 0, - 0, 4153, 4154, 1, 0, 0, 0, 4154, 4156, 1, 0, 0, 0, 4155, 4157, 3, 426, - 213, 0, 4156, 4155, 1, 0, 0, 0, 4156, 4157, 1, 0, 0, 0, 4157, 4159, 1, - 0, 0, 0, 4158, 4160, 3, 432, 216, 0, 4159, 4158, 1, 0, 0, 0, 4159, 4160, - 1, 0, 0, 0, 4160, 4161, 1, 0, 0, 0, 4161, 4162, 5, 221, 0, 0, 4162, 4163, - 3, 434, 217, 0, 4163, 4164, 3, 1400, 700, 0, 4164, 4165, 5, 2, 0, 0, 4165, - 4166, 3, 436, 218, 0, 4166, 4167, 5, 3, 0, 0, 4167, 4194, 1, 0, 0, 0, 4168, - 4169, 5, 46, 0, 0, 4169, 4170, 5, 45, 0, 0, 4170, 4171, 5, 369, 0, 0, 4171, - 4172, 3, 1394, 697, 0, 4172, 4173, 5, 154, 0, 0, 4173, 4174, 3, 410, 205, - 0, 4174, 4175, 5, 80, 0, 0, 4175, 4177, 3, 1390, 695, 0, 4176, 4178, 3, - 440, 220, 0, 4177, 4176, 1, 0, 0, 0, 4177, 4178, 1, 0, 0, 0, 4178, 4179, - 1, 0, 0, 0, 4179, 4180, 3, 442, 221, 0, 4180, 4181, 5, 62, 0, 0, 4181, - 4182, 5, 211, 0, 0, 4182, 4184, 5, 428, 0, 0, 4183, 4185, 3, 432, 216, - 0, 4184, 4183, 1, 0, 0, 0, 4184, 4185, 1, 0, 0, 0, 4185, 4186, 1, 0, 0, - 0, 4186, 4187, 5, 221, 0, 0, 4187, 4188, 3, 434, 217, 0, 4188, 4189, 3, - 1400, 700, 0, 4189, 4190, 5, 2, 0, 0, 4190, 4191, 3, 436, 218, 0, 4191, - 4192, 5, 3, 0, 0, 4192, 4194, 1, 0, 0, 0, 4193, 4145, 1, 0, 0, 0, 4193, - 4168, 1, 0, 0, 0, 4194, 407, 1, 0, 0, 0, 4195, 4200, 5, 164, 0, 0, 4196, - 4200, 5, 154, 0, 0, 4197, 4198, 5, 252, 0, 0, 4198, 4200, 5, 287, 0, 0, - 4199, 4195, 1, 0, 0, 0, 4199, 4196, 1, 0, 0, 0, 4199, 4197, 1, 0, 0, 0, - 4200, 409, 1, 0, 0, 0, 4201, 4206, 3, 412, 206, 0, 4202, 4203, 5, 82, 0, - 0, 4203, 4205, 3, 412, 206, 0, 4204, 4202, 1, 0, 0, 0, 4205, 4208, 1, 0, - 0, 0, 4206, 4204, 1, 0, 0, 0, 4206, 4207, 1, 0, 0, 0, 4207, 411, 1, 0, - 0, 0, 4208, 4206, 1, 0, 0, 0, 4209, 4217, 5, 251, 0, 0, 4210, 4217, 5, - 201, 0, 0, 4211, 4217, 5, 381, 0, 0, 4212, 4213, 5, 381, 0, 0, 4213, 4214, - 5, 287, 0, 0, 4214, 4217, 3, 218, 109, 0, 4215, 4217, 5, 370, 0, 0, 4216, - 4209, 1, 0, 0, 0, 4216, 4210, 1, 0, 0, 0, 4216, 4211, 1, 0, 0, 0, 4216, - 4212, 1, 0, 0, 0, 4216, 4215, 1, 0, 0, 0, 4217, 413, 1, 0, 0, 0, 4218, - 4219, 5, 468, 0, 0, 4219, 4220, 3, 416, 208, 0, 4220, 415, 1, 0, 0, 0, - 4221, 4223, 3, 418, 209, 0, 4222, 4221, 1, 0, 0, 0, 4223, 4224, 1, 0, 0, - 0, 4224, 4222, 1, 0, 0, 0, 4224, 4225, 1, 0, 0, 0, 4225, 417, 1, 0, 0, - 0, 4226, 4227, 3, 420, 210, 0, 4227, 4229, 3, 422, 211, 0, 4228, 4230, - 3, 842, 421, 0, 4229, 4228, 1, 0, 0, 0, 4229, 4230, 1, 0, 0, 0, 4230, 4231, - 1, 0, 0, 0, 4231, 4232, 3, 424, 212, 0, 4232, 419, 1, 0, 0, 0, 4233, 4234, - 7, 20, 0, 0, 4234, 421, 1, 0, 0, 0, 4235, 4236, 7, 21, 0, 0, 4236, 423, - 1, 0, 0, 0, 4237, 4238, 3, 1426, 713, 0, 4238, 425, 1, 0, 0, 0, 4239, 4241, - 5, 62, 0, 0, 4240, 4242, 3, 428, 214, 0, 4241, 4240, 1, 0, 0, 0, 4241, - 4242, 1, 0, 0, 0, 4242, 4243, 1, 0, 0, 0, 4243, 4244, 3, 430, 215, 0, 4244, - 427, 1, 0, 0, 0, 4245, 4246, 5, 211, 0, 0, 4246, 429, 1, 0, 0, 0, 4247, - 4248, 7, 22, 0, 0, 4248, 431, 1, 0, 0, 0, 4249, 4250, 5, 102, 0, 0, 4250, - 4251, 5, 2, 0, 0, 4251, 4252, 3, 1170, 585, 0, 4252, 4253, 5, 3, 0, 0, - 4253, 433, 1, 0, 0, 0, 4254, 4255, 7, 23, 0, 0, 4255, 435, 1, 0, 0, 0, - 4256, 4259, 3, 438, 219, 0, 4257, 4259, 1, 0, 0, 0, 4258, 4256, 1, 0, 0, - 0, 4258, 4257, 1, 0, 0, 0, 4259, 4264, 1, 0, 0, 0, 4260, 4261, 5, 6, 0, - 0, 4261, 4263, 3, 438, 219, 0, 4262, 4260, 1, 0, 0, 0, 4263, 4266, 1, 0, - 0, 0, 4264, 4262, 1, 0, 0, 0, 4264, 4265, 1, 0, 0, 0, 4265, 437, 1, 0, - 0, 0, 4266, 4264, 1, 0, 0, 0, 4267, 4272, 3, 1410, 705, 0, 4268, 4272, - 3, 1408, 704, 0, 4269, 4272, 3, 1412, 706, 0, 4270, 4272, 3, 1434, 717, - 0, 4271, 4267, 1, 0, 0, 0, 4271, 4268, 1, 0, 0, 0, 4271, 4269, 1, 0, 0, - 0, 4271, 4270, 1, 0, 0, 0, 4272, 439, 1, 0, 0, 0, 4273, 4274, 5, 64, 0, - 0, 4274, 4275, 3, 1390, 695, 0, 4275, 441, 1, 0, 0, 0, 4276, 4278, 3, 444, - 222, 0, 4277, 4276, 1, 0, 0, 0, 4278, 4281, 1, 0, 0, 0, 4279, 4277, 1, - 0, 0, 0, 4279, 4280, 1, 0, 0, 0, 4280, 443, 1, 0, 0, 0, 4281, 4279, 1, - 0, 0, 0, 4282, 4283, 5, 77, 0, 0, 4283, 4294, 5, 54, 0, 0, 4284, 4294, - 5, 54, 0, 0, 4285, 4286, 5, 69, 0, 0, 4286, 4294, 5, 240, 0, 0, 4287, 4288, - 5, 69, 0, 0, 4288, 4294, 5, 199, 0, 0, 4289, 4290, 5, 77, 0, 0, 4290, 4294, - 5, 383, 0, 0, 4291, 4292, 5, 281, 0, 0, 4292, 4294, 5, 247, 0, 0, 4293, - 4282, 1, 0, 0, 0, 4293, 4284, 1, 0, 0, 0, 4293, 4285, 1, 0, 0, 0, 4293, - 4287, 1, 0, 0, 0, 4293, 4289, 1, 0, 0, 0, 4293, 4291, 1, 0, 0, 0, 4294, - 445, 1, 0, 0, 0, 4295, 4296, 5, 46, 0, 0, 4296, 4297, 5, 217, 0, 0, 4297, - 4298, 5, 369, 0, 0, 4298, 4299, 3, 1394, 697, 0, 4299, 4300, 5, 80, 0, - 0, 4300, 4301, 3, 1434, 717, 0, 4301, 4302, 5, 221, 0, 0, 4302, 4303, 3, - 434, 217, 0, 4303, 4304, 3, 1400, 700, 0, 4304, 4305, 5, 2, 0, 0, 4305, - 4306, 5, 3, 0, 0, 4306, 4322, 1, 0, 0, 0, 4307, 4308, 5, 46, 0, 0, 4308, - 4309, 5, 217, 0, 0, 4309, 4310, 5, 369, 0, 0, 4310, 4311, 3, 1394, 697, - 0, 4311, 4312, 5, 80, 0, 0, 4312, 4313, 3, 1434, 717, 0, 4313, 4314, 5, - 102, 0, 0, 4314, 4315, 3, 448, 224, 0, 4315, 4316, 5, 221, 0, 0, 4316, - 4317, 3, 434, 217, 0, 4317, 4318, 3, 1400, 700, 0, 4318, 4319, 5, 2, 0, - 0, 4319, 4320, 5, 3, 0, 0, 4320, 4322, 1, 0, 0, 0, 4321, 4295, 1, 0, 0, - 0, 4321, 4307, 1, 0, 0, 0, 4322, 447, 1, 0, 0, 0, 4323, 4328, 3, 450, 225, - 0, 4324, 4325, 5, 33, 0, 0, 4325, 4327, 3, 450, 225, 0, 4326, 4324, 1, - 0, 0, 0, 4327, 4330, 1, 0, 0, 0, 4328, 4326, 1, 0, 0, 0, 4328, 4329, 1, - 0, 0, 0, 4329, 449, 1, 0, 0, 0, 4330, 4328, 1, 0, 0, 0, 4331, 4332, 3, - 1426, 713, 0, 4332, 4333, 5, 68, 0, 0, 4333, 4334, 5, 2, 0, 0, 4334, 4335, - 3, 452, 226, 0, 4335, 4336, 5, 3, 0, 0, 4336, 451, 1, 0, 0, 0, 4337, 4342, - 3, 1412, 706, 0, 4338, 4339, 5, 6, 0, 0, 4339, 4341, 3, 1412, 706, 0, 4340, - 4338, 1, 0, 0, 0, 4341, 4344, 1, 0, 0, 0, 4342, 4340, 1, 0, 0, 0, 4342, - 4343, 1, 0, 0, 0, 4343, 453, 1, 0, 0, 0, 4344, 4342, 1, 0, 0, 0, 4345, - 4346, 5, 157, 0, 0, 4346, 4347, 5, 217, 0, 0, 4347, 4348, 5, 369, 0, 0, - 4348, 4349, 3, 1394, 697, 0, 4349, 4350, 3, 456, 228, 0, 4350, 455, 1, - 0, 0, 0, 4351, 4358, 5, 212, 0, 0, 4352, 4353, 5, 212, 0, 0, 4353, 4358, - 5, 324, 0, 0, 4354, 4355, 5, 212, 0, 0, 4355, 4358, 5, 158, 0, 0, 4356, - 4358, 5, 205, 0, 0, 4357, 4351, 1, 0, 0, 0, 4357, 4352, 1, 0, 0, 0, 4357, - 4354, 1, 0, 0, 0, 4357, 4356, 1, 0, 0, 0, 4358, 457, 1, 0, 0, 0, 4359, - 4360, 5, 46, 0, 0, 4360, 4361, 5, 159, 0, 0, 4361, 4362, 3, 526, 263, 0, - 4362, 4363, 5, 42, 0, 0, 4363, 4364, 5, 2, 0, 0, 4364, 4365, 3, 1170, 585, - 0, 4365, 4366, 5, 3, 0, 0, 4366, 4367, 3, 442, 221, 0, 4367, 459, 1, 0, - 0, 0, 4368, 4370, 5, 46, 0, 0, 4369, 4371, 3, 624, 312, 0, 4370, 4369, - 1, 0, 0, 0, 4370, 4371, 1, 0, 0, 0, 4371, 4372, 1, 0, 0, 0, 4372, 4373, - 5, 155, 0, 0, 4373, 4374, 3, 1400, 700, 0, 4374, 4375, 3, 652, 326, 0, - 4375, 4376, 3, 462, 231, 0, 4376, 4483, 1, 0, 0, 0, 4377, 4379, 5, 46, - 0, 0, 4378, 4380, 3, 624, 312, 0, 4379, 4378, 1, 0, 0, 0, 4379, 4380, 1, - 0, 0, 0, 4380, 4381, 1, 0, 0, 0, 4381, 4382, 5, 155, 0, 0, 4382, 4383, - 3, 1400, 700, 0, 4383, 4384, 3, 470, 235, 0, 4384, 4483, 1, 0, 0, 0, 4385, - 4386, 5, 46, 0, 0, 4386, 4387, 5, 290, 0, 0, 4387, 4388, 3, 690, 345, 0, - 4388, 4389, 3, 462, 231, 0, 4389, 4483, 1, 0, 0, 0, 4390, 4391, 5, 46, - 0, 0, 4391, 4392, 5, 372, 0, 0, 4392, 4393, 3, 526, 263, 0, 4393, 4394, - 3, 462, 231, 0, 4394, 4483, 1, 0, 0, 0, 4395, 4396, 5, 46, 0, 0, 4396, - 4397, 5, 372, 0, 0, 4397, 4483, 3, 526, 263, 0, 4398, 4399, 5, 46, 0, 0, - 4399, 4400, 5, 372, 0, 0, 4400, 4401, 3, 526, 263, 0, 4401, 4402, 5, 36, - 0, 0, 4402, 4404, 5, 2, 0, 0, 4403, 4405, 3, 1106, 553, 0, 4404, 4403, - 1, 0, 0, 0, 4404, 4405, 1, 0, 0, 0, 4405, 4406, 1, 0, 0, 0, 4406, 4407, - 5, 3, 0, 0, 4407, 4483, 1, 0, 0, 0, 4408, 4409, 5, 46, 0, 0, 4409, 4410, - 5, 372, 0, 0, 4410, 4411, 3, 526, 263, 0, 4411, 4412, 5, 36, 0, 0, 4412, - 4413, 5, 215, 0, 0, 4413, 4415, 5, 2, 0, 0, 4414, 4416, 3, 476, 238, 0, - 4415, 4414, 1, 0, 0, 0, 4415, 4416, 1, 0, 0, 0, 4416, 4417, 1, 0, 0, 0, - 4417, 4418, 5, 3, 0, 0, 4418, 4483, 1, 0, 0, 0, 4419, 4420, 5, 46, 0, 0, - 4420, 4421, 5, 372, 0, 0, 4421, 4422, 3, 526, 263, 0, 4422, 4423, 5, 36, - 0, 0, 4423, 4424, 5, 311, 0, 0, 4424, 4425, 3, 462, 231, 0, 4425, 4483, - 1, 0, 0, 0, 4426, 4427, 5, 46, 0, 0, 4427, 4428, 5, 367, 0, 0, 4428, 4429, - 5, 337, 0, 0, 4429, 4430, 5, 295, 0, 0, 4430, 4431, 3, 526, 263, 0, 4431, - 4432, 3, 462, 231, 0, 4432, 4483, 1, 0, 0, 0, 4433, 4434, 5, 46, 0, 0, - 4434, 4435, 5, 367, 0, 0, 4435, 4436, 5, 337, 0, 0, 4436, 4437, 5, 204, + 1, 0, 0, 0, 3926, 3928, 5, 497, 0, 0, 3927, 3929, 3, 240, 120, 0, 3928, + 3927, 1, 0, 0, 0, 3928, 3929, 1, 0, 0, 0, 3929, 3930, 1, 0, 0, 0, 3930, + 3931, 5, 381, 0, 0, 3931, 3933, 3, 1396, 698, 0, 3932, 3934, 3, 342, 171, + 0, 3933, 3932, 1, 0, 0, 0, 3933, 3934, 1, 0, 0, 0, 3934, 3991, 1, 0, 0, + 0, 3935, 3936, 5, 80, 0, 0, 3936, 3937, 5, 155, 0, 0, 3937, 3938, 5, 416, + 0, 0, 3938, 3939, 5, 177, 0, 0, 3939, 3940, 5, 274, 0, 0, 3940, 3941, 5, + 139, 0, 0, 3941, 3942, 3, 1392, 696, 0, 3942, 3944, 5, 496, 0, 0, 3943, + 3945, 3, 176, 88, 0, 3944, 3943, 1, 0, 0, 0, 3944, 3945, 1, 0, 0, 0, 3945, + 3946, 1, 0, 0, 0, 3946, 3948, 5, 497, 0, 0, 3947, 3949, 3, 240, 120, 0, + 3948, 3947, 1, 0, 0, 0, 3948, 3949, 1, 0, 0, 0, 3949, 3950, 1, 0, 0, 0, + 3950, 3951, 5, 381, 0, 0, 3951, 3953, 3, 1396, 698, 0, 3952, 3954, 3, 342, + 171, 0, 3953, 3952, 1, 0, 0, 0, 3953, 3954, 1, 0, 0, 0, 3954, 3991, 1, + 0, 0, 0, 3955, 3956, 5, 80, 0, 0, 3956, 3957, 5, 155, 0, 0, 3957, 3958, + 5, 416, 0, 0, 3958, 3959, 3, 1392, 696, 0, 3959, 3960, 5, 312, 0, 0, 3960, + 3961, 5, 285, 0, 0, 3961, 3963, 3, 1392, 696, 0, 3962, 3964, 3, 178, 89, + 0, 3963, 3962, 1, 0, 0, 0, 3963, 3964, 1, 0, 0, 0, 3964, 3965, 1, 0, 0, + 0, 3965, 3966, 3, 128, 64, 0, 3966, 3967, 5, 381, 0, 0, 3967, 3969, 3, + 1396, 698, 0, 3968, 3970, 3, 342, 171, 0, 3969, 3968, 1, 0, 0, 0, 3969, + 3970, 1, 0, 0, 0, 3970, 3991, 1, 0, 0, 0, 3971, 3972, 5, 80, 0, 0, 3972, + 3973, 5, 155, 0, 0, 3973, 3974, 5, 416, 0, 0, 3974, 3975, 5, 177, 0, 0, + 3975, 3976, 5, 274, 0, 0, 3976, 3977, 5, 139, 0, 0, 3977, 3978, 3, 1392, + 696, 0, 3978, 3979, 5, 312, 0, 0, 3979, 3980, 5, 285, 0, 0, 3980, 3982, + 3, 1392, 696, 0, 3981, 3983, 3, 178, 89, 0, 3982, 3981, 1, 0, 0, 0, 3982, + 3983, 1, 0, 0, 0, 3983, 3984, 1, 0, 0, 0, 3984, 3985, 3, 128, 64, 0, 3985, + 3986, 5, 381, 0, 0, 3986, 3988, 3, 1396, 698, 0, 3987, 3989, 3, 342, 171, + 0, 3988, 3987, 1, 0, 0, 0, 3988, 3989, 1, 0, 0, 0, 3989, 3991, 1, 0, 0, + 0, 3990, 3918, 1, 0, 0, 0, 3990, 3935, 1, 0, 0, 0, 3990, 3955, 1, 0, 0, + 0, 3990, 3971, 1, 0, 0, 0, 3991, 369, 1, 0, 0, 0, 3992, 3993, 5, 182, 0, + 0, 3993, 3994, 5, 155, 0, 0, 3994, 3995, 5, 371, 0, 0, 3995, 3997, 3, 1396, + 698, 0, 3996, 3998, 3, 374, 187, 0, 3997, 3996, 1, 0, 0, 0, 3997, 3998, + 1, 0, 0, 0, 3998, 3999, 1, 0, 0, 0, 3999, 4000, 5, 159, 0, 0, 4000, 4001, + 5, 381, 0, 0, 4001, 4002, 3, 1396, 698, 0, 4002, 4003, 5, 204, 0, 0, 4003, + 4005, 3, 1396, 698, 0, 4004, 4006, 3, 342, 171, 0, 4005, 4004, 1, 0, 0, + 0, 4005, 4006, 1, 0, 0, 0, 4006, 371, 1, 0, 0, 0, 4007, 4008, 5, 235, 0, + 0, 4008, 4011, 5, 429, 0, 0, 4009, 4011, 5, 134, 0, 0, 4010, 4007, 1, 0, + 0, 0, 4010, 4009, 1, 0, 0, 0, 4011, 373, 1, 0, 0, 0, 4012, 4013, 3, 372, + 186, 0, 4013, 4014, 5, 496, 0, 0, 4014, 4015, 3, 1084, 542, 0, 4015, 4016, + 5, 497, 0, 0, 4016, 375, 1, 0, 0, 0, 4017, 4018, 5, 80, 0, 0, 4018, 4019, + 5, 453, 0, 0, 4019, 4020, 5, 245, 0, 0, 4020, 4021, 5, 153, 0, 0, 4021, + 4022, 3, 378, 189, 0, 4022, 4023, 5, 381, 0, 0, 4023, 4025, 3, 1396, 698, + 0, 4024, 4026, 3, 342, 171, 0, 4025, 4024, 1, 0, 0, 0, 4025, 4026, 1, 0, + 0, 0, 4026, 4041, 1, 0, 0, 0, 4027, 4028, 5, 80, 0, 0, 4028, 4029, 5, 453, + 0, 0, 4029, 4030, 5, 245, 0, 0, 4030, 4031, 5, 177, 0, 0, 4031, 4032, 5, + 274, 0, 0, 4032, 4033, 5, 139, 0, 0, 4033, 4034, 5, 153, 0, 0, 4034, 4035, + 3, 378, 189, 0, 4035, 4036, 5, 381, 0, 0, 4036, 4038, 3, 1396, 698, 0, + 4037, 4039, 3, 342, 171, 0, 4038, 4037, 1, 0, 0, 0, 4038, 4039, 1, 0, 0, + 0, 4039, 4041, 1, 0, 0, 0, 4040, 4017, 1, 0, 0, 0, 4040, 4027, 1, 0, 0, + 0, 4041, 377, 1, 0, 0, 0, 4042, 4045, 3, 1424, 712, 0, 4043, 4045, 5, 453, + 0, 0, 4044, 4042, 1, 0, 0, 0, 4044, 4043, 1, 0, 0, 0, 4045, 379, 1, 0, + 0, 0, 4046, 4047, 5, 121, 0, 0, 4047, 4048, 5, 453, 0, 0, 4048, 4049, 5, + 245, 0, 0, 4049, 4050, 5, 153, 0, 0, 4050, 4051, 3, 378, 189, 0, 4051, + 4052, 5, 381, 0, 0, 4052, 4053, 3, 1396, 698, 0, 4053, 4065, 1, 0, 0, 0, + 4054, 4055, 5, 121, 0, 0, 4055, 4056, 5, 453, 0, 0, 4056, 4057, 5, 245, + 0, 0, 4057, 4058, 5, 177, 0, 0, 4058, 4059, 5, 139, 0, 0, 4059, 4060, 5, + 153, 0, 0, 4060, 4061, 3, 378, 189, 0, 4061, 4062, 5, 381, 0, 0, 4062, + 4063, 3, 1396, 698, 0, 4063, 4065, 1, 0, 0, 0, 4064, 4046, 1, 0, 0, 0, + 4064, 4054, 1, 0, 0, 0, 4065, 381, 1, 0, 0, 0, 4066, 4067, 5, 12, 0, 0, + 4067, 4068, 5, 453, 0, 0, 4068, 4069, 5, 245, 0, 0, 4069, 4070, 5, 153, + 0, 0, 4070, 4071, 3, 378, 189, 0, 4071, 4072, 5, 381, 0, 0, 4072, 4073, + 3, 1396, 698, 0, 4073, 4074, 3, 346, 173, 0, 4074, 383, 1, 0, 0, 0, 4075, + 4076, 5, 80, 0, 0, 4076, 4077, 5, 320, 0, 0, 4077, 4078, 3, 1396, 698, + 0, 4078, 4079, 5, 291, 0, 0, 4079, 4081, 3, 1392, 696, 0, 4080, 4082, 3, + 396, 198, 0, 4081, 4080, 1, 0, 0, 0, 4081, 4082, 1, 0, 0, 0, 4082, 4084, + 1, 0, 0, 0, 4083, 4085, 3, 398, 199, 0, 4084, 4083, 1, 0, 0, 0, 4084, 4085, + 1, 0, 0, 0, 4085, 4087, 1, 0, 0, 0, 4086, 4088, 3, 392, 196, 0, 4087, 4086, + 1, 0, 0, 0, 4087, 4088, 1, 0, 0, 0, 4088, 4090, 1, 0, 0, 0, 4089, 4091, + 3, 388, 194, 0, 4090, 4089, 1, 0, 0, 0, 4090, 4091, 1, 0, 0, 0, 4091, 4093, + 1, 0, 0, 0, 4092, 4094, 3, 390, 195, 0, 4093, 4092, 1, 0, 0, 0, 4093, 4094, + 1, 0, 0, 0, 4094, 385, 1, 0, 0, 0, 4095, 4096, 5, 12, 0, 0, 4096, 4097, + 5, 320, 0, 0, 4097, 4098, 3, 1396, 698, 0, 4098, 4099, 5, 291, 0, 0, 4099, + 4101, 3, 1392, 696, 0, 4100, 4102, 3, 394, 197, 0, 4101, 4100, 1, 0, 0, + 0, 4101, 4102, 1, 0, 0, 0, 4102, 4104, 1, 0, 0, 0, 4103, 4105, 3, 388, + 194, 0, 4104, 4103, 1, 0, 0, 0, 4104, 4105, 1, 0, 0, 0, 4105, 4107, 1, + 0, 0, 0, 4106, 4108, 3, 390, 195, 0, 4107, 4106, 1, 0, 0, 0, 4107, 4108, + 1, 0, 0, 0, 4108, 387, 1, 0, 0, 0, 4109, 4110, 5, 454, 0, 0, 4110, 4111, + 5, 496, 0, 0, 4111, 4112, 3, 1172, 586, 0, 4112, 4113, 5, 497, 0, 0, 4113, + 389, 1, 0, 0, 0, 4114, 4115, 5, 474, 0, 0, 4115, 4116, 5, 53, 0, 0, 4116, + 4117, 5, 496, 0, 0, 4117, 4118, 3, 1172, 586, 0, 4118, 4119, 5, 497, 0, + 0, 4119, 391, 1, 0, 0, 0, 4120, 4121, 5, 429, 0, 0, 4121, 4122, 3, 1426, + 713, 0, 4122, 393, 1, 0, 0, 0, 4123, 4124, 5, 429, 0, 0, 4124, 4125, 3, + 1426, 713, 0, 4125, 395, 1, 0, 0, 0, 4126, 4127, 5, 19, 0, 0, 4127, 4128, + 3, 1438, 719, 0, 4128, 397, 1, 0, 0, 0, 4129, 4130, 5, 153, 0, 0, 4130, + 4131, 3, 400, 200, 0, 4131, 399, 1, 0, 0, 0, 4132, 4133, 7, 18, 0, 0, 4133, + 401, 1, 0, 0, 0, 4134, 4135, 5, 80, 0, 0, 4135, 4136, 5, 4, 0, 0, 4136, + 4137, 5, 252, 0, 0, 4137, 4138, 3, 1396, 698, 0, 4138, 4139, 5, 439, 0, + 0, 4139, 4140, 3, 404, 202, 0, 4140, 4141, 5, 171, 0, 0, 4141, 4142, 3, + 302, 151, 0, 4142, 403, 1, 0, 0, 0, 4143, 4144, 7, 19, 0, 0, 4144, 405, + 1, 0, 0, 0, 4145, 4146, 5, 80, 0, 0, 4146, 4147, 5, 434, 0, 0, 4147, 4148, + 3, 1396, 698, 0, 4148, 4149, 3, 408, 204, 0, 4149, 4150, 3, 410, 205, 0, + 4150, 4151, 5, 291, 0, 0, 4151, 4153, 3, 1392, 696, 0, 4152, 4154, 3, 414, + 207, 0, 4153, 4152, 1, 0, 0, 0, 4153, 4154, 1, 0, 0, 0, 4154, 4156, 1, + 0, 0, 0, 4155, 4157, 3, 426, 213, 0, 4156, 4155, 1, 0, 0, 0, 4156, 4157, + 1, 0, 0, 0, 4157, 4159, 1, 0, 0, 0, 4158, 4160, 3, 432, 216, 0, 4159, 4158, + 1, 0, 0, 0, 4159, 4160, 1, 0, 0, 0, 4160, 4161, 1, 0, 0, 0, 4161, 4162, + 5, 138, 0, 0, 4162, 4163, 3, 434, 217, 0, 4163, 4164, 3, 1402, 701, 0, + 4164, 4165, 5, 496, 0, 0, 4165, 4166, 3, 436, 218, 0, 4166, 4167, 5, 497, + 0, 0, 4167, 4194, 1, 0, 0, 0, 4168, 4169, 5, 80, 0, 0, 4169, 4170, 5, 73, + 0, 0, 4170, 4171, 5, 434, 0, 0, 4171, 4172, 3, 1396, 698, 0, 4172, 4173, + 5, 8, 0, 0, 4173, 4174, 3, 410, 205, 0, 4174, 4175, 5, 291, 0, 0, 4175, + 4177, 3, 1392, 696, 0, 4176, 4178, 3, 440, 220, 0, 4177, 4176, 1, 0, 0, + 0, 4177, 4178, 1, 0, 0, 0, 4178, 4179, 1, 0, 0, 0, 4179, 4180, 3, 442, + 221, 0, 4180, 4181, 5, 153, 0, 0, 4181, 4182, 5, 122, 0, 0, 4182, 4184, + 5, 366, 0, 0, 4183, 4185, 3, 432, 216, 0, 4184, 4183, 1, 0, 0, 0, 4184, + 4185, 1, 0, 0, 0, 4185, 4186, 1, 0, 0, 0, 4186, 4187, 5, 138, 0, 0, 4187, + 4188, 3, 434, 217, 0, 4188, 4189, 3, 1402, 701, 0, 4189, 4190, 5, 496, + 0, 0, 4190, 4191, 3, 436, 218, 0, 4191, 4192, 5, 497, 0, 0, 4192, 4194, + 1, 0, 0, 0, 4193, 4145, 1, 0, 0, 0, 4193, 4168, 1, 0, 0, 0, 4194, 407, + 1, 0, 0, 0, 4195, 4200, 5, 31, 0, 0, 4196, 4200, 5, 8, 0, 0, 4197, 4198, + 5, 199, 0, 0, 4198, 4200, 5, 285, 0, 0, 4199, 4195, 1, 0, 0, 0, 4199, 4196, + 1, 0, 0, 0, 4199, 4197, 1, 0, 0, 0, 4200, 409, 1, 0, 0, 0, 4201, 4206, + 3, 412, 206, 0, 4202, 4203, 5, 296, 0, 0, 4203, 4205, 3, 412, 206, 0, 4204, + 4202, 1, 0, 0, 0, 4205, 4208, 1, 0, 0, 0, 4206, 4204, 1, 0, 0, 0, 4206, + 4207, 1, 0, 0, 0, 4207, 411, 1, 0, 0, 0, 4208, 4206, 1, 0, 0, 0, 4209, + 4217, 5, 198, 0, 0, 4210, 4217, 5, 106, 0, 0, 4211, 4217, 5, 452, 0, 0, + 4212, 4213, 5, 452, 0, 0, 4213, 4214, 5, 285, 0, 0, 4214, 4217, 3, 218, + 109, 0, 4215, 4217, 5, 437, 0, 0, 4216, 4209, 1, 0, 0, 0, 4216, 4210, 1, + 0, 0, 0, 4216, 4211, 1, 0, 0, 0, 4216, 4212, 1, 0, 0, 0, 4216, 4215, 1, + 0, 0, 0, 4217, 413, 1, 0, 0, 0, 4218, 4219, 5, 344, 0, 0, 4219, 4220, 3, + 416, 208, 0, 4220, 415, 1, 0, 0, 0, 4221, 4223, 3, 418, 209, 0, 4222, 4221, + 1, 0, 0, 0, 4223, 4224, 1, 0, 0, 0, 4224, 4222, 1, 0, 0, 0, 4224, 4225, + 1, 0, 0, 0, 4225, 417, 1, 0, 0, 0, 4226, 4227, 3, 420, 210, 0, 4227, 4229, + 3, 422, 211, 0, 4228, 4230, 3, 842, 421, 0, 4229, 4228, 1, 0, 0, 0, 4229, + 4230, 1, 0, 0, 0, 4230, 4231, 1, 0, 0, 0, 4231, 4232, 3, 424, 212, 0, 4232, + 419, 1, 0, 0, 0, 4233, 4234, 7, 20, 0, 0, 4234, 421, 1, 0, 0, 0, 4235, + 4236, 7, 21, 0, 0, 4236, 423, 1, 0, 0, 0, 4237, 4238, 3, 1428, 714, 0, + 4238, 425, 1, 0, 0, 0, 4239, 4241, 5, 153, 0, 0, 4240, 4242, 3, 428, 214, + 0, 4241, 4240, 1, 0, 0, 0, 4241, 4242, 1, 0, 0, 0, 4242, 4243, 1, 0, 0, + 0, 4243, 4244, 3, 430, 215, 0, 4244, 427, 1, 0, 0, 0, 4245, 4246, 5, 122, + 0, 0, 4246, 429, 1, 0, 0, 0, 4247, 4248, 7, 22, 0, 0, 4248, 431, 1, 0, + 0, 0, 4249, 4250, 5, 470, 0, 0, 4250, 4251, 5, 496, 0, 0, 4251, 4252, 3, + 1172, 586, 0, 4252, 4253, 5, 497, 0, 0, 4253, 433, 1, 0, 0, 0, 4254, 4255, + 7, 23, 0, 0, 4255, 435, 1, 0, 0, 0, 4256, 4259, 3, 438, 219, 0, 4257, 4259, + 1, 0, 0, 0, 4258, 4256, 1, 0, 0, 0, 4258, 4257, 1, 0, 0, 0, 4259, 4264, + 1, 0, 0, 0, 4260, 4261, 5, 500, 0, 0, 4261, 4263, 3, 438, 219, 0, 4262, + 4260, 1, 0, 0, 0, 4263, 4266, 1, 0, 0, 0, 4264, 4262, 1, 0, 0, 0, 4264, + 4265, 1, 0, 0, 0, 4265, 437, 1, 0, 0, 0, 4266, 4264, 1, 0, 0, 0, 4267, + 4272, 3, 1412, 706, 0, 4268, 4272, 3, 1410, 705, 0, 4269, 4272, 3, 1414, + 707, 0, 4270, 4272, 3, 1436, 718, 0, 4271, 4267, 1, 0, 0, 0, 4271, 4268, + 1, 0, 0, 0, 4271, 4269, 1, 0, 0, 0, 4271, 4270, 1, 0, 0, 0, 4272, 439, + 1, 0, 0, 0, 4273, 4274, 5, 159, 0, 0, 4274, 4275, 3, 1392, 696, 0, 4275, + 441, 1, 0, 0, 0, 4276, 4278, 3, 444, 222, 0, 4277, 4276, 1, 0, 0, 0, 4278, + 4281, 1, 0, 0, 0, 4279, 4277, 1, 0, 0, 0, 4279, 4280, 1, 0, 0, 0, 4280, + 443, 1, 0, 0, 0, 4281, 4279, 1, 0, 0, 0, 4282, 4283, 5, 274, 0, 0, 4283, + 4294, 5, 103, 0, 0, 4284, 4294, 5, 103, 0, 0, 4285, 4286, 5, 192, 0, 0, + 4286, 4294, 5, 179, 0, 0, 4287, 4288, 5, 192, 0, 0, 4288, 4294, 5, 104, + 0, 0, 4289, 4290, 5, 274, 0, 0, 4290, 4294, 5, 456, 0, 0, 4291, 4292, 5, + 270, 0, 0, 4292, 4294, 5, 190, 0, 0, 4293, 4282, 1, 0, 0, 0, 4293, 4284, + 1, 0, 0, 0, 4293, 4285, 1, 0, 0, 0, 4293, 4287, 1, 0, 0, 0, 4293, 4289, + 1, 0, 0, 0, 4293, 4291, 1, 0, 0, 0, 4294, 445, 1, 0, 0, 0, 4295, 4296, + 5, 80, 0, 0, 4296, 4297, 5, 133, 0, 0, 4297, 4298, 5, 434, 0, 0, 4298, + 4299, 3, 1396, 698, 0, 4299, 4300, 5, 291, 0, 0, 4300, 4301, 3, 1436, 718, + 0, 4301, 4302, 5, 138, 0, 0, 4302, 4303, 3, 434, 217, 0, 4303, 4304, 3, + 1402, 701, 0, 4304, 4305, 5, 496, 0, 0, 4305, 4306, 5, 497, 0, 0, 4306, + 4322, 1, 0, 0, 0, 4307, 4308, 5, 80, 0, 0, 4308, 4309, 5, 133, 0, 0, 4309, + 4310, 5, 434, 0, 0, 4310, 4311, 3, 1396, 698, 0, 4311, 4312, 5, 291, 0, + 0, 4312, 4313, 3, 1436, 718, 0, 4313, 4314, 5, 470, 0, 0, 4314, 4315, 3, + 448, 224, 0, 4315, 4316, 5, 138, 0, 0, 4316, 4317, 3, 434, 217, 0, 4317, + 4318, 3, 1402, 701, 0, 4318, 4319, 5, 496, 0, 0, 4319, 4320, 5, 497, 0, + 0, 4320, 4322, 1, 0, 0, 0, 4321, 4295, 1, 0, 0, 0, 4321, 4307, 1, 0, 0, + 0, 4322, 447, 1, 0, 0, 0, 4323, 4328, 3, 450, 225, 0, 4324, 4325, 5, 16, + 0, 0, 4325, 4327, 3, 450, 225, 0, 4326, 4324, 1, 0, 0, 0, 4327, 4330, 1, + 0, 0, 0, 4328, 4326, 1, 0, 0, 0, 4328, 4329, 1, 0, 0, 0, 4329, 449, 1, + 0, 0, 0, 4330, 4328, 1, 0, 0, 0, 4331, 4332, 3, 1428, 714, 0, 4332, 4333, + 5, 183, 0, 0, 4333, 4334, 5, 496, 0, 0, 4334, 4335, 3, 452, 226, 0, 4335, + 4336, 5, 497, 0, 0, 4336, 451, 1, 0, 0, 0, 4337, 4342, 3, 1414, 707, 0, + 4338, 4339, 5, 500, 0, 0, 4339, 4341, 3, 1414, 707, 0, 4340, 4338, 1, 0, + 0, 0, 4341, 4344, 1, 0, 0, 0, 4342, 4340, 1, 0, 0, 0, 4342, 4343, 1, 0, + 0, 0, 4343, 453, 1, 0, 0, 0, 4344, 4342, 1, 0, 0, 0, 4345, 4346, 5, 12, + 0, 0, 4346, 4347, 5, 133, 0, 0, 4347, 4348, 5, 434, 0, 0, 4348, 4349, 3, + 1396, 698, 0, 4349, 4350, 3, 456, 228, 0, 4350, 455, 1, 0, 0, 0, 4351, + 4358, 5, 125, 0, 0, 4352, 4353, 5, 125, 0, 0, 4353, 4358, 5, 352, 0, 0, + 4354, 4355, 5, 125, 0, 0, 4355, 4358, 5, 13, 0, 0, 4356, 4358, 5, 114, + 0, 0, 4357, 4351, 1, 0, 0, 0, 4357, 4352, 1, 0, 0, 0, 4357, 4354, 1, 0, + 0, 0, 4357, 4356, 1, 0, 0, 0, 4358, 457, 1, 0, 0, 0, 4359, 4360, 5, 80, + 0, 0, 4360, 4361, 5, 22, 0, 0, 4361, 4362, 3, 526, 263, 0, 4362, 4363, + 5, 53, 0, 0, 4363, 4364, 5, 496, 0, 0, 4364, 4365, 3, 1172, 586, 0, 4365, + 4366, 5, 497, 0, 0, 4366, 4367, 3, 442, 221, 0, 4367, 459, 1, 0, 0, 0, + 4368, 4370, 5, 80, 0, 0, 4369, 4371, 3, 624, 312, 0, 4370, 4369, 1, 0, + 0, 0, 4370, 4371, 1, 0, 0, 0, 4371, 4372, 1, 0, 0, 0, 4372, 4373, 5, 9, + 0, 0, 4373, 4374, 3, 1402, 701, 0, 4374, 4375, 3, 652, 326, 0, 4375, 4376, + 3, 462, 231, 0, 4376, 4483, 1, 0, 0, 0, 4377, 4379, 5, 80, 0, 0, 4378, + 4380, 3, 624, 312, 0, 4379, 4378, 1, 0, 0, 0, 4379, 4380, 1, 0, 0, 0, 4380, + 4381, 1, 0, 0, 0, 4381, 4382, 5, 9, 0, 0, 4382, 4383, 3, 1402, 701, 0, + 4383, 4384, 3, 470, 235, 0, 4384, 4483, 1, 0, 0, 0, 4385, 4386, 5, 80, + 0, 0, 4386, 4387, 5, 293, 0, 0, 4387, 4388, 3, 690, 345, 0, 4388, 4389, + 3, 462, 231, 0, 4389, 4483, 1, 0, 0, 0, 4390, 4391, 5, 80, 0, 0, 4391, + 4392, 5, 439, 0, 0, 4392, 4393, 3, 526, 263, 0, 4393, 4394, 3, 462, 231, + 0, 4394, 4483, 1, 0, 0, 0, 4395, 4396, 5, 80, 0, 0, 4396, 4397, 5, 439, + 0, 0, 4397, 4483, 3, 526, 263, 0, 4398, 4399, 5, 80, 0, 0, 4399, 4400, + 5, 439, 0, 0, 4400, 4401, 3, 526, 263, 0, 4401, 4402, 5, 19, 0, 0, 4402, + 4404, 5, 496, 0, 0, 4403, 4405, 3, 1106, 553, 0, 4404, 4403, 1, 0, 0, 0, + 4404, 4405, 1, 0, 0, 0, 4405, 4406, 1, 0, 0, 0, 4406, 4407, 5, 497, 0, + 0, 4407, 4483, 1, 0, 0, 0, 4408, 4409, 5, 80, 0, 0, 4409, 4410, 5, 439, + 0, 0, 4410, 4411, 3, 526, 263, 0, 4411, 4412, 5, 19, 0, 0, 4412, 4413, + 5, 130, 0, 0, 4413, 4415, 5, 496, 0, 0, 4414, 4416, 3, 476, 238, 0, 4415, + 4414, 1, 0, 0, 0, 4415, 4416, 1, 0, 0, 0, 4416, 4417, 1, 0, 0, 0, 4417, + 4418, 5, 497, 0, 0, 4418, 4483, 1, 0, 0, 0, 4419, 4420, 5, 80, 0, 0, 4420, + 4421, 5, 439, 0, 0, 4421, 4422, 3, 526, 263, 0, 4422, 4423, 5, 19, 0, 0, + 4423, 4424, 5, 337, 0, 0, 4424, 4425, 3, 462, 231, 0, 4425, 4483, 1, 0, + 0, 0, 4426, 4427, 5, 80, 0, 0, 4427, 4428, 5, 424, 0, 0, 4428, 4429, 5, + 374, 0, 0, 4429, 4430, 5, 310, 0, 0, 4430, 4431, 3, 526, 263, 0, 4431, + 4432, 3, 462, 231, 0, 4432, 4483, 1, 0, 0, 0, 4433, 4434, 5, 80, 0, 0, + 4434, 4435, 5, 424, 0, 0, 4435, 4436, 5, 374, 0, 0, 4436, 4437, 5, 113, 0, 0, 4437, 4438, 3, 526, 263, 0, 4438, 4439, 3, 462, 231, 0, 4439, 4483, - 1, 0, 0, 0, 4440, 4441, 5, 46, 0, 0, 4441, 4442, 5, 367, 0, 0, 4442, 4443, - 5, 337, 0, 0, 4443, 4444, 5, 365, 0, 0, 4444, 4445, 3, 526, 263, 0, 4445, - 4446, 3, 462, 231, 0, 4446, 4483, 1, 0, 0, 0, 4447, 4448, 5, 46, 0, 0, - 4448, 4449, 5, 367, 0, 0, 4449, 4450, 5, 337, 0, 0, 4450, 4451, 5, 182, + 1, 0, 0, 0, 4440, 4441, 5, 80, 0, 0, 4441, 4442, 5, 424, 0, 0, 4442, 4443, + 5, 374, 0, 0, 4443, 4444, 5, 422, 0, 0, 4444, 4445, 3, 526, 263, 0, 4445, + 4446, 3, 462, 231, 0, 4446, 4483, 1, 0, 0, 0, 4447, 4448, 5, 80, 0, 0, + 4448, 4449, 5, 424, 0, 0, 4449, 4450, 5, 374, 0, 0, 4450, 4451, 5, 70, 0, 0, 4451, 4452, 3, 526, 263, 0, 4452, 4453, 3, 462, 231, 0, 4453, 4483, - 1, 0, 0, 0, 4454, 4455, 5, 46, 0, 0, 4455, 4456, 5, 127, 0, 0, 4456, 4457, + 1, 0, 0, 0, 4454, 4455, 5, 80, 0, 0, 4455, 4456, 5, 60, 0, 0, 4456, 4457, 3, 526, 263, 0, 4457, 4458, 3, 462, 231, 0, 4458, 4483, 1, 0, 0, 0, 4459, - 4460, 5, 46, 0, 0, 4460, 4461, 5, 127, 0, 0, 4461, 4462, 5, 239, 0, 0, - 4462, 4463, 5, 77, 0, 0, 4463, 4464, 5, 409, 0, 0, 4464, 4465, 3, 526, - 263, 0, 4465, 4466, 3, 462, 231, 0, 4466, 4483, 1, 0, 0, 0, 4467, 4468, - 5, 46, 0, 0, 4468, 4469, 5, 127, 0, 0, 4469, 4470, 3, 526, 263, 0, 4470, - 4471, 5, 64, 0, 0, 4471, 4472, 3, 526, 263, 0, 4472, 4483, 1, 0, 0, 0, - 4473, 4474, 5, 46, 0, 0, 4474, 4475, 5, 127, 0, 0, 4475, 4476, 5, 239, - 0, 0, 4476, 4477, 5, 77, 0, 0, 4477, 4478, 5, 409, 0, 0, 4478, 4479, 3, - 526, 263, 0, 4479, 4480, 5, 64, 0, 0, 4480, 4481, 3, 526, 263, 0, 4481, - 4483, 1, 0, 0, 0, 4482, 4368, 1, 0, 0, 0, 4482, 4377, 1, 0, 0, 0, 4482, - 4385, 1, 0, 0, 0, 4482, 4390, 1, 0, 0, 0, 4482, 4395, 1, 0, 0, 0, 4482, - 4398, 1, 0, 0, 0, 4482, 4408, 1, 0, 0, 0, 4482, 4419, 1, 0, 0, 0, 4482, - 4426, 1, 0, 0, 0, 4482, 4433, 1, 0, 0, 0, 4482, 4440, 1, 0, 0, 0, 4482, - 4447, 1, 0, 0, 0, 4482, 4454, 1, 0, 0, 0, 4482, 4459, 1, 0, 0, 0, 4482, - 4467, 1, 0, 0, 0, 4482, 4473, 1, 0, 0, 0, 4483, 461, 1, 0, 0, 0, 4484, - 4485, 5, 2, 0, 0, 4485, 4486, 3, 464, 232, 0, 4486, 4487, 5, 3, 0, 0, 4487, - 463, 1, 0, 0, 0, 4488, 4493, 3, 466, 233, 0, 4489, 4490, 5, 6, 0, 0, 4490, - 4492, 3, 466, 233, 0, 4491, 4489, 1, 0, 0, 0, 4492, 4495, 1, 0, 0, 0, 4493, - 4491, 1, 0, 0, 0, 4493, 4494, 1, 0, 0, 0, 4494, 465, 1, 0, 0, 0, 4495, - 4493, 1, 0, 0, 0, 4496, 4499, 3, 1434, 717, 0, 4497, 4498, 5, 10, 0, 0, - 4498, 4500, 3, 468, 234, 0, 4499, 4497, 1, 0, 0, 0, 4499, 4500, 1, 0, 0, - 0, 4500, 467, 1, 0, 0, 0, 4501, 4508, 3, 646, 323, 0, 4502, 4508, 3, 1446, - 723, 0, 4503, 4508, 3, 1328, 664, 0, 4504, 4508, 3, 294, 147, 0, 4505, - 4508, 3, 1412, 706, 0, 4506, 4508, 5, 420, 0, 0, 4507, 4501, 1, 0, 0, 0, - 4507, 4502, 1, 0, 0, 0, 4507, 4503, 1, 0, 0, 0, 4507, 4504, 1, 0, 0, 0, - 4507, 4505, 1, 0, 0, 0, 4507, 4506, 1, 0, 0, 0, 4508, 469, 1, 0, 0, 0, - 4509, 4510, 5, 2, 0, 0, 4510, 4511, 3, 472, 236, 0, 4511, 4512, 5, 3, 0, - 0, 4512, 471, 1, 0, 0, 0, 4513, 4518, 3, 474, 237, 0, 4514, 4515, 5, 6, - 0, 0, 4515, 4517, 3, 474, 237, 0, 4516, 4514, 1, 0, 0, 0, 4517, 4520, 1, - 0, 0, 0, 4518, 4516, 1, 0, 0, 0, 4518, 4519, 1, 0, 0, 0, 4519, 473, 1, - 0, 0, 0, 4520, 4518, 1, 0, 0, 0, 4521, 4522, 3, 1436, 718, 0, 4522, 4523, - 5, 10, 0, 0, 4523, 4524, 3, 468, 234, 0, 4524, 475, 1, 0, 0, 0, 4525, 4526, - 3, 478, 239, 0, 4526, 477, 1, 0, 0, 0, 4527, 4532, 3, 1412, 706, 0, 4528, - 4529, 5, 6, 0, 0, 4529, 4531, 3, 1412, 706, 0, 4530, 4528, 1, 0, 0, 0, - 4531, 4534, 1, 0, 0, 0, 4532, 4530, 1, 0, 0, 0, 4532, 4533, 1, 0, 0, 0, - 4533, 479, 1, 0, 0, 0, 4534, 4532, 1, 0, 0, 0, 4535, 4536, 5, 157, 0, 0, - 4536, 4537, 5, 372, 0, 0, 4537, 4538, 3, 526, 263, 0, 4538, 4539, 5, 152, - 0, 0, 4539, 4541, 5, 471, 0, 0, 4540, 4542, 3, 482, 241, 0, 4541, 4540, - 1, 0, 0, 0, 4541, 4542, 1, 0, 0, 0, 4542, 4543, 1, 0, 0, 0, 4543, 4544, - 3, 1412, 706, 0, 4544, 4579, 1, 0, 0, 0, 4545, 4546, 5, 157, 0, 0, 4546, - 4547, 5, 372, 0, 0, 4547, 4548, 3, 526, 263, 0, 4548, 4549, 5, 152, 0, - 0, 4549, 4551, 5, 471, 0, 0, 4550, 4552, 3, 482, 241, 0, 4551, 4550, 1, - 0, 0, 0, 4551, 4552, 1, 0, 0, 0, 4552, 4553, 1, 0, 0, 0, 4553, 4554, 3, - 1412, 706, 0, 4554, 4555, 5, 164, 0, 0, 4555, 4556, 3, 1412, 706, 0, 4556, - 4579, 1, 0, 0, 0, 4557, 4558, 5, 157, 0, 0, 4558, 4559, 5, 372, 0, 0, 4559, - 4560, 3, 526, 263, 0, 4560, 4561, 5, 152, 0, 0, 4561, 4563, 5, 471, 0, - 0, 4562, 4564, 3, 482, 241, 0, 4563, 4562, 1, 0, 0, 0, 4563, 4564, 1, 0, - 0, 0, 4564, 4565, 1, 0, 0, 0, 4565, 4566, 3, 1412, 706, 0, 4566, 4567, - 5, 154, 0, 0, 4567, 4568, 3, 1412, 706, 0, 4568, 4579, 1, 0, 0, 0, 4569, - 4570, 5, 157, 0, 0, 4570, 4571, 5, 372, 0, 0, 4571, 4572, 3, 526, 263, - 0, 4572, 4573, 5, 321, 0, 0, 4573, 4574, 5, 471, 0, 0, 4574, 4575, 3, 1412, - 706, 0, 4575, 4576, 5, 94, 0, 0, 4576, 4577, 3, 1412, 706, 0, 4577, 4579, - 1, 0, 0, 0, 4578, 4535, 1, 0, 0, 0, 4578, 4545, 1, 0, 0, 0, 4578, 4557, - 1, 0, 0, 0, 4578, 4569, 1, 0, 0, 0, 4579, 481, 1, 0, 0, 0, 4580, 4581, - 5, 239, 0, 0, 4581, 4582, 5, 77, 0, 0, 4582, 4583, 5, 409, 0, 0, 4583, - 483, 1, 0, 0, 0, 4584, 4585, 5, 46, 0, 0, 4585, 4586, 5, 290, 0, 0, 4586, - 4587, 5, 175, 0, 0, 4587, 4589, 3, 526, 263, 0, 4588, 4590, 3, 490, 245, - 0, 4589, 4588, 1, 0, 0, 0, 4589, 4590, 1, 0, 0, 0, 4590, 4591, 1, 0, 0, - 0, 4591, 4592, 5, 62, 0, 0, 4592, 4593, 5, 372, 0, 0, 4593, 4594, 3, 1126, - 563, 0, 4594, 4595, 5, 100, 0, 0, 4595, 4597, 3, 1394, 697, 0, 4596, 4598, - 3, 492, 246, 0, 4597, 4596, 1, 0, 0, 0, 4597, 4598, 1, 0, 0, 0, 4598, 4599, - 1, 0, 0, 0, 4599, 4600, 5, 36, 0, 0, 4600, 4601, 3, 486, 243, 0, 4601, - 485, 1, 0, 0, 0, 4602, 4607, 3, 488, 244, 0, 4603, 4604, 5, 6, 0, 0, 4604, - 4606, 3, 488, 244, 0, 4605, 4603, 1, 0, 0, 0, 4606, 4609, 1, 0, 0, 0, 4607, - 4605, 1, 0, 0, 0, 4607, 4608, 1, 0, 0, 0, 4608, 487, 1, 0, 0, 0, 4609, - 4607, 1, 0, 0, 0, 4610, 4611, 5, 290, 0, 0, 4611, 4612, 3, 1410, 705, 0, - 4612, 4614, 3, 690, 345, 0, 4613, 4615, 3, 494, 247, 0, 4614, 4613, 1, - 0, 0, 0, 4614, 4615, 1, 0, 0, 0, 4615, 4617, 1, 0, 0, 0, 4616, 4618, 3, - 496, 248, 0, 4617, 4616, 1, 0, 0, 0, 4617, 4618, 1, 0, 0, 0, 4618, 4642, - 1, 0, 0, 0, 4619, 4620, 5, 290, 0, 0, 4620, 4621, 3, 1410, 705, 0, 4621, - 4623, 3, 694, 347, 0, 4622, 4624, 3, 494, 247, 0, 4623, 4622, 1, 0, 0, - 0, 4623, 4624, 1, 0, 0, 0, 4624, 4626, 1, 0, 0, 0, 4625, 4627, 3, 496, - 248, 0, 4626, 4625, 1, 0, 0, 0, 4626, 4627, 1, 0, 0, 0, 4627, 4642, 1, - 0, 0, 0, 4628, 4629, 5, 230, 0, 0, 4629, 4630, 3, 1410, 705, 0, 4630, 4631, - 3, 632, 316, 0, 4631, 4642, 1, 0, 0, 0, 4632, 4633, 5, 230, 0, 0, 4633, - 4634, 3, 1410, 705, 0, 4634, 4635, 5, 2, 0, 0, 4635, 4636, 3, 1338, 669, - 0, 4636, 4637, 5, 3, 0, 0, 4637, 4638, 3, 632, 316, 0, 4638, 4642, 1, 0, - 0, 0, 4639, 4640, 5, 357, 0, 0, 4640, 4642, 3, 1126, 563, 0, 4641, 4610, - 1, 0, 0, 0, 4641, 4619, 1, 0, 0, 0, 4641, 4628, 1, 0, 0, 0, 4641, 4632, - 1, 0, 0, 0, 4641, 4639, 1, 0, 0, 0, 4642, 489, 1, 0, 0, 0, 4643, 4644, - 5, 53, 0, 0, 4644, 491, 1, 0, 0, 0, 4645, 4646, 5, 225, 0, 0, 4646, 4647, - 3, 526, 263, 0, 4647, 493, 1, 0, 0, 0, 4648, 4649, 5, 62, 0, 0, 4649, 4655, - 5, 337, 0, 0, 4650, 4651, 5, 62, 0, 0, 4651, 4652, 5, 83, 0, 0, 4652, 4653, - 5, 166, 0, 0, 4653, 4655, 3, 526, 263, 0, 4654, 4648, 1, 0, 0, 0, 4654, - 4650, 1, 0, 0, 0, 4655, 495, 1, 0, 0, 0, 4656, 4657, 5, 314, 0, 0, 4657, - 497, 1, 0, 0, 0, 4658, 4659, 5, 46, 0, 0, 4659, 4660, 5, 290, 0, 0, 4660, - 4661, 5, 225, 0, 0, 4661, 4662, 3, 526, 263, 0, 4662, 4663, 5, 100, 0, - 0, 4663, 4664, 3, 1394, 697, 0, 4664, 499, 1, 0, 0, 0, 4665, 4666, 5, 157, - 0, 0, 4666, 4667, 5, 290, 0, 0, 4667, 4668, 5, 225, 0, 0, 4668, 4669, 3, - 526, 263, 0, 4669, 4670, 5, 100, 0, 0, 4670, 4671, 3, 1394, 697, 0, 4671, - 4672, 5, 152, 0, 0, 4672, 4673, 3, 486, 243, 0, 4673, 4684, 1, 0, 0, 0, - 4674, 4675, 5, 157, 0, 0, 4675, 4676, 5, 290, 0, 0, 4676, 4677, 5, 225, - 0, 0, 4677, 4678, 3, 526, 263, 0, 4678, 4679, 5, 100, 0, 0, 4679, 4680, - 3, 1394, 697, 0, 4680, 4681, 5, 210, 0, 0, 4681, 4682, 3, 502, 251, 0, - 4682, 4684, 1, 0, 0, 0, 4683, 4665, 1, 0, 0, 0, 4683, 4674, 1, 0, 0, 0, - 4684, 501, 1, 0, 0, 0, 4685, 4690, 3, 504, 252, 0, 4686, 4687, 5, 6, 0, - 0, 4687, 4689, 3, 504, 252, 0, 4688, 4686, 1, 0, 0, 0, 4689, 4692, 1, 0, - 0, 0, 4690, 4688, 1, 0, 0, 0, 4690, 4691, 1, 0, 0, 0, 4691, 503, 1, 0, - 0, 0, 4692, 4690, 1, 0, 0, 0, 4693, 4694, 5, 290, 0, 0, 4694, 4695, 3, - 1410, 705, 0, 4695, 4696, 5, 2, 0, 0, 4696, 4697, 3, 1338, 669, 0, 4697, - 4698, 5, 3, 0, 0, 4698, 4706, 1, 0, 0, 0, 4699, 4700, 5, 230, 0, 0, 4700, - 4701, 3, 1410, 705, 0, 4701, 4702, 5, 2, 0, 0, 4702, 4703, 3, 1338, 669, - 0, 4703, 4704, 5, 3, 0, 0, 4704, 4706, 1, 0, 0, 0, 4705, 4693, 1, 0, 0, - 0, 4705, 4699, 1, 0, 0, 0, 4706, 505, 1, 0, 0, 0, 4707, 4708, 5, 210, 0, - 0, 4708, 4709, 5, 290, 0, 0, 4709, 4710, 5, 175, 0, 0, 4710, 4711, 3, 526, - 263, 0, 4711, 4712, 5, 100, 0, 0, 4712, 4714, 3, 1394, 697, 0, 4713, 4715, - 3, 108, 54, 0, 4714, 4713, 1, 0, 0, 0, 4714, 4715, 1, 0, 0, 0, 4715, 4728, - 1, 0, 0, 0, 4716, 4717, 5, 210, 0, 0, 4717, 4718, 5, 290, 0, 0, 4718, 4719, - 5, 175, 0, 0, 4719, 4720, 5, 239, 0, 0, 4720, 4721, 5, 409, 0, 0, 4721, - 4722, 3, 526, 263, 0, 4722, 4723, 5, 100, 0, 0, 4723, 4725, 3, 1394, 697, - 0, 4724, 4726, 3, 108, 54, 0, 4725, 4724, 1, 0, 0, 0, 4725, 4726, 1, 0, - 0, 0, 4726, 4728, 1, 0, 0, 0, 4727, 4707, 1, 0, 0, 0, 4727, 4716, 1, 0, - 0, 0, 4728, 507, 1, 0, 0, 0, 4729, 4730, 5, 210, 0, 0, 4730, 4731, 5, 290, - 0, 0, 4731, 4732, 5, 225, 0, 0, 4732, 4733, 3, 526, 263, 0, 4733, 4734, - 5, 100, 0, 0, 4734, 4736, 3, 1394, 697, 0, 4735, 4737, 3, 108, 54, 0, 4736, - 4735, 1, 0, 0, 0, 4736, 4737, 1, 0, 0, 0, 4737, 4750, 1, 0, 0, 0, 4738, - 4739, 5, 210, 0, 0, 4739, 4740, 5, 290, 0, 0, 4740, 4741, 5, 225, 0, 0, - 4741, 4742, 5, 239, 0, 0, 4742, 4743, 5, 409, 0, 0, 4743, 4744, 3, 526, - 263, 0, 4744, 4745, 5, 100, 0, 0, 4745, 4747, 3, 1394, 697, 0, 4746, 4748, - 3, 108, 54, 0, 4747, 4746, 1, 0, 0, 0, 4747, 4748, 1, 0, 0, 0, 4748, 4750, - 1, 0, 0, 0, 4749, 4729, 1, 0, 0, 0, 4749, 4738, 1, 0, 0, 0, 4750, 509, - 1, 0, 0, 0, 4751, 4752, 5, 210, 0, 0, 4752, 4753, 5, 293, 0, 0, 4753, 4754, - 5, 166, 0, 0, 4754, 4756, 3, 1424, 712, 0, 4755, 4757, 3, 108, 54, 0, 4756, - 4755, 1, 0, 0, 0, 4756, 4757, 1, 0, 0, 0, 4757, 511, 1, 0, 0, 0, 4758, - 4759, 5, 313, 0, 0, 4759, 4760, 5, 293, 0, 0, 4760, 4761, 5, 166, 0, 0, - 4761, 4762, 3, 1424, 712, 0, 4762, 4763, 5, 94, 0, 0, 4763, 4764, 3, 1422, - 711, 0, 4764, 513, 1, 0, 0, 0, 4765, 4766, 5, 210, 0, 0, 4766, 4767, 3, - 516, 258, 0, 4767, 4768, 5, 239, 0, 0, 4768, 4769, 5, 409, 0, 0, 4769, - 4771, 3, 524, 262, 0, 4770, 4772, 3, 108, 54, 0, 4771, 4770, 1, 0, 0, 0, - 4771, 4772, 1, 0, 0, 0, 4772, 4856, 1, 0, 0, 0, 4773, 4774, 5, 210, 0, - 0, 4774, 4775, 3, 516, 258, 0, 4775, 4777, 3, 524, 262, 0, 4776, 4778, - 3, 108, 54, 0, 4777, 4776, 1, 0, 0, 0, 4777, 4778, 1, 0, 0, 0, 4778, 4856, - 1, 0, 0, 0, 4779, 4780, 5, 210, 0, 0, 4780, 4781, 3, 520, 260, 0, 4781, - 4782, 5, 239, 0, 0, 4782, 4783, 5, 409, 0, 0, 4783, 4785, 3, 1392, 696, - 0, 4784, 4786, 3, 108, 54, 0, 4785, 4784, 1, 0, 0, 0, 4785, 4786, 1, 0, - 0, 0, 4786, 4856, 1, 0, 0, 0, 4787, 4788, 5, 210, 0, 0, 4788, 4789, 3, - 520, 260, 0, 4789, 4791, 3, 1392, 696, 0, 4790, 4792, 3, 108, 54, 0, 4791, - 4790, 1, 0, 0, 0, 4791, 4792, 1, 0, 0, 0, 4792, 4856, 1, 0, 0, 0, 4793, - 4794, 5, 210, 0, 0, 4794, 4795, 3, 522, 261, 0, 4795, 4796, 3, 1394, 697, - 0, 4796, 4797, 5, 80, 0, 0, 4797, 4799, 3, 526, 263, 0, 4798, 4800, 3, - 108, 54, 0, 4799, 4798, 1, 0, 0, 0, 4799, 4800, 1, 0, 0, 0, 4800, 4856, - 1, 0, 0, 0, 4801, 4802, 5, 210, 0, 0, 4802, 4803, 3, 522, 261, 0, 4803, - 4804, 5, 239, 0, 0, 4804, 4805, 5, 409, 0, 0, 4805, 4806, 3, 1394, 697, - 0, 4806, 4807, 5, 80, 0, 0, 4807, 4809, 3, 526, 263, 0, 4808, 4810, 3, - 108, 54, 0, 4809, 4808, 1, 0, 0, 0, 4809, 4810, 1, 0, 0, 0, 4810, 4856, - 1, 0, 0, 0, 4811, 4812, 5, 210, 0, 0, 4812, 4813, 5, 372, 0, 0, 4813, 4815, - 3, 530, 265, 0, 4814, 4816, 3, 108, 54, 0, 4815, 4814, 1, 0, 0, 0, 4815, - 4816, 1, 0, 0, 0, 4816, 4856, 1, 0, 0, 0, 4817, 4818, 5, 210, 0, 0, 4818, - 4819, 5, 372, 0, 0, 4819, 4820, 5, 239, 0, 0, 4820, 4821, 5, 409, 0, 0, - 4821, 4823, 3, 530, 265, 0, 4822, 4824, 3, 108, 54, 0, 4823, 4822, 1, 0, - 0, 0, 4823, 4824, 1, 0, 0, 0, 4824, 4856, 1, 0, 0, 0, 4825, 4826, 5, 210, - 0, 0, 4826, 4827, 5, 208, 0, 0, 4827, 4829, 3, 530, 265, 0, 4828, 4830, - 3, 108, 54, 0, 4829, 4828, 1, 0, 0, 0, 4829, 4830, 1, 0, 0, 0, 4830, 4856, - 1, 0, 0, 0, 4831, 4832, 5, 210, 0, 0, 4832, 4833, 5, 208, 0, 0, 4833, 4834, - 5, 239, 0, 0, 4834, 4835, 5, 409, 0, 0, 4835, 4837, 3, 530, 265, 0, 4836, - 4838, 3, 108, 54, 0, 4837, 4836, 1, 0, 0, 0, 4837, 4838, 1, 0, 0, 0, 4838, - 4856, 1, 0, 0, 0, 4839, 4840, 5, 210, 0, 0, 4840, 4841, 5, 245, 0, 0, 4841, - 4842, 5, 128, 0, 0, 4842, 4844, 3, 524, 262, 0, 4843, 4845, 3, 108, 54, - 0, 4844, 4843, 1, 0, 0, 0, 4844, 4845, 1, 0, 0, 0, 4845, 4856, 1, 0, 0, - 0, 4846, 4847, 5, 210, 0, 0, 4847, 4848, 5, 245, 0, 0, 4848, 4849, 5, 128, - 0, 0, 4849, 4850, 5, 239, 0, 0, 4850, 4851, 5, 409, 0, 0, 4851, 4853, 3, - 524, 262, 0, 4852, 4854, 3, 108, 54, 0, 4853, 4852, 1, 0, 0, 0, 4853, 4854, - 1, 0, 0, 0, 4854, 4856, 1, 0, 0, 0, 4855, 4765, 1, 0, 0, 0, 4855, 4773, - 1, 0, 0, 0, 4855, 4779, 1, 0, 0, 0, 4855, 4787, 1, 0, 0, 0, 4855, 4793, - 1, 0, 0, 0, 4855, 4801, 1, 0, 0, 0, 4855, 4811, 1, 0, 0, 0, 4855, 4817, - 1, 0, 0, 0, 4855, 4825, 1, 0, 0, 0, 4855, 4831, 1, 0, 0, 0, 4855, 4839, - 1, 0, 0, 0, 4855, 4846, 1, 0, 0, 0, 4856, 515, 1, 0, 0, 0, 4857, 4881, - 5, 92, 0, 0, 4858, 4881, 5, 340, 0, 0, 4859, 4881, 5, 388, 0, 0, 4860, - 4861, 5, 270, 0, 0, 4861, 4881, 5, 388, 0, 0, 4862, 4881, 5, 245, 0, 0, - 4863, 4864, 5, 63, 0, 0, 4864, 4881, 5, 92, 0, 0, 4865, 4881, 5, 127, 0, - 0, 4866, 4881, 5, 187, 0, 0, 4867, 4881, 5, 354, 0, 0, 4868, 4869, 5, 367, - 0, 0, 4869, 4870, 5, 337, 0, 0, 4870, 4881, 5, 295, 0, 0, 4871, 4872, 5, - 367, 0, 0, 4872, 4873, 5, 337, 0, 0, 4873, 4881, 5, 204, 0, 0, 4874, 4875, - 5, 367, 0, 0, 4875, 4876, 5, 337, 0, 0, 4876, 4881, 5, 365, 0, 0, 4877, - 4878, 5, 367, 0, 0, 4878, 4879, 5, 337, 0, 0, 4879, 4881, 5, 182, 0, 0, - 4880, 4857, 1, 0, 0, 0, 4880, 4858, 1, 0, 0, 0, 4880, 4859, 1, 0, 0, 0, - 4880, 4860, 1, 0, 0, 0, 4880, 4862, 1, 0, 0, 0, 4880, 4863, 1, 0, 0, 0, - 4880, 4865, 1, 0, 0, 0, 4880, 4866, 1, 0, 0, 0, 4880, 4867, 1, 0, 0, 0, - 4880, 4868, 1, 0, 0, 0, 4880, 4871, 1, 0, 0, 0, 4880, 4874, 1, 0, 0, 0, - 4880, 4877, 1, 0, 0, 0, 4881, 517, 1, 0, 0, 0, 4882, 4888, 3, 520, 260, - 0, 4883, 4888, 5, 194, 0, 0, 4884, 4888, 5, 330, 0, 0, 4885, 4888, 5, 472, - 0, 0, 4886, 4888, 5, 363, 0, 0, 4887, 4882, 1, 0, 0, 0, 4887, 4883, 1, - 0, 0, 0, 4887, 4884, 1, 0, 0, 0, 4887, 4885, 1, 0, 0, 0, 4887, 4886, 1, - 0, 0, 0, 4888, 519, 1, 0, 0, 0, 4889, 4890, 5, 150, 0, 0, 4890, 4905, 5, - 467, 0, 0, 4891, 4892, 5, 217, 0, 0, 4892, 4905, 5, 369, 0, 0, 4893, 4905, - 5, 223, 0, 0, 4894, 4895, 5, 63, 0, 0, 4895, 4896, 5, 193, 0, 0, 4896, - 4905, 5, 393, 0, 0, 4897, 4899, 3, 310, 155, 0, 4898, 4897, 1, 0, 0, 0, - 4898, 4899, 1, 0, 0, 0, 4899, 4900, 1, 0, 0, 0, 4900, 4905, 5, 257, 0, - 0, 4901, 4905, 5, 473, 0, 0, 4902, 4905, 5, 335, 0, 0, 4903, 4905, 5, 343, - 0, 0, 4904, 4889, 1, 0, 0, 0, 4904, 4891, 1, 0, 0, 0, 4904, 4893, 1, 0, - 0, 0, 4904, 4894, 1, 0, 0, 0, 4904, 4898, 1, 0, 0, 0, 4904, 4901, 1, 0, - 0, 0, 4904, 4902, 1, 0, 0, 0, 4904, 4903, 1, 0, 0, 0, 4905, 521, 1, 0, - 0, 0, 4906, 4907, 7, 24, 0, 0, 4907, 523, 1, 0, 0, 0, 4908, 4913, 3, 526, - 263, 0, 4909, 4910, 5, 6, 0, 0, 4910, 4912, 3, 526, 263, 0, 4911, 4909, - 1, 0, 0, 0, 4912, 4915, 1, 0, 0, 0, 4913, 4911, 1, 0, 0, 0, 4913, 4914, - 1, 0, 0, 0, 4914, 525, 1, 0, 0, 0, 4915, 4913, 1, 0, 0, 0, 4916, 4918, - 3, 1426, 713, 0, 4917, 4919, 3, 528, 264, 0, 4918, 4917, 1, 0, 0, 0, 4918, - 4919, 1, 0, 0, 0, 4919, 527, 1, 0, 0, 0, 4920, 4921, 5, 11, 0, 0, 4921, - 4923, 3, 1396, 698, 0, 4922, 4920, 1, 0, 0, 0, 4923, 4924, 1, 0, 0, 0, - 4924, 4922, 1, 0, 0, 0, 4924, 4925, 1, 0, 0, 0, 4925, 529, 1, 0, 0, 0, - 4926, 4931, 3, 1126, 563, 0, 4927, 4928, 5, 6, 0, 0, 4928, 4930, 3, 1126, - 563, 0, 4929, 4927, 1, 0, 0, 0, 4930, 4933, 1, 0, 0, 0, 4931, 4929, 1, - 0, 0, 0, 4931, 4932, 1, 0, 0, 0, 4932, 531, 1, 0, 0, 0, 4933, 4931, 1, - 0, 0, 0, 4934, 4936, 5, 370, 0, 0, 4935, 4937, 3, 996, 498, 0, 4936, 4935, - 1, 0, 0, 0, 4936, 4937, 1, 0, 0, 0, 4937, 4938, 1, 0, 0, 0, 4938, 4940, - 3, 1084, 542, 0, 4939, 4941, 3, 534, 267, 0, 4940, 4939, 1, 0, 0, 0, 4940, - 4941, 1, 0, 0, 0, 4941, 4943, 1, 0, 0, 0, 4942, 4944, 3, 108, 54, 0, 4943, - 4942, 1, 0, 0, 0, 4943, 4944, 1, 0, 0, 0, 4944, 533, 1, 0, 0, 0, 4945, - 4946, 5, 186, 0, 0, 4946, 4950, 5, 238, 0, 0, 4947, 4948, 5, 326, 0, 0, - 4948, 4950, 5, 238, 0, 0, 4949, 4945, 1, 0, 0, 0, 4949, 4947, 1, 0, 0, - 0, 4950, 535, 1, 0, 0, 0, 4951, 4952, 5, 178, 0, 0, 4952, 4953, 5, 80, - 0, 0, 4953, 4954, 3, 516, 258, 0, 4954, 4955, 3, 526, 263, 0, 4955, 4956, - 5, 135, 0, 0, 4956, 4957, 3, 538, 269, 0, 4957, 5099, 1, 0, 0, 0, 4958, - 4959, 5, 178, 0, 0, 4959, 4960, 5, 80, 0, 0, 4960, 4961, 5, 44, 0, 0, 4961, - 4962, 3, 526, 263, 0, 4962, 4963, 5, 135, 0, 0, 4963, 4964, 3, 538, 269, - 0, 4964, 5099, 1, 0, 0, 0, 4965, 4966, 5, 178, 0, 0, 4966, 4967, 5, 80, - 0, 0, 4967, 4968, 3, 518, 259, 0, 4968, 4969, 3, 1394, 697, 0, 4969, 4970, - 5, 135, 0, 0, 4970, 4971, 3, 538, 269, 0, 4971, 5099, 1, 0, 0, 0, 4972, - 4973, 5, 178, 0, 0, 4973, 4974, 5, 80, 0, 0, 4974, 4975, 5, 372, 0, 0, - 4975, 4976, 3, 1126, 563, 0, 4976, 4977, 5, 135, 0, 0, 4977, 4978, 3, 538, - 269, 0, 4978, 5099, 1, 0, 0, 0, 4979, 4980, 5, 178, 0, 0, 4980, 4981, 5, - 80, 0, 0, 4981, 4982, 5, 208, 0, 0, 4982, 4983, 3, 1126, 563, 0, 4983, - 4984, 5, 135, 0, 0, 4984, 4985, 3, 538, 269, 0, 4985, 5099, 1, 0, 0, 0, - 4986, 4987, 5, 178, 0, 0, 4987, 4988, 5, 80, 0, 0, 4988, 4989, 5, 155, - 0, 0, 4989, 4990, 3, 656, 328, 0, 4990, 4991, 5, 135, 0, 0, 4991, 4992, - 3, 538, 269, 0, 4992, 5099, 1, 0, 0, 0, 4993, 4994, 5, 178, 0, 0, 4994, - 4995, 5, 80, 0, 0, 4995, 4996, 5, 230, 0, 0, 4996, 4997, 3, 632, 316, 0, - 4997, 4998, 5, 135, 0, 0, 4998, 4999, 3, 538, 269, 0, 4999, 5099, 1, 0, - 0, 0, 5000, 5001, 5, 178, 0, 0, 5001, 5002, 5, 80, 0, 0, 5002, 5003, 5, - 290, 0, 0, 5003, 5004, 3, 694, 347, 0, 5004, 5005, 5, 135, 0, 0, 5005, - 5006, 3, 538, 269, 0, 5006, 5099, 1, 0, 0, 0, 5007, 5008, 5, 178, 0, 0, - 5008, 5009, 5, 80, 0, 0, 5009, 5010, 5, 45, 0, 0, 5010, 5011, 3, 1394, - 697, 0, 5011, 5012, 5, 80, 0, 0, 5012, 5013, 3, 526, 263, 0, 5013, 5014, - 5, 135, 0, 0, 5014, 5015, 3, 538, 269, 0, 5015, 5099, 1, 0, 0, 0, 5016, - 5017, 5, 178, 0, 0, 5017, 5018, 5, 80, 0, 0, 5018, 5019, 5, 45, 0, 0, 5019, - 5020, 3, 1394, 697, 0, 5020, 5021, 5, 80, 0, 0, 5021, 5022, 5, 208, 0, - 0, 5022, 5023, 3, 526, 263, 0, 5023, 5024, 5, 135, 0, 0, 5024, 5025, 3, - 538, 269, 0, 5025, 5099, 1, 0, 0, 0, 5026, 5027, 5, 178, 0, 0, 5027, 5028, - 5, 80, 0, 0, 5028, 5029, 3, 522, 261, 0, 5029, 5030, 3, 1394, 697, 0, 5030, - 5031, 5, 80, 0, 0, 5031, 5032, 3, 526, 263, 0, 5032, 5033, 5, 135, 0, 0, - 5033, 5034, 3, 538, 269, 0, 5034, 5099, 1, 0, 0, 0, 5035, 5036, 5, 178, - 0, 0, 5036, 5037, 5, 80, 0, 0, 5037, 5038, 5, 308, 0, 0, 5038, 5039, 3, - 632, 316, 0, 5039, 5040, 5, 135, 0, 0, 5040, 5041, 3, 538, 269, 0, 5041, - 5099, 1, 0, 0, 0, 5042, 5043, 5, 178, 0, 0, 5043, 5044, 5, 80, 0, 0, 5044, - 5045, 5, 463, 0, 0, 5045, 5046, 3, 632, 316, 0, 5046, 5047, 5, 135, 0, - 0, 5047, 5048, 3, 538, 269, 0, 5048, 5099, 1, 0, 0, 0, 5049, 5050, 5, 178, - 0, 0, 5050, 5051, 5, 80, 0, 0, 5051, 5052, 5, 464, 0, 0, 5052, 5053, 5, - 62, 0, 0, 5053, 5054, 3, 1126, 563, 0, 5054, 5055, 5, 257, 0, 0, 5055, - 5056, 3, 1394, 697, 0, 5056, 5057, 5, 135, 0, 0, 5057, 5058, 3, 538, 269, - 0, 5058, 5099, 1, 0, 0, 0, 5059, 5060, 5, 178, 0, 0, 5060, 5061, 5, 80, - 0, 0, 5061, 5062, 5, 290, 0, 0, 5062, 5063, 5, 175, 0, 0, 5063, 5064, 3, - 526, 263, 0, 5064, 5065, 5, 100, 0, 0, 5065, 5066, 3, 1394, 697, 0, 5066, - 5067, 5, 135, 0, 0, 5067, 5068, 3, 538, 269, 0, 5068, 5099, 1, 0, 0, 0, - 5069, 5070, 5, 178, 0, 0, 5070, 5071, 5, 80, 0, 0, 5071, 5072, 5, 290, - 0, 0, 5072, 5073, 5, 225, 0, 0, 5073, 5074, 3, 526, 263, 0, 5074, 5075, - 5, 100, 0, 0, 5075, 5076, 3, 1394, 697, 0, 5076, 5077, 5, 135, 0, 0, 5077, - 5078, 3, 538, 269, 0, 5078, 5099, 1, 0, 0, 0, 5079, 5080, 5, 178, 0, 0, - 5080, 5081, 5, 80, 0, 0, 5081, 5082, 5, 258, 0, 0, 5082, 5083, 5, 286, - 0, 0, 5083, 5084, 3, 294, 147, 0, 5084, 5085, 5, 135, 0, 0, 5085, 5086, - 3, 538, 269, 0, 5086, 5099, 1, 0, 0, 0, 5087, 5088, 5, 178, 0, 0, 5088, - 5089, 5, 80, 0, 0, 5089, 5090, 5, 41, 0, 0, 5090, 5091, 5, 2, 0, 0, 5091, - 5092, 3, 1126, 563, 0, 5092, 5093, 5, 36, 0, 0, 5093, 5094, 3, 1126, 563, - 0, 5094, 5095, 5, 3, 0, 0, 5095, 5096, 5, 135, 0, 0, 5096, 5097, 3, 538, - 269, 0, 5097, 5099, 1, 0, 0, 0, 5098, 4951, 1, 0, 0, 0, 5098, 4958, 1, - 0, 0, 0, 5098, 4965, 1, 0, 0, 0, 5098, 4972, 1, 0, 0, 0, 5098, 4979, 1, - 0, 0, 0, 5098, 4986, 1, 0, 0, 0, 5098, 4993, 1, 0, 0, 0, 5098, 5000, 1, - 0, 0, 0, 5098, 5007, 1, 0, 0, 0, 5098, 5016, 1, 0, 0, 0, 5098, 5026, 1, - 0, 0, 0, 5098, 5035, 1, 0, 0, 0, 5098, 5042, 1, 0, 0, 0, 5098, 5049, 1, - 0, 0, 0, 5098, 5059, 1, 0, 0, 0, 5098, 5069, 1, 0, 0, 0, 5098, 5079, 1, - 0, 0, 0, 5098, 5087, 1, 0, 0, 0, 5099, 537, 1, 0, 0, 0, 5100, 5103, 3, - 1412, 706, 0, 5101, 5103, 5, 78, 0, 0, 5102, 5100, 1, 0, 0, 0, 5102, 5101, - 1, 0, 0, 0, 5103, 539, 1, 0, 0, 0, 5104, 5105, 5, 339, 0, 0, 5105, 5107, - 5, 256, 0, 0, 5106, 5108, 3, 542, 271, 0, 5107, 5106, 1, 0, 0, 0, 5107, - 5108, 1, 0, 0, 0, 5108, 5109, 1, 0, 0, 0, 5109, 5110, 5, 80, 0, 0, 5110, - 5111, 3, 516, 258, 0, 5111, 5112, 3, 526, 263, 0, 5112, 5113, 5, 135, 0, - 0, 5113, 5114, 3, 544, 272, 0, 5114, 5216, 1, 0, 0, 0, 5115, 5116, 5, 339, - 0, 0, 5116, 5118, 5, 256, 0, 0, 5117, 5119, 3, 542, 271, 0, 5118, 5117, - 1, 0, 0, 0, 5118, 5119, 1, 0, 0, 0, 5119, 5120, 1, 0, 0, 0, 5120, 5121, - 5, 80, 0, 0, 5121, 5122, 5, 44, 0, 0, 5122, 5123, 3, 526, 263, 0, 5123, - 5124, 5, 135, 0, 0, 5124, 5125, 3, 544, 272, 0, 5125, 5216, 1, 0, 0, 0, - 5126, 5127, 5, 339, 0, 0, 5127, 5129, 5, 256, 0, 0, 5128, 5130, 3, 542, - 271, 0, 5129, 5128, 1, 0, 0, 0, 5129, 5130, 1, 0, 0, 0, 5130, 5131, 1, - 0, 0, 0, 5131, 5132, 5, 80, 0, 0, 5132, 5133, 3, 518, 259, 0, 5133, 5134, - 3, 1394, 697, 0, 5134, 5135, 5, 135, 0, 0, 5135, 5136, 3, 544, 272, 0, - 5136, 5216, 1, 0, 0, 0, 5137, 5138, 5, 339, 0, 0, 5138, 5140, 5, 256, 0, - 0, 5139, 5141, 3, 542, 271, 0, 5140, 5139, 1, 0, 0, 0, 5140, 5141, 1, 0, - 0, 0, 5141, 5142, 1, 0, 0, 0, 5142, 5143, 5, 80, 0, 0, 5143, 5144, 5, 372, - 0, 0, 5144, 5145, 3, 1126, 563, 0, 5145, 5146, 5, 135, 0, 0, 5146, 5147, - 3, 544, 272, 0, 5147, 5216, 1, 0, 0, 0, 5148, 5149, 5, 339, 0, 0, 5149, - 5151, 5, 256, 0, 0, 5150, 5152, 3, 542, 271, 0, 5151, 5150, 1, 0, 0, 0, - 5151, 5152, 1, 0, 0, 0, 5152, 5153, 1, 0, 0, 0, 5153, 5154, 5, 80, 0, 0, - 5154, 5155, 5, 208, 0, 0, 5155, 5156, 3, 1126, 563, 0, 5156, 5157, 5, 135, - 0, 0, 5157, 5158, 3, 544, 272, 0, 5158, 5216, 1, 0, 0, 0, 5159, 5160, 5, - 339, 0, 0, 5160, 5162, 5, 256, 0, 0, 5161, 5163, 3, 542, 271, 0, 5162, - 5161, 1, 0, 0, 0, 5162, 5163, 1, 0, 0, 0, 5163, 5164, 1, 0, 0, 0, 5164, - 5165, 5, 80, 0, 0, 5165, 5166, 5, 155, 0, 0, 5166, 5167, 3, 656, 328, 0, - 5167, 5168, 5, 135, 0, 0, 5168, 5169, 3, 544, 272, 0, 5169, 5216, 1, 0, - 0, 0, 5170, 5171, 5, 339, 0, 0, 5171, 5173, 5, 256, 0, 0, 5172, 5174, 3, - 542, 271, 0, 5173, 5172, 1, 0, 0, 0, 5173, 5174, 1, 0, 0, 0, 5174, 5175, - 1, 0, 0, 0, 5175, 5176, 5, 80, 0, 0, 5176, 5177, 5, 230, 0, 0, 5177, 5178, - 3, 632, 316, 0, 5178, 5179, 5, 135, 0, 0, 5179, 5180, 3, 544, 272, 0, 5180, - 5216, 1, 0, 0, 0, 5181, 5182, 5, 339, 0, 0, 5182, 5184, 5, 256, 0, 0, 5183, + 4460, 5, 80, 0, 0, 4460, 4461, 5, 60, 0, 0, 4461, 4462, 5, 177, 0, 0, 4462, + 4463, 5, 274, 0, 0, 4463, 4464, 5, 139, 0, 0, 4464, 4465, 3, 526, 263, + 0, 4465, 4466, 3, 462, 231, 0, 4466, 4483, 1, 0, 0, 0, 4467, 4468, 5, 80, + 0, 0, 4468, 4469, 5, 60, 0, 0, 4469, 4470, 3, 526, 263, 0, 4470, 4471, + 5, 159, 0, 0, 4471, 4472, 3, 526, 263, 0, 4472, 4483, 1, 0, 0, 0, 4473, + 4474, 5, 80, 0, 0, 4474, 4475, 5, 60, 0, 0, 4475, 4476, 5, 177, 0, 0, 4476, + 4477, 5, 274, 0, 0, 4477, 4478, 5, 139, 0, 0, 4478, 4479, 3, 526, 263, + 0, 4479, 4480, 5, 159, 0, 0, 4480, 4481, 3, 526, 263, 0, 4481, 4483, 1, + 0, 0, 0, 4482, 4368, 1, 0, 0, 0, 4482, 4377, 1, 0, 0, 0, 4482, 4385, 1, + 0, 0, 0, 4482, 4390, 1, 0, 0, 0, 4482, 4395, 1, 0, 0, 0, 4482, 4398, 1, + 0, 0, 0, 4482, 4408, 1, 0, 0, 0, 4482, 4419, 1, 0, 0, 0, 4482, 4426, 1, + 0, 0, 0, 4482, 4433, 1, 0, 0, 0, 4482, 4440, 1, 0, 0, 0, 4482, 4447, 1, + 0, 0, 0, 4482, 4454, 1, 0, 0, 0, 4482, 4459, 1, 0, 0, 0, 4482, 4467, 1, + 0, 0, 0, 4482, 4473, 1, 0, 0, 0, 4483, 461, 1, 0, 0, 0, 4484, 4485, 5, + 496, 0, 0, 4485, 4486, 3, 464, 232, 0, 4486, 4487, 5, 497, 0, 0, 4487, + 463, 1, 0, 0, 0, 4488, 4493, 3, 466, 233, 0, 4489, 4490, 5, 500, 0, 0, + 4490, 4492, 3, 466, 233, 0, 4491, 4489, 1, 0, 0, 0, 4492, 4495, 1, 0, 0, + 0, 4493, 4491, 1, 0, 0, 0, 4493, 4494, 1, 0, 0, 0, 4494, 465, 1, 0, 0, + 0, 4495, 4493, 1, 0, 0, 0, 4496, 4499, 3, 1436, 718, 0, 4497, 4498, 5, + 504, 0, 0, 4498, 4500, 3, 468, 234, 0, 4499, 4497, 1, 0, 0, 0, 4499, 4500, + 1, 0, 0, 0, 4500, 467, 1, 0, 0, 0, 4501, 4508, 3, 646, 323, 0, 4502, 4508, + 3, 1670, 835, 0, 4503, 4508, 3, 1330, 665, 0, 4504, 4508, 3, 294, 147, + 0, 4505, 4508, 3, 1414, 707, 0, 4506, 4508, 5, 271, 0, 0, 4507, 4501, 1, + 0, 0, 0, 4507, 4502, 1, 0, 0, 0, 4507, 4503, 1, 0, 0, 0, 4507, 4504, 1, + 0, 0, 0, 4507, 4505, 1, 0, 0, 0, 4507, 4506, 1, 0, 0, 0, 4508, 469, 1, + 0, 0, 0, 4509, 4510, 5, 496, 0, 0, 4510, 4511, 3, 472, 236, 0, 4511, 4512, + 5, 497, 0, 0, 4512, 471, 1, 0, 0, 0, 4513, 4518, 3, 474, 237, 0, 4514, + 4515, 5, 500, 0, 0, 4515, 4517, 3, 474, 237, 0, 4516, 4514, 1, 0, 0, 0, + 4517, 4520, 1, 0, 0, 0, 4518, 4516, 1, 0, 0, 0, 4518, 4519, 1, 0, 0, 0, + 4519, 473, 1, 0, 0, 0, 4520, 4518, 1, 0, 0, 0, 4521, 4522, 3, 1438, 719, + 0, 4522, 4523, 5, 504, 0, 0, 4523, 4524, 3, 468, 234, 0, 4524, 475, 1, + 0, 0, 0, 4525, 4526, 3, 478, 239, 0, 4526, 477, 1, 0, 0, 0, 4527, 4532, + 3, 1414, 707, 0, 4528, 4529, 5, 500, 0, 0, 4529, 4531, 3, 1414, 707, 0, + 4530, 4528, 1, 0, 0, 0, 4531, 4534, 1, 0, 0, 0, 4532, 4530, 1, 0, 0, 0, + 4532, 4533, 1, 0, 0, 0, 4533, 479, 1, 0, 0, 0, 4534, 4532, 1, 0, 0, 0, + 4535, 4536, 5, 12, 0, 0, 4536, 4537, 5, 439, 0, 0, 4537, 4538, 3, 526, + 263, 0, 4538, 4539, 5, 6, 0, 0, 4539, 4541, 5, 459, 0, 0, 4540, 4542, 3, + 482, 241, 0, 4541, 4540, 1, 0, 0, 0, 4541, 4542, 1, 0, 0, 0, 4542, 4543, + 1, 0, 0, 0, 4543, 4544, 3, 1414, 707, 0, 4544, 4579, 1, 0, 0, 0, 4545, + 4546, 5, 12, 0, 0, 4546, 4547, 5, 439, 0, 0, 4547, 4548, 3, 526, 263, 0, + 4548, 4549, 5, 6, 0, 0, 4549, 4551, 5, 459, 0, 0, 4550, 4552, 3, 482, 241, + 0, 4551, 4550, 1, 0, 0, 0, 4551, 4552, 1, 0, 0, 0, 4552, 4553, 1, 0, 0, + 0, 4553, 4554, 3, 1414, 707, 0, 4554, 4555, 5, 31, 0, 0, 4555, 4556, 3, + 1414, 707, 0, 4556, 4579, 1, 0, 0, 0, 4557, 4558, 5, 12, 0, 0, 4558, 4559, + 5, 439, 0, 0, 4559, 4560, 3, 526, 263, 0, 4560, 4561, 5, 6, 0, 0, 4561, + 4563, 5, 459, 0, 0, 4562, 4564, 3, 482, 241, 0, 4563, 4562, 1, 0, 0, 0, + 4563, 4564, 1, 0, 0, 0, 4564, 4565, 1, 0, 0, 0, 4565, 4566, 3, 1414, 707, + 0, 4566, 4567, 5, 8, 0, 0, 4567, 4568, 3, 1414, 707, 0, 4568, 4579, 1, + 0, 0, 0, 4569, 4570, 5, 12, 0, 0, 4570, 4571, 5, 439, 0, 0, 4571, 4572, + 3, 526, 263, 0, 4572, 4573, 5, 349, 0, 0, 4573, 4574, 5, 459, 0, 0, 4574, + 4575, 3, 1414, 707, 0, 4575, 4576, 5, 429, 0, 0, 4576, 4577, 3, 1414, 707, + 0, 4577, 4579, 1, 0, 0, 0, 4578, 4535, 1, 0, 0, 0, 4578, 4545, 1, 0, 0, + 0, 4578, 4557, 1, 0, 0, 0, 4578, 4569, 1, 0, 0, 0, 4579, 481, 1, 0, 0, + 0, 4580, 4581, 5, 177, 0, 0, 4581, 4582, 5, 274, 0, 0, 4582, 4583, 5, 139, + 0, 0, 4583, 483, 1, 0, 0, 0, 4584, 4585, 5, 80, 0, 0, 4585, 4586, 5, 293, + 0, 0, 4586, 4587, 5, 55, 0, 0, 4587, 4589, 3, 526, 263, 0, 4588, 4590, + 3, 490, 245, 0, 4589, 4588, 1, 0, 0, 0, 4589, 4590, 1, 0, 0, 0, 4590, 4591, + 1, 0, 0, 0, 4591, 4592, 5, 153, 0, 0, 4592, 4593, 5, 439, 0, 0, 4593, 4594, + 3, 1126, 563, 0, 4594, 4595, 5, 454, 0, 0, 4595, 4597, 3, 1396, 698, 0, + 4596, 4598, 3, 492, 246, 0, 4597, 4596, 1, 0, 0, 0, 4597, 4598, 1, 0, 0, + 0, 4598, 4599, 1, 0, 0, 0, 4599, 4600, 5, 19, 0, 0, 4600, 4601, 3, 486, + 243, 0, 4601, 485, 1, 0, 0, 0, 4602, 4607, 3, 488, 244, 0, 4603, 4604, + 5, 500, 0, 0, 4604, 4606, 3, 488, 244, 0, 4605, 4603, 1, 0, 0, 0, 4606, + 4609, 1, 0, 0, 0, 4607, 4605, 1, 0, 0, 0, 4607, 4608, 1, 0, 0, 0, 4608, + 487, 1, 0, 0, 0, 4609, 4607, 1, 0, 0, 0, 4610, 4611, 5, 293, 0, 0, 4611, + 4612, 3, 1412, 706, 0, 4612, 4614, 3, 690, 345, 0, 4613, 4615, 3, 494, + 247, 0, 4614, 4613, 1, 0, 0, 0, 4614, 4615, 1, 0, 0, 0, 4615, 4617, 1, + 0, 0, 0, 4616, 4618, 3, 496, 248, 0, 4617, 4616, 1, 0, 0, 0, 4617, 4618, + 1, 0, 0, 0, 4618, 4642, 1, 0, 0, 0, 4619, 4620, 5, 293, 0, 0, 4620, 4621, + 3, 1412, 706, 0, 4621, 4623, 3, 694, 347, 0, 4622, 4624, 3, 494, 247, 0, + 4623, 4622, 1, 0, 0, 0, 4623, 4624, 1, 0, 0, 0, 4624, 4626, 1, 0, 0, 0, + 4625, 4627, 3, 496, 248, 0, 4626, 4625, 1, 0, 0, 0, 4626, 4627, 1, 0, 0, + 0, 4627, 4642, 1, 0, 0, 0, 4628, 4629, 5, 161, 0, 0, 4629, 4630, 3, 1412, + 706, 0, 4630, 4631, 3, 632, 316, 0, 4631, 4642, 1, 0, 0, 0, 4632, 4633, + 5, 161, 0, 0, 4633, 4634, 3, 1412, 706, 0, 4634, 4635, 5, 496, 0, 0, 4635, + 4636, 3, 1340, 670, 0, 4636, 4637, 5, 497, 0, 0, 4637, 4638, 3, 632, 316, + 0, 4638, 4642, 1, 0, 0, 0, 4639, 4640, 5, 404, 0, 0, 4640, 4642, 3, 1126, + 563, 0, 4641, 4610, 1, 0, 0, 0, 4641, 4619, 1, 0, 0, 0, 4641, 4628, 1, + 0, 0, 0, 4641, 4632, 1, 0, 0, 0, 4641, 4639, 1, 0, 0, 0, 4642, 489, 1, + 0, 0, 0, 4643, 4644, 5, 101, 0, 0, 4644, 491, 1, 0, 0, 0, 4645, 4646, 5, + 146, 0, 0, 4646, 4647, 3, 526, 263, 0, 4647, 493, 1, 0, 0, 0, 4648, 4649, + 5, 153, 0, 0, 4649, 4655, 5, 374, 0, 0, 4650, 4651, 5, 153, 0, 0, 4651, + 4652, 5, 297, 0, 0, 4652, 4653, 5, 40, 0, 0, 4653, 4655, 3, 526, 263, 0, + 4654, 4648, 1, 0, 0, 0, 4654, 4650, 1, 0, 0, 0, 4655, 495, 1, 0, 0, 0, + 4656, 4657, 5, 524, 0, 0, 4657, 497, 1, 0, 0, 0, 4658, 4659, 5, 80, 0, + 0, 4659, 4660, 5, 293, 0, 0, 4660, 4661, 5, 146, 0, 0, 4661, 4662, 3, 526, + 263, 0, 4662, 4663, 5, 454, 0, 0, 4663, 4664, 3, 1396, 698, 0, 4664, 499, + 1, 0, 0, 0, 4665, 4666, 5, 12, 0, 0, 4666, 4667, 5, 293, 0, 0, 4667, 4668, + 5, 146, 0, 0, 4668, 4669, 3, 526, 263, 0, 4669, 4670, 5, 454, 0, 0, 4670, + 4671, 3, 1396, 698, 0, 4671, 4672, 5, 6, 0, 0, 4672, 4673, 3, 486, 243, + 0, 4673, 4684, 1, 0, 0, 0, 4674, 4675, 5, 12, 0, 0, 4675, 4676, 5, 293, + 0, 0, 4676, 4677, 5, 146, 0, 0, 4677, 4678, 3, 526, 263, 0, 4678, 4679, + 5, 454, 0, 0, 4679, 4680, 3, 1396, 698, 0, 4680, 4681, 5, 121, 0, 0, 4681, + 4682, 3, 502, 251, 0, 4682, 4684, 1, 0, 0, 0, 4683, 4665, 1, 0, 0, 0, 4683, + 4674, 1, 0, 0, 0, 4684, 501, 1, 0, 0, 0, 4685, 4690, 3, 504, 252, 0, 4686, + 4687, 5, 500, 0, 0, 4687, 4689, 3, 504, 252, 0, 4688, 4686, 1, 0, 0, 0, + 4689, 4692, 1, 0, 0, 0, 4690, 4688, 1, 0, 0, 0, 4690, 4691, 1, 0, 0, 0, + 4691, 503, 1, 0, 0, 0, 4692, 4690, 1, 0, 0, 0, 4693, 4694, 5, 293, 0, 0, + 4694, 4695, 3, 1412, 706, 0, 4695, 4696, 5, 496, 0, 0, 4696, 4697, 3, 1340, + 670, 0, 4697, 4698, 5, 497, 0, 0, 4698, 4706, 1, 0, 0, 0, 4699, 4700, 5, + 161, 0, 0, 4700, 4701, 3, 1412, 706, 0, 4701, 4702, 5, 496, 0, 0, 4702, + 4703, 3, 1340, 670, 0, 4703, 4704, 5, 497, 0, 0, 4704, 4706, 1, 0, 0, 0, + 4705, 4693, 1, 0, 0, 0, 4705, 4699, 1, 0, 0, 0, 4706, 505, 1, 0, 0, 0, + 4707, 4708, 5, 121, 0, 0, 4708, 4709, 5, 293, 0, 0, 4709, 4710, 5, 55, + 0, 0, 4710, 4711, 3, 526, 263, 0, 4711, 4712, 5, 454, 0, 0, 4712, 4714, + 3, 1396, 698, 0, 4713, 4715, 3, 108, 54, 0, 4714, 4713, 1, 0, 0, 0, 4714, + 4715, 1, 0, 0, 0, 4715, 4728, 1, 0, 0, 0, 4716, 4717, 5, 121, 0, 0, 4717, + 4718, 5, 293, 0, 0, 4718, 4719, 5, 55, 0, 0, 4719, 4720, 5, 177, 0, 0, + 4720, 4721, 5, 139, 0, 0, 4721, 4722, 3, 526, 263, 0, 4722, 4723, 5, 454, + 0, 0, 4723, 4725, 3, 1396, 698, 0, 4724, 4726, 3, 108, 54, 0, 4725, 4724, + 1, 0, 0, 0, 4725, 4726, 1, 0, 0, 0, 4726, 4728, 1, 0, 0, 0, 4727, 4707, + 1, 0, 0, 0, 4727, 4716, 1, 0, 0, 0, 4728, 507, 1, 0, 0, 0, 4729, 4730, + 5, 121, 0, 0, 4730, 4731, 5, 293, 0, 0, 4731, 4732, 5, 146, 0, 0, 4732, + 4733, 3, 526, 263, 0, 4733, 4734, 5, 454, 0, 0, 4734, 4736, 3, 1396, 698, + 0, 4735, 4737, 3, 108, 54, 0, 4736, 4735, 1, 0, 0, 0, 4736, 4737, 1, 0, + 0, 0, 4737, 4750, 1, 0, 0, 0, 4738, 4739, 5, 121, 0, 0, 4739, 4740, 5, + 293, 0, 0, 4740, 4741, 5, 146, 0, 0, 4741, 4742, 5, 177, 0, 0, 4742, 4743, + 5, 139, 0, 0, 4743, 4744, 3, 526, 263, 0, 4744, 4745, 5, 454, 0, 0, 4745, + 4747, 3, 1396, 698, 0, 4746, 4748, 3, 108, 54, 0, 4747, 4746, 1, 0, 0, + 0, 4747, 4748, 1, 0, 0, 0, 4748, 4750, 1, 0, 0, 0, 4749, 4729, 1, 0, 0, + 0, 4749, 4738, 1, 0, 0, 0, 4750, 509, 1, 0, 0, 0, 4751, 4752, 5, 121, 0, + 0, 4752, 4753, 5, 306, 0, 0, 4753, 4754, 5, 40, 0, 0, 4754, 4756, 3, 1426, + 713, 0, 4755, 4757, 3, 108, 54, 0, 4756, 4755, 1, 0, 0, 0, 4756, 4757, + 1, 0, 0, 0, 4757, 511, 1, 0, 0, 0, 4758, 4759, 5, 340, 0, 0, 4759, 4760, + 5, 306, 0, 0, 4760, 4761, 5, 40, 0, 0, 4761, 4762, 3, 1426, 713, 0, 4762, + 4763, 5, 429, 0, 0, 4763, 4764, 3, 1424, 712, 0, 4764, 513, 1, 0, 0, 0, + 4765, 4766, 5, 121, 0, 0, 4766, 4767, 3, 516, 258, 0, 4767, 4768, 5, 177, + 0, 0, 4768, 4769, 5, 139, 0, 0, 4769, 4771, 3, 524, 262, 0, 4770, 4772, + 3, 108, 54, 0, 4771, 4770, 1, 0, 0, 0, 4771, 4772, 1, 0, 0, 0, 4772, 4856, + 1, 0, 0, 0, 4773, 4774, 5, 121, 0, 0, 4774, 4775, 3, 516, 258, 0, 4775, + 4777, 3, 524, 262, 0, 4776, 4778, 3, 108, 54, 0, 4777, 4776, 1, 0, 0, 0, + 4777, 4778, 1, 0, 0, 0, 4778, 4856, 1, 0, 0, 0, 4779, 4780, 5, 121, 0, + 0, 4780, 4781, 3, 520, 260, 0, 4781, 4782, 5, 177, 0, 0, 4782, 4783, 5, + 139, 0, 0, 4783, 4785, 3, 1394, 697, 0, 4784, 4786, 3, 108, 54, 0, 4785, + 4784, 1, 0, 0, 0, 4785, 4786, 1, 0, 0, 0, 4786, 4856, 1, 0, 0, 0, 4787, + 4788, 5, 121, 0, 0, 4788, 4789, 3, 520, 260, 0, 4789, 4791, 3, 1394, 697, + 0, 4790, 4792, 3, 108, 54, 0, 4791, 4790, 1, 0, 0, 0, 4791, 4792, 1, 0, + 0, 0, 4792, 4856, 1, 0, 0, 0, 4793, 4794, 5, 121, 0, 0, 4794, 4795, 3, + 522, 261, 0, 4795, 4796, 3, 1396, 698, 0, 4796, 4797, 5, 291, 0, 0, 4797, + 4799, 3, 526, 263, 0, 4798, 4800, 3, 108, 54, 0, 4799, 4798, 1, 0, 0, 0, + 4799, 4800, 1, 0, 0, 0, 4800, 4856, 1, 0, 0, 0, 4801, 4802, 5, 121, 0, + 0, 4802, 4803, 3, 522, 261, 0, 4803, 4804, 5, 177, 0, 0, 4804, 4805, 5, + 139, 0, 0, 4805, 4806, 3, 1396, 698, 0, 4806, 4807, 5, 291, 0, 0, 4807, + 4809, 3, 526, 263, 0, 4808, 4810, 3, 108, 54, 0, 4809, 4808, 1, 0, 0, 0, + 4809, 4810, 1, 0, 0, 0, 4810, 4856, 1, 0, 0, 0, 4811, 4812, 5, 121, 0, + 0, 4812, 4813, 5, 439, 0, 0, 4813, 4815, 3, 530, 265, 0, 4814, 4816, 3, + 108, 54, 0, 4815, 4814, 1, 0, 0, 0, 4815, 4816, 1, 0, 0, 0, 4816, 4856, + 1, 0, 0, 0, 4817, 4818, 5, 121, 0, 0, 4818, 4819, 5, 439, 0, 0, 4819, 4820, + 5, 177, 0, 0, 4820, 4821, 5, 139, 0, 0, 4821, 4823, 3, 530, 265, 0, 4822, + 4824, 3, 108, 54, 0, 4823, 4822, 1, 0, 0, 0, 4823, 4824, 1, 0, 0, 0, 4824, + 4856, 1, 0, 0, 0, 4825, 4826, 5, 121, 0, 0, 4826, 4827, 5, 119, 0, 0, 4827, + 4829, 3, 530, 265, 0, 4828, 4830, 3, 108, 54, 0, 4829, 4828, 1, 0, 0, 0, + 4829, 4830, 1, 0, 0, 0, 4830, 4856, 1, 0, 0, 0, 4831, 4832, 5, 121, 0, + 0, 4832, 4833, 5, 119, 0, 0, 4833, 4834, 5, 177, 0, 0, 4834, 4835, 5, 139, + 0, 0, 4835, 4837, 3, 530, 265, 0, 4836, 4838, 3, 108, 54, 0, 4837, 4836, + 1, 0, 0, 0, 4837, 4838, 1, 0, 0, 0, 4838, 4856, 1, 0, 0, 0, 4839, 4840, + 5, 121, 0, 0, 4840, 4841, 5, 188, 0, 0, 4841, 4842, 5, 68, 0, 0, 4842, + 4844, 3, 524, 262, 0, 4843, 4845, 3, 108, 54, 0, 4844, 4843, 1, 0, 0, 0, + 4844, 4845, 1, 0, 0, 0, 4845, 4856, 1, 0, 0, 0, 4846, 4847, 5, 121, 0, + 0, 4847, 4848, 5, 188, 0, 0, 4848, 4849, 5, 68, 0, 0, 4849, 4850, 5, 177, + 0, 0, 4850, 4851, 5, 139, 0, 0, 4851, 4853, 3, 524, 262, 0, 4852, 4854, + 3, 108, 54, 0, 4853, 4852, 1, 0, 0, 0, 4853, 4854, 1, 0, 0, 0, 4854, 4856, + 1, 0, 0, 0, 4855, 4765, 1, 0, 0, 0, 4855, 4773, 1, 0, 0, 0, 4855, 4779, + 1, 0, 0, 0, 4855, 4787, 1, 0, 0, 0, 4855, 4793, 1, 0, 0, 0, 4855, 4801, + 1, 0, 0, 0, 4855, 4811, 1, 0, 0, 0, 4855, 4817, 1, 0, 0, 0, 4855, 4825, + 1, 0, 0, 0, 4855, 4831, 1, 0, 0, 0, 4855, 4839, 1, 0, 0, 0, 4855, 4846, + 1, 0, 0, 0, 4856, 515, 1, 0, 0, 0, 4857, 4881, 5, 416, 0, 0, 4858, 4881, + 5, 378, 0, 0, 4859, 4881, 5, 466, 0, 0, 4860, 4861, 5, 248, 0, 0, 4861, + 4881, 5, 466, 0, 0, 4862, 4881, 5, 188, 0, 0, 4863, 4864, 5, 155, 0, 0, + 4864, 4881, 5, 416, 0, 0, 4865, 4881, 5, 60, 0, 0, 4866, 4881, 5, 77, 0, + 0, 4867, 4881, 5, 401, 0, 0, 4868, 4869, 5, 424, 0, 0, 4869, 4870, 5, 374, + 0, 0, 4870, 4881, 5, 310, 0, 0, 4871, 4872, 5, 424, 0, 0, 4872, 4873, 5, + 374, 0, 0, 4873, 4881, 5, 113, 0, 0, 4874, 4875, 5, 424, 0, 0, 4875, 4876, + 5, 374, 0, 0, 4876, 4881, 5, 422, 0, 0, 4877, 4878, 5, 424, 0, 0, 4878, + 4879, 5, 374, 0, 0, 4879, 4881, 5, 70, 0, 0, 4880, 4857, 1, 0, 0, 0, 4880, + 4858, 1, 0, 0, 0, 4880, 4859, 1, 0, 0, 0, 4880, 4860, 1, 0, 0, 0, 4880, + 4862, 1, 0, 0, 0, 4880, 4863, 1, 0, 0, 0, 4880, 4865, 1, 0, 0, 0, 4880, + 4866, 1, 0, 0, 0, 4880, 4867, 1, 0, 0, 0, 4880, 4868, 1, 0, 0, 0, 4880, + 4871, 1, 0, 0, 0, 4880, 4874, 1, 0, 0, 0, 4880, 4877, 1, 0, 0, 0, 4881, + 517, 1, 0, 0, 0, 4882, 4888, 3, 520, 260, 0, 4883, 4888, 5, 95, 0, 0, 4884, + 4888, 5, 361, 0, 0, 4885, 4888, 5, 409, 0, 0, 4886, 4888, 5, 419, 0, 0, + 4887, 4882, 1, 0, 0, 0, 4887, 4883, 1, 0, 0, 0, 4887, 4884, 1, 0, 0, 0, + 4887, 4885, 1, 0, 0, 0, 4887, 4886, 1, 0, 0, 0, 4888, 519, 1, 0, 0, 0, + 4889, 4890, 5, 4, 0, 0, 4890, 4905, 5, 252, 0, 0, 4891, 4892, 5, 133, 0, + 0, 4892, 4905, 5, 434, 0, 0, 4893, 4905, 5, 142, 0, 0, 4894, 4895, 5, 155, + 0, 0, 4895, 4896, 5, 94, 0, 0, 4896, 4905, 5, 478, 0, 0, 4897, 4899, 3, + 310, 155, 0, 4898, 4897, 1, 0, 0, 0, 4898, 4899, 1, 0, 0, 0, 4899, 4900, + 1, 0, 0, 0, 4900, 4905, 5, 225, 0, 0, 4901, 4905, 5, 334, 0, 0, 4902, 4905, + 5, 371, 0, 0, 4903, 4905, 5, 381, 0, 0, 4904, 4889, 1, 0, 0, 0, 4904, 4891, + 1, 0, 0, 0, 4904, 4893, 1, 0, 0, 0, 4904, 4894, 1, 0, 0, 0, 4904, 4898, + 1, 0, 0, 0, 4904, 4901, 1, 0, 0, 0, 4904, 4902, 1, 0, 0, 0, 4904, 4903, + 1, 0, 0, 0, 4905, 521, 1, 0, 0, 0, 4906, 4907, 7, 24, 0, 0, 4907, 523, + 1, 0, 0, 0, 4908, 4913, 3, 526, 263, 0, 4909, 4910, 5, 500, 0, 0, 4910, + 4912, 3, 526, 263, 0, 4911, 4909, 1, 0, 0, 0, 4912, 4915, 1, 0, 0, 0, 4913, + 4911, 1, 0, 0, 0, 4913, 4914, 1, 0, 0, 0, 4914, 525, 1, 0, 0, 0, 4915, + 4913, 1, 0, 0, 0, 4916, 4918, 3, 1428, 714, 0, 4917, 4919, 3, 528, 264, + 0, 4918, 4917, 1, 0, 0, 0, 4918, 4919, 1, 0, 0, 0, 4919, 527, 1, 0, 0, + 0, 4920, 4921, 5, 505, 0, 0, 4921, 4923, 3, 1398, 699, 0, 4922, 4920, 1, + 0, 0, 0, 4923, 4924, 1, 0, 0, 0, 4924, 4922, 1, 0, 0, 0, 4924, 4925, 1, + 0, 0, 0, 4925, 529, 1, 0, 0, 0, 4926, 4931, 3, 1126, 563, 0, 4927, 4928, + 5, 500, 0, 0, 4928, 4930, 3, 1126, 563, 0, 4929, 4927, 1, 0, 0, 0, 4930, + 4933, 1, 0, 0, 0, 4931, 4929, 1, 0, 0, 0, 4931, 4932, 1, 0, 0, 0, 4932, + 531, 1, 0, 0, 0, 4933, 4931, 1, 0, 0, 0, 4934, 4936, 5, 437, 0, 0, 4935, + 4937, 3, 996, 498, 0, 4936, 4935, 1, 0, 0, 0, 4936, 4937, 1, 0, 0, 0, 4937, + 4938, 1, 0, 0, 0, 4938, 4940, 3, 1084, 542, 0, 4939, 4941, 3, 534, 267, + 0, 4940, 4939, 1, 0, 0, 0, 4940, 4941, 1, 0, 0, 0, 4941, 4943, 1, 0, 0, + 0, 4942, 4944, 3, 108, 54, 0, 4943, 4942, 1, 0, 0, 0, 4943, 4944, 1, 0, + 0, 0, 4944, 533, 1, 0, 0, 0, 4945, 4946, 5, 76, 0, 0, 4946, 4950, 5, 176, + 0, 0, 4947, 4948, 5, 354, 0, 0, 4948, 4950, 5, 176, 0, 0, 4949, 4945, 1, + 0, 0, 0, 4949, 4947, 1, 0, 0, 0, 4950, 535, 1, 0, 0, 0, 4951, 4952, 5, + 63, 0, 0, 4952, 4953, 5, 291, 0, 0, 4953, 4954, 3, 516, 258, 0, 4954, 4955, + 3, 526, 263, 0, 4955, 4956, 5, 206, 0, 0, 4956, 4957, 3, 538, 269, 0, 4957, + 5099, 1, 0, 0, 0, 4958, 4959, 5, 63, 0, 0, 4959, 4960, 5, 291, 0, 0, 4960, + 4961, 5, 61, 0, 0, 4961, 4962, 3, 526, 263, 0, 4962, 4963, 5, 206, 0, 0, + 4963, 4964, 3, 538, 269, 0, 4964, 5099, 1, 0, 0, 0, 4965, 4966, 5, 63, + 0, 0, 4966, 4967, 5, 291, 0, 0, 4967, 4968, 3, 518, 259, 0, 4968, 4969, + 3, 1396, 698, 0, 4969, 4970, 5, 206, 0, 0, 4970, 4971, 3, 538, 269, 0, + 4971, 5099, 1, 0, 0, 0, 4972, 4973, 5, 63, 0, 0, 4973, 4974, 5, 291, 0, + 0, 4974, 4975, 5, 439, 0, 0, 4975, 4976, 3, 1126, 563, 0, 4976, 4977, 5, + 206, 0, 0, 4977, 4978, 3, 538, 269, 0, 4978, 5099, 1, 0, 0, 0, 4979, 4980, + 5, 63, 0, 0, 4980, 4981, 5, 291, 0, 0, 4981, 4982, 5, 119, 0, 0, 4982, + 4983, 3, 1126, 563, 0, 4983, 4984, 5, 206, 0, 0, 4984, 4985, 3, 538, 269, + 0, 4985, 5099, 1, 0, 0, 0, 4986, 4987, 5, 63, 0, 0, 4987, 4988, 5, 291, + 0, 0, 4988, 4989, 5, 9, 0, 0, 4989, 4990, 3, 656, 328, 0, 4990, 4991, 5, + 206, 0, 0, 4991, 4992, 3, 538, 269, 0, 4992, 5099, 1, 0, 0, 0, 4993, 4994, + 5, 63, 0, 0, 4994, 4995, 5, 291, 0, 0, 4995, 4996, 5, 161, 0, 0, 4996, + 4997, 3, 632, 316, 0, 4997, 4998, 5, 206, 0, 0, 4998, 4999, 3, 538, 269, + 0, 4999, 5099, 1, 0, 0, 0, 5000, 5001, 5, 63, 0, 0, 5001, 5002, 5, 291, + 0, 0, 5002, 5003, 5, 293, 0, 0, 5003, 5004, 3, 694, 347, 0, 5004, 5005, + 5, 206, 0, 0, 5005, 5006, 3, 538, 269, 0, 5006, 5099, 1, 0, 0, 0, 5007, + 5008, 5, 63, 0, 0, 5008, 5009, 5, 291, 0, 0, 5009, 5010, 5, 73, 0, 0, 5010, + 5011, 3, 1396, 698, 0, 5011, 5012, 5, 291, 0, 0, 5012, 5013, 3, 526, 263, + 0, 5013, 5014, 5, 206, 0, 0, 5014, 5015, 3, 538, 269, 0, 5015, 5099, 1, + 0, 0, 0, 5016, 5017, 5, 63, 0, 0, 5017, 5018, 5, 291, 0, 0, 5018, 5019, + 5, 73, 0, 0, 5019, 5020, 3, 1396, 698, 0, 5020, 5021, 5, 291, 0, 0, 5021, + 5022, 5, 119, 0, 0, 5022, 5023, 3, 526, 263, 0, 5023, 5024, 5, 206, 0, + 0, 5024, 5025, 3, 538, 269, 0, 5025, 5099, 1, 0, 0, 0, 5026, 5027, 5, 63, + 0, 0, 5027, 5028, 5, 291, 0, 0, 5028, 5029, 3, 522, 261, 0, 5029, 5030, + 3, 1396, 698, 0, 5030, 5031, 5, 291, 0, 0, 5031, 5032, 3, 526, 263, 0, + 5032, 5033, 5, 206, 0, 0, 5033, 5034, 3, 538, 269, 0, 5034, 5099, 1, 0, + 0, 0, 5035, 5036, 5, 63, 0, 0, 5036, 5037, 5, 291, 0, 0, 5037, 5038, 5, + 331, 0, 0, 5038, 5039, 3, 632, 316, 0, 5039, 5040, 5, 206, 0, 0, 5040, + 5041, 3, 538, 269, 0, 5041, 5099, 1, 0, 0, 0, 5042, 5043, 5, 63, 0, 0, + 5043, 5044, 5, 291, 0, 0, 5044, 5045, 5, 364, 0, 0, 5045, 5046, 3, 632, + 316, 0, 5046, 5047, 5, 206, 0, 0, 5047, 5048, 3, 538, 269, 0, 5048, 5099, + 1, 0, 0, 0, 5049, 5050, 5, 63, 0, 0, 5050, 5051, 5, 291, 0, 0, 5051, 5052, + 5, 432, 0, 0, 5052, 5053, 5, 153, 0, 0, 5053, 5054, 3, 1126, 563, 0, 5054, + 5055, 5, 225, 0, 0, 5055, 5056, 3, 1396, 698, 0, 5056, 5057, 5, 206, 0, + 0, 5057, 5058, 3, 538, 269, 0, 5058, 5099, 1, 0, 0, 0, 5059, 5060, 5, 63, + 0, 0, 5060, 5061, 5, 291, 0, 0, 5061, 5062, 5, 293, 0, 0, 5062, 5063, 5, + 55, 0, 0, 5063, 5064, 3, 526, 263, 0, 5064, 5065, 5, 454, 0, 0, 5065, 5066, + 3, 1396, 698, 0, 5066, 5067, 5, 206, 0, 0, 5067, 5068, 3, 538, 269, 0, + 5068, 5099, 1, 0, 0, 0, 5069, 5070, 5, 63, 0, 0, 5070, 5071, 5, 291, 0, + 0, 5071, 5072, 5, 293, 0, 0, 5072, 5073, 5, 146, 0, 0, 5073, 5074, 3, 526, + 263, 0, 5074, 5075, 5, 454, 0, 0, 5075, 5076, 3, 1396, 698, 0, 5076, 5077, + 5, 206, 0, 0, 5077, 5078, 3, 538, 269, 0, 5078, 5099, 1, 0, 0, 0, 5079, + 5080, 5, 63, 0, 0, 5080, 5081, 5, 291, 0, 0, 5081, 5082, 5, 226, 0, 0, + 5082, 5083, 5, 283, 0, 0, 5083, 5084, 3, 294, 147, 0, 5084, 5085, 5, 206, + 0, 0, 5085, 5086, 3, 538, 269, 0, 5086, 5099, 1, 0, 0, 0, 5087, 5088, 5, + 63, 0, 0, 5088, 5089, 5, 291, 0, 0, 5089, 5090, 5, 47, 0, 0, 5090, 5091, + 5, 496, 0, 0, 5091, 5092, 3, 1126, 563, 0, 5092, 5093, 5, 19, 0, 0, 5093, + 5094, 3, 1126, 563, 0, 5094, 5095, 5, 497, 0, 0, 5095, 5096, 5, 206, 0, + 0, 5096, 5097, 3, 538, 269, 0, 5097, 5099, 1, 0, 0, 0, 5098, 4951, 1, 0, + 0, 0, 5098, 4958, 1, 0, 0, 0, 5098, 4965, 1, 0, 0, 0, 5098, 4972, 1, 0, + 0, 0, 5098, 4979, 1, 0, 0, 0, 5098, 4986, 1, 0, 0, 0, 5098, 4993, 1, 0, + 0, 0, 5098, 5000, 1, 0, 0, 0, 5098, 5007, 1, 0, 0, 0, 5098, 5016, 1, 0, + 0, 0, 5098, 5026, 1, 0, 0, 0, 5098, 5035, 1, 0, 0, 0, 5098, 5042, 1, 0, + 0, 0, 5098, 5049, 1, 0, 0, 0, 5098, 5059, 1, 0, 0, 0, 5098, 5069, 1, 0, + 0, 0, 5098, 5079, 1, 0, 0, 0, 5098, 5087, 1, 0, 0, 0, 5099, 537, 1, 0, + 0, 0, 5100, 5103, 3, 1414, 707, 0, 5101, 5103, 5, 279, 0, 0, 5102, 5100, + 1, 0, 0, 0, 5102, 5101, 1, 0, 0, 0, 5103, 539, 1, 0, 0, 0, 5104, 5105, + 5, 376, 0, 0, 5105, 5107, 5, 224, 0, 0, 5106, 5108, 3, 542, 271, 0, 5107, + 5106, 1, 0, 0, 0, 5107, 5108, 1, 0, 0, 0, 5108, 5109, 1, 0, 0, 0, 5109, + 5110, 5, 291, 0, 0, 5110, 5111, 3, 516, 258, 0, 5111, 5112, 3, 526, 263, + 0, 5112, 5113, 5, 206, 0, 0, 5113, 5114, 3, 544, 272, 0, 5114, 5216, 1, + 0, 0, 0, 5115, 5116, 5, 376, 0, 0, 5116, 5118, 5, 224, 0, 0, 5117, 5119, + 3, 542, 271, 0, 5118, 5117, 1, 0, 0, 0, 5118, 5119, 1, 0, 0, 0, 5119, 5120, + 1, 0, 0, 0, 5120, 5121, 5, 291, 0, 0, 5121, 5122, 5, 61, 0, 0, 5122, 5123, + 3, 526, 263, 0, 5123, 5124, 5, 206, 0, 0, 5124, 5125, 3, 544, 272, 0, 5125, + 5216, 1, 0, 0, 0, 5126, 5127, 5, 376, 0, 0, 5127, 5129, 5, 224, 0, 0, 5128, + 5130, 3, 542, 271, 0, 5129, 5128, 1, 0, 0, 0, 5129, 5130, 1, 0, 0, 0, 5130, + 5131, 1, 0, 0, 0, 5131, 5132, 5, 291, 0, 0, 5132, 5133, 3, 518, 259, 0, + 5133, 5134, 3, 1396, 698, 0, 5134, 5135, 5, 206, 0, 0, 5135, 5136, 3, 544, + 272, 0, 5136, 5216, 1, 0, 0, 0, 5137, 5138, 5, 376, 0, 0, 5138, 5140, 5, + 224, 0, 0, 5139, 5141, 3, 542, 271, 0, 5140, 5139, 1, 0, 0, 0, 5140, 5141, + 1, 0, 0, 0, 5141, 5142, 1, 0, 0, 0, 5142, 5143, 5, 291, 0, 0, 5143, 5144, + 5, 439, 0, 0, 5144, 5145, 3, 1126, 563, 0, 5145, 5146, 5, 206, 0, 0, 5146, + 5147, 3, 544, 272, 0, 5147, 5216, 1, 0, 0, 0, 5148, 5149, 5, 376, 0, 0, + 5149, 5151, 5, 224, 0, 0, 5150, 5152, 3, 542, 271, 0, 5151, 5150, 1, 0, + 0, 0, 5151, 5152, 1, 0, 0, 0, 5152, 5153, 1, 0, 0, 0, 5153, 5154, 5, 291, + 0, 0, 5154, 5155, 5, 119, 0, 0, 5155, 5156, 3, 1126, 563, 0, 5156, 5157, + 5, 206, 0, 0, 5157, 5158, 3, 544, 272, 0, 5158, 5216, 1, 0, 0, 0, 5159, + 5160, 5, 376, 0, 0, 5160, 5162, 5, 224, 0, 0, 5161, 5163, 3, 542, 271, + 0, 5162, 5161, 1, 0, 0, 0, 5162, 5163, 1, 0, 0, 0, 5163, 5164, 1, 0, 0, + 0, 5164, 5165, 5, 291, 0, 0, 5165, 5166, 5, 9, 0, 0, 5166, 5167, 3, 656, + 328, 0, 5167, 5168, 5, 206, 0, 0, 5168, 5169, 3, 544, 272, 0, 5169, 5216, + 1, 0, 0, 0, 5170, 5171, 5, 376, 0, 0, 5171, 5173, 5, 224, 0, 0, 5172, 5174, + 3, 542, 271, 0, 5173, 5172, 1, 0, 0, 0, 5173, 5174, 1, 0, 0, 0, 5174, 5175, + 1, 0, 0, 0, 5175, 5176, 5, 291, 0, 0, 5176, 5177, 5, 161, 0, 0, 5177, 5178, + 3, 632, 316, 0, 5178, 5179, 5, 206, 0, 0, 5179, 5180, 3, 544, 272, 0, 5180, + 5216, 1, 0, 0, 0, 5181, 5182, 5, 376, 0, 0, 5182, 5184, 5, 224, 0, 0, 5183, 5185, 3, 542, 271, 0, 5184, 5183, 1, 0, 0, 0, 5184, 5185, 1, 0, 0, 0, 5185, - 5186, 1, 0, 0, 0, 5186, 5187, 5, 80, 0, 0, 5187, 5188, 5, 258, 0, 0, 5188, - 5189, 5, 286, 0, 0, 5189, 5190, 3, 294, 147, 0, 5190, 5191, 5, 135, 0, - 0, 5191, 5192, 3, 544, 272, 0, 5192, 5216, 1, 0, 0, 0, 5193, 5194, 5, 339, - 0, 0, 5194, 5196, 5, 256, 0, 0, 5195, 5197, 3, 542, 271, 0, 5196, 5195, + 5186, 1, 0, 0, 0, 5186, 5187, 5, 291, 0, 0, 5187, 5188, 5, 226, 0, 0, 5188, + 5189, 5, 283, 0, 0, 5189, 5190, 3, 294, 147, 0, 5190, 5191, 5, 206, 0, + 0, 5191, 5192, 3, 544, 272, 0, 5192, 5216, 1, 0, 0, 0, 5193, 5194, 5, 376, + 0, 0, 5194, 5196, 5, 224, 0, 0, 5195, 5197, 3, 542, 271, 0, 5196, 5195, 1, 0, 0, 0, 5196, 5197, 1, 0, 0, 0, 5197, 5198, 1, 0, 0, 0, 5198, 5199, - 5, 80, 0, 0, 5199, 5200, 5, 308, 0, 0, 5200, 5201, 3, 632, 316, 0, 5201, - 5202, 5, 135, 0, 0, 5202, 5203, 3, 544, 272, 0, 5203, 5216, 1, 0, 0, 0, - 5204, 5205, 5, 339, 0, 0, 5205, 5207, 5, 256, 0, 0, 5206, 5208, 3, 542, + 5, 291, 0, 0, 5199, 5200, 5, 331, 0, 0, 5200, 5201, 3, 632, 316, 0, 5201, + 5202, 5, 206, 0, 0, 5202, 5203, 3, 544, 272, 0, 5203, 5216, 1, 0, 0, 0, + 5204, 5205, 5, 376, 0, 0, 5205, 5207, 5, 224, 0, 0, 5206, 5208, 3, 542, 271, 0, 5207, 5206, 1, 0, 0, 0, 5207, 5208, 1, 0, 0, 0, 5208, 5209, 1, - 0, 0, 0, 5209, 5210, 5, 80, 0, 0, 5210, 5211, 5, 463, 0, 0, 5211, 5212, - 3, 632, 316, 0, 5212, 5213, 5, 135, 0, 0, 5213, 5214, 3, 544, 272, 0, 5214, + 0, 0, 0, 5209, 5210, 5, 291, 0, 0, 5210, 5211, 5, 364, 0, 0, 5211, 5212, + 3, 632, 316, 0, 5212, 5213, 5, 206, 0, 0, 5213, 5214, 3, 544, 272, 0, 5214, 5216, 1, 0, 0, 0, 5215, 5104, 1, 0, 0, 0, 5215, 5115, 1, 0, 0, 0, 5215, 5126, 1, 0, 0, 0, 5215, 5137, 1, 0, 0, 0, 5215, 5148, 1, 0, 0, 0, 5215, 5159, 1, 0, 0, 0, 5215, 5170, 1, 0, 0, 0, 5215, 5181, 1, 0, 0, 0, 5215, 5193, 1, 0, 0, 0, 5215, 5204, 1, 0, 0, 0, 5216, 541, 1, 0, 0, 0, 5217, - 5218, 5, 62, 0, 0, 5218, 5219, 3, 72, 36, 0, 5219, 543, 1, 0, 0, 0, 5220, - 5223, 3, 1412, 706, 0, 5221, 5223, 5, 78, 0, 0, 5222, 5220, 1, 0, 0, 0, - 5222, 5221, 1, 0, 0, 0, 5223, 545, 1, 0, 0, 0, 5224, 5225, 5, 61, 0, 0, - 5225, 5229, 3, 548, 274, 0, 5226, 5227, 5, 277, 0, 0, 5227, 5229, 3, 548, + 5218, 5, 153, 0, 0, 5218, 5219, 3, 72, 36, 0, 5219, 543, 1, 0, 0, 0, 5220, + 5223, 3, 1414, 707, 0, 5221, 5223, 5, 279, 0, 0, 5222, 5220, 1, 0, 0, 0, + 5222, 5221, 1, 0, 0, 0, 5223, 545, 1, 0, 0, 0, 5224, 5225, 5, 147, 0, 0, + 5225, 5229, 3, 548, 274, 0, 5226, 5227, 5, 257, 0, 0, 5227, 5229, 3, 548, 274, 0, 5228, 5224, 1, 0, 0, 0, 5228, 5226, 1, 0, 0, 0, 5229, 547, 1, 0, 0, 0, 5230, 5316, 3, 962, 481, 0, 5231, 5232, 3, 550, 275, 0, 5232, 5233, - 3, 962, 481, 0, 5233, 5316, 1, 0, 0, 0, 5234, 5236, 5, 280, 0, 0, 5235, + 3, 962, 481, 0, 5233, 5316, 1, 0, 0, 0, 5234, 5236, 5, 265, 0, 0, 5235, 5237, 3, 552, 276, 0, 5236, 5235, 1, 0, 0, 0, 5236, 5237, 1, 0, 0, 0, 5237, - 5238, 1, 0, 0, 0, 5238, 5316, 3, 962, 481, 0, 5239, 5241, 5, 305, 0, 0, + 5238, 1, 0, 0, 0, 5238, 5316, 3, 962, 481, 0, 5239, 5241, 5, 328, 0, 0, 5240, 5242, 3, 552, 276, 0, 5241, 5240, 1, 0, 0, 0, 5241, 5242, 1, 0, 0, - 0, 5242, 5243, 1, 0, 0, 0, 5243, 5316, 3, 962, 481, 0, 5244, 5246, 5, 226, + 0, 5242, 5243, 1, 0, 0, 0, 5243, 5316, 3, 962, 481, 0, 5244, 5246, 5, 150, 0, 0, 5245, 5247, 3, 552, 276, 0, 5246, 5245, 1, 0, 0, 0, 5246, 5247, 1, 0, 0, 0, 5247, 5248, 1, 0, 0, 0, 5248, 5316, 3, 962, 481, 0, 5249, 5251, - 5, 259, 0, 0, 5250, 5252, 3, 552, 276, 0, 5251, 5250, 1, 0, 0, 0, 5251, + 5, 227, 0, 0, 5250, 5252, 3, 552, 276, 0, 5251, 5250, 1, 0, 0, 0, 5251, 5252, 1, 0, 0, 0, 5252, 5253, 1, 0, 0, 0, 5253, 5316, 3, 962, 481, 0, 5254, - 5255, 5, 149, 0, 0, 5255, 5257, 3, 1418, 709, 0, 5256, 5258, 3, 552, 276, + 5255, 5, 3, 0, 0, 5255, 5257, 3, 1420, 710, 0, 5256, 5258, 3, 552, 276, 0, 5257, 5256, 1, 0, 0, 0, 5257, 5258, 1, 0, 0, 0, 5258, 5259, 1, 0, 0, - 0, 5259, 5260, 3, 962, 481, 0, 5260, 5316, 1, 0, 0, 0, 5261, 5262, 5, 319, - 0, 0, 5262, 5264, 3, 1418, 709, 0, 5263, 5265, 3, 552, 276, 0, 5264, 5263, + 0, 5259, 5260, 3, 962, 481, 0, 5260, 5316, 1, 0, 0, 0, 5261, 5262, 5, 347, + 0, 0, 5262, 5264, 3, 1420, 710, 0, 5263, 5265, 3, 552, 276, 0, 5264, 5263, 1, 0, 0, 0, 5264, 5265, 1, 0, 0, 0, 5265, 5266, 1, 0, 0, 0, 5266, 5267, - 3, 962, 481, 0, 5267, 5316, 1, 0, 0, 0, 5268, 5270, 3, 1418, 709, 0, 5269, + 3, 962, 481, 0, 5267, 5316, 1, 0, 0, 0, 5268, 5270, 3, 1420, 710, 0, 5269, 5271, 3, 552, 276, 0, 5270, 5269, 1, 0, 0, 0, 5270, 5271, 1, 0, 0, 0, 5271, 5272, 1, 0, 0, 0, 5272, 5273, 3, 962, 481, 0, 5273, 5316, 1, 0, 0, 0, 5274, - 5276, 5, 30, 0, 0, 5275, 5277, 3, 552, 276, 0, 5276, 5275, 1, 0, 0, 0, + 5276, 5, 10, 0, 0, 5275, 5277, 3, 552, 276, 0, 5276, 5275, 1, 0, 0, 0, 5276, 5277, 1, 0, 0, 0, 5277, 5278, 1, 0, 0, 0, 5278, 5316, 3, 962, 481, - 0, 5279, 5281, 5, 229, 0, 0, 5280, 5282, 3, 552, 276, 0, 5281, 5280, 1, + 0, 5279, 5281, 5, 157, 0, 0, 5280, 5282, 3, 552, 276, 0, 5281, 5280, 1, 0, 0, 0, 5281, 5282, 1, 0, 0, 0, 5282, 5283, 1, 0, 0, 0, 5283, 5316, 3, - 962, 481, 0, 5284, 5285, 5, 229, 0, 0, 5285, 5287, 3, 1418, 709, 0, 5286, + 962, 481, 0, 5284, 5285, 5, 157, 0, 0, 5285, 5287, 3, 1420, 710, 0, 5286, 5288, 3, 552, 276, 0, 5287, 5286, 1, 0, 0, 0, 5287, 5288, 1, 0, 0, 0, 5288, 5289, 1, 0, 0, 0, 5289, 5290, 3, 962, 481, 0, 5290, 5316, 1, 0, 0, 0, 5291, - 5292, 5, 229, 0, 0, 5292, 5294, 5, 30, 0, 0, 5293, 5295, 3, 552, 276, 0, + 5292, 5, 157, 0, 0, 5292, 5294, 5, 10, 0, 0, 5293, 5295, 3, 552, 276, 0, 5294, 5293, 1, 0, 0, 0, 5294, 5295, 1, 0, 0, 0, 5295, 5296, 1, 0, 0, 0, - 5296, 5316, 3, 962, 481, 0, 5297, 5299, 5, 163, 0, 0, 5298, 5300, 3, 552, + 5296, 5316, 3, 962, 481, 0, 5297, 5299, 5, 30, 0, 0, 5298, 5300, 3, 552, 276, 0, 5299, 5298, 1, 0, 0, 0, 5299, 5300, 1, 0, 0, 0, 5300, 5301, 1, - 0, 0, 0, 5301, 5316, 3, 962, 481, 0, 5302, 5303, 5, 163, 0, 0, 5303, 5305, - 3, 1418, 709, 0, 5304, 5306, 3, 552, 276, 0, 5305, 5304, 1, 0, 0, 0, 5305, + 0, 0, 0, 5301, 5316, 3, 962, 481, 0, 5302, 5303, 5, 30, 0, 0, 5303, 5305, + 3, 1420, 710, 0, 5304, 5306, 3, 552, 276, 0, 5305, 5304, 1, 0, 0, 0, 5305, 5306, 1, 0, 0, 0, 5306, 5307, 1, 0, 0, 0, 5307, 5308, 3, 962, 481, 0, 5308, - 5316, 1, 0, 0, 0, 5309, 5310, 5, 163, 0, 0, 5310, 5312, 5, 30, 0, 0, 5311, + 5316, 1, 0, 0, 0, 5309, 5310, 5, 30, 0, 0, 5310, 5312, 5, 10, 0, 0, 5311, 5313, 3, 552, 276, 0, 5312, 5311, 1, 0, 0, 0, 5312, 5313, 1, 0, 0, 0, 5313, 5314, 1, 0, 0, 0, 5314, 5316, 3, 962, 481, 0, 5315, 5230, 1, 0, 0, 0, 5315, 5231, 1, 0, 0, 0, 5315, 5234, 1, 0, 0, 0, 5315, 5239, 1, 0, 0, 0, 5315, @@ -3762,2791 +3745,2758 @@ func postgresqlparserParserInit() { 5279, 1, 0, 0, 0, 5315, 5284, 1, 0, 0, 0, 5315, 5291, 1, 0, 0, 0, 5315, 5297, 1, 0, 0, 0, 5315, 5302, 1, 0, 0, 0, 5315, 5309, 1, 0, 0, 0, 5316, 549, 1, 0, 0, 0, 5317, 5318, 7, 25, 0, 0, 5318, 551, 1, 0, 0, 0, 5319, - 5320, 3, 550, 275, 0, 5320, 553, 1, 0, 0, 0, 5321, 5322, 5, 65, 0, 0, 5322, - 5323, 3, 558, 279, 0, 5323, 5324, 5, 80, 0, 0, 5324, 5325, 3, 564, 282, - 0, 5325, 5326, 5, 94, 0, 0, 5326, 5328, 3, 570, 285, 0, 5327, 5329, 3, - 574, 287, 0, 5328, 5327, 1, 0, 0, 0, 5328, 5329, 1, 0, 0, 0, 5329, 555, - 1, 0, 0, 0, 5330, 5331, 5, 329, 0, 0, 5331, 5332, 3, 558, 279, 0, 5332, - 5333, 5, 80, 0, 0, 5333, 5334, 3, 564, 282, 0, 5334, 5335, 5, 64, 0, 0, - 5335, 5337, 3, 570, 285, 0, 5336, 5338, 3, 108, 54, 0, 5337, 5336, 1, 0, - 0, 0, 5337, 5338, 1, 0, 0, 0, 5338, 5352, 1, 0, 0, 0, 5339, 5340, 5, 329, - 0, 0, 5340, 5341, 5, 65, 0, 0, 5341, 5342, 5, 291, 0, 0, 5342, 5343, 5, - 62, 0, 0, 5343, 5344, 3, 558, 279, 0, 5344, 5345, 5, 80, 0, 0, 5345, 5346, - 3, 564, 282, 0, 5346, 5347, 5, 64, 0, 0, 5347, 5349, 3, 570, 285, 0, 5348, - 5350, 3, 108, 54, 0, 5349, 5348, 1, 0, 0, 0, 5349, 5350, 1, 0, 0, 0, 5350, - 5352, 1, 0, 0, 0, 5351, 5330, 1, 0, 0, 0, 5351, 5339, 1, 0, 0, 0, 5352, - 557, 1, 0, 0, 0, 5353, 5369, 3, 560, 280, 0, 5354, 5369, 5, 30, 0, 0, 5355, - 5356, 5, 30, 0, 0, 5356, 5369, 5, 306, 0, 0, 5357, 5358, 5, 30, 0, 0, 5358, - 5359, 5, 2, 0, 0, 5359, 5360, 3, 218, 109, 0, 5360, 5361, 5, 3, 0, 0, 5361, - 5369, 1, 0, 0, 0, 5362, 5363, 5, 30, 0, 0, 5363, 5364, 5, 306, 0, 0, 5364, - 5365, 5, 2, 0, 0, 5365, 5366, 3, 218, 109, 0, 5366, 5367, 5, 3, 0, 0, 5367, - 5369, 1, 0, 0, 0, 5368, 5353, 1, 0, 0, 0, 5368, 5354, 1, 0, 0, 0, 5368, - 5355, 1, 0, 0, 0, 5368, 5357, 1, 0, 0, 0, 5368, 5362, 1, 0, 0, 0, 5369, - 559, 1, 0, 0, 0, 5370, 5375, 3, 562, 281, 0, 5371, 5372, 5, 6, 0, 0, 5372, - 5374, 3, 562, 281, 0, 5373, 5371, 1, 0, 0, 0, 5374, 5377, 1, 0, 0, 0, 5375, - 5373, 1, 0, 0, 0, 5375, 5376, 1, 0, 0, 0, 5376, 561, 1, 0, 0, 0, 5377, - 5375, 1, 0, 0, 0, 5378, 5380, 5, 88, 0, 0, 5379, 5381, 3, 216, 108, 0, - 5380, 5379, 1, 0, 0, 0, 5380, 5381, 1, 0, 0, 0, 5381, 5397, 1, 0, 0, 0, - 5382, 5384, 5, 86, 0, 0, 5383, 5385, 3, 216, 108, 0, 5384, 5383, 1, 0, - 0, 0, 5384, 5385, 1, 0, 0, 0, 5385, 5397, 1, 0, 0, 0, 5386, 5388, 5, 46, - 0, 0, 5387, 5389, 3, 216, 108, 0, 5388, 5387, 1, 0, 0, 0, 5388, 5389, 1, - 0, 0, 0, 5389, 5397, 1, 0, 0, 0, 5390, 5391, 5, 157, 0, 0, 5391, 5397, - 5, 361, 0, 0, 5392, 5394, 3, 1426, 713, 0, 5393, 5395, 3, 216, 108, 0, - 5394, 5393, 1, 0, 0, 0, 5394, 5395, 1, 0, 0, 0, 5395, 5397, 1, 0, 0, 0, - 5396, 5378, 1, 0, 0, 0, 5396, 5382, 1, 0, 0, 0, 5396, 5386, 1, 0, 0, 0, - 5396, 5390, 1, 0, 0, 0, 5396, 5392, 1, 0, 0, 0, 5397, 563, 1, 0, 0, 0, - 5398, 5459, 3, 1388, 694, 0, 5399, 5400, 5, 92, 0, 0, 5400, 5459, 3, 1388, - 694, 0, 5401, 5402, 5, 340, 0, 0, 5402, 5459, 3, 1388, 694, 0, 5403, 5404, - 5, 63, 0, 0, 5404, 5405, 5, 193, 0, 0, 5405, 5406, 5, 393, 0, 0, 5406, - 5459, 3, 1392, 696, 0, 5407, 5408, 5, 63, 0, 0, 5408, 5409, 5, 343, 0, - 0, 5409, 5459, 3, 1392, 696, 0, 5410, 5411, 5, 230, 0, 0, 5411, 5459, 3, - 630, 315, 0, 5412, 5413, 5, 308, 0, 0, 5413, 5459, 3, 630, 315, 0, 5414, - 5415, 5, 463, 0, 0, 5415, 5459, 3, 630, 315, 0, 5416, 5417, 5, 194, 0, - 0, 5417, 5459, 3, 1392, 696, 0, 5418, 5419, 5, 208, 0, 0, 5419, 5459, 3, - 524, 262, 0, 5420, 5421, 5, 257, 0, 0, 5421, 5459, 3, 1392, 696, 0, 5422, - 5423, 5, 258, 0, 0, 5423, 5424, 5, 286, 0, 0, 5424, 5459, 3, 296, 148, - 0, 5425, 5426, 5, 424, 0, 0, 5426, 5459, 3, 566, 283, 0, 5427, 5428, 5, - 335, 0, 0, 5428, 5459, 3, 1392, 696, 0, 5429, 5430, 5, 363, 0, 0, 5430, - 5459, 3, 1392, 696, 0, 5431, 5432, 5, 372, 0, 0, 5432, 5459, 3, 524, 262, - 0, 5433, 5434, 5, 30, 0, 0, 5434, 5435, 5, 362, 0, 0, 5435, 5436, 5, 68, - 0, 0, 5436, 5437, 5, 335, 0, 0, 5437, 5459, 3, 1392, 696, 0, 5438, 5439, - 5, 30, 0, 0, 5439, 5440, 5, 341, 0, 0, 5440, 5441, 5, 68, 0, 0, 5441, 5442, - 5, 335, 0, 0, 5442, 5459, 3, 1392, 696, 0, 5443, 5444, 5, 30, 0, 0, 5444, - 5445, 5, 231, 0, 0, 5445, 5446, 5, 68, 0, 0, 5446, 5447, 5, 335, 0, 0, - 5447, 5459, 3, 1392, 696, 0, 5448, 5449, 5, 30, 0, 0, 5449, 5450, 5, 478, - 0, 0, 5450, 5451, 5, 68, 0, 0, 5451, 5452, 5, 335, 0, 0, 5452, 5459, 3, - 1392, 696, 0, 5453, 5454, 5, 30, 0, 0, 5454, 5455, 5, 476, 0, 0, 5455, - 5456, 5, 68, 0, 0, 5456, 5457, 5, 335, 0, 0, 5457, 5459, 3, 1392, 696, - 0, 5458, 5398, 1, 0, 0, 0, 5458, 5399, 1, 0, 0, 0, 5458, 5401, 1, 0, 0, - 0, 5458, 5403, 1, 0, 0, 0, 5458, 5407, 1, 0, 0, 0, 5458, 5410, 1, 0, 0, - 0, 5458, 5412, 1, 0, 0, 0, 5458, 5414, 1, 0, 0, 0, 5458, 5416, 1, 0, 0, - 0, 5458, 5418, 1, 0, 0, 0, 5458, 5420, 1, 0, 0, 0, 5458, 5422, 1, 0, 0, - 0, 5458, 5425, 1, 0, 0, 0, 5458, 5427, 1, 0, 0, 0, 5458, 5429, 1, 0, 0, - 0, 5458, 5431, 1, 0, 0, 0, 5458, 5433, 1, 0, 0, 0, 5458, 5438, 1, 0, 0, - 0, 5458, 5443, 1, 0, 0, 0, 5458, 5448, 1, 0, 0, 0, 5458, 5453, 1, 0, 0, - 0, 5459, 565, 1, 0, 0, 0, 5460, 5465, 3, 568, 284, 0, 5461, 5462, 5, 6, - 0, 0, 5462, 5464, 3, 568, 284, 0, 5463, 5461, 1, 0, 0, 0, 5464, 5467, 1, - 0, 0, 0, 5465, 5463, 1, 0, 0, 0, 5465, 5466, 1, 0, 0, 0, 5466, 567, 1, - 0, 0, 0, 5467, 5465, 1, 0, 0, 0, 5468, 5471, 3, 1426, 713, 0, 5469, 5470, - 5, 11, 0, 0, 5470, 5472, 3, 1426, 713, 0, 5471, 5469, 1, 0, 0, 0, 5471, - 5472, 1, 0, 0, 0, 5472, 569, 1, 0, 0, 0, 5473, 5478, 3, 572, 286, 0, 5474, - 5475, 5, 6, 0, 0, 5475, 5477, 3, 572, 286, 0, 5476, 5474, 1, 0, 0, 0, 5477, - 5480, 1, 0, 0, 0, 5478, 5476, 1, 0, 0, 0, 5478, 5479, 1, 0, 0, 0, 5479, - 571, 1, 0, 0, 0, 5480, 5478, 1, 0, 0, 0, 5481, 5485, 3, 1422, 711, 0, 5482, - 5483, 5, 66, 0, 0, 5483, 5485, 3, 1422, 711, 0, 5484, 5481, 1, 0, 0, 0, - 5484, 5482, 1, 0, 0, 0, 5485, 573, 1, 0, 0, 0, 5486, 5487, 5, 105, 0, 0, - 5487, 5488, 5, 65, 0, 0, 5488, 5489, 5, 291, 0, 0, 5489, 575, 1, 0, 0, - 0, 5490, 5491, 5, 65, 0, 0, 5491, 5492, 3, 560, 280, 0, 5492, 5493, 5, - 94, 0, 0, 5493, 5495, 3, 1424, 712, 0, 5494, 5496, 3, 580, 290, 0, 5495, - 5494, 1, 0, 0, 0, 5495, 5496, 1, 0, 0, 0, 5496, 5498, 1, 0, 0, 0, 5497, - 5499, 3, 582, 291, 0, 5498, 5497, 1, 0, 0, 0, 5498, 5499, 1, 0, 0, 0, 5499, - 577, 1, 0, 0, 0, 5500, 5501, 5, 329, 0, 0, 5501, 5502, 3, 560, 280, 0, - 5502, 5503, 5, 64, 0, 0, 5503, 5505, 3, 1424, 712, 0, 5504, 5506, 3, 582, - 291, 0, 5505, 5504, 1, 0, 0, 0, 5505, 5506, 1, 0, 0, 0, 5506, 5508, 1, - 0, 0, 0, 5507, 5509, 3, 108, 54, 0, 5508, 5507, 1, 0, 0, 0, 5508, 5509, - 1, 0, 0, 0, 5509, 5524, 1, 0, 0, 0, 5510, 5511, 5, 329, 0, 0, 5511, 5512, - 5, 153, 0, 0, 5512, 5513, 5, 291, 0, 0, 5513, 5514, 5, 62, 0, 0, 5514, - 5515, 3, 560, 280, 0, 5515, 5516, 5, 64, 0, 0, 5516, 5518, 3, 1424, 712, - 0, 5517, 5519, 3, 582, 291, 0, 5518, 5517, 1, 0, 0, 0, 5518, 5519, 1, 0, - 0, 0, 5519, 5521, 1, 0, 0, 0, 5520, 5522, 3, 108, 54, 0, 5521, 5520, 1, - 0, 0, 0, 5521, 5522, 1, 0, 0, 0, 5522, 5524, 1, 0, 0, 0, 5523, 5500, 1, - 0, 0, 0, 5523, 5510, 1, 0, 0, 0, 5524, 579, 1, 0, 0, 0, 5525, 5526, 5, - 105, 0, 0, 5526, 5527, 5, 153, 0, 0, 5527, 5528, 5, 291, 0, 0, 5528, 581, - 1, 0, 0, 0, 5529, 5530, 5, 233, 0, 0, 5530, 5531, 5, 166, 0, 0, 5531, 5532, - 3, 1422, 711, 0, 5532, 583, 1, 0, 0, 0, 5533, 5534, 5, 157, 0, 0, 5534, - 5535, 5, 53, 0, 0, 5535, 5536, 5, 306, 0, 0, 5536, 5537, 3, 586, 293, 0, - 5537, 5538, 3, 590, 295, 0, 5538, 585, 1, 0, 0, 0, 5539, 5541, 3, 588, - 294, 0, 5540, 5539, 1, 0, 0, 0, 5541, 5544, 1, 0, 0, 0, 5542, 5540, 1, - 0, 0, 0, 5542, 5543, 1, 0, 0, 0, 5543, 587, 1, 0, 0, 0, 5544, 5542, 1, - 0, 0, 0, 5545, 5546, 5, 68, 0, 0, 5546, 5547, 5, 335, 0, 0, 5547, 5555, - 3, 1392, 696, 0, 5548, 5549, 5, 62, 0, 0, 5549, 5550, 5, 330, 0, 0, 5550, - 5555, 3, 1424, 712, 0, 5551, 5552, 5, 62, 0, 0, 5552, 5553, 5, 99, 0, 0, - 5553, 5555, 3, 1424, 712, 0, 5554, 5545, 1, 0, 0, 0, 5554, 5548, 1, 0, - 0, 0, 5554, 5551, 1, 0, 0, 0, 5555, 589, 1, 0, 0, 0, 5556, 5557, 5, 65, - 0, 0, 5557, 5558, 3, 558, 279, 0, 5558, 5559, 5, 80, 0, 0, 5559, 5560, - 3, 592, 296, 0, 5560, 5561, 5, 94, 0, 0, 5561, 5563, 3, 570, 285, 0, 5562, - 5564, 3, 574, 287, 0, 5563, 5562, 1, 0, 0, 0, 5563, 5564, 1, 0, 0, 0, 5564, - 5587, 1, 0, 0, 0, 5565, 5566, 5, 329, 0, 0, 5566, 5567, 3, 558, 279, 0, - 5567, 5568, 5, 80, 0, 0, 5568, 5569, 3, 592, 296, 0, 5569, 5570, 5, 64, - 0, 0, 5570, 5572, 3, 570, 285, 0, 5571, 5573, 3, 108, 54, 0, 5572, 5571, - 1, 0, 0, 0, 5572, 5573, 1, 0, 0, 0, 5573, 5587, 1, 0, 0, 0, 5574, 5575, - 5, 329, 0, 0, 5575, 5576, 5, 65, 0, 0, 5576, 5577, 5, 291, 0, 0, 5577, - 5578, 5, 62, 0, 0, 5578, 5579, 3, 558, 279, 0, 5579, 5580, 5, 80, 0, 0, - 5580, 5581, 3, 592, 296, 0, 5581, 5582, 5, 64, 0, 0, 5582, 5584, 3, 570, - 285, 0, 5583, 5585, 3, 108, 54, 0, 5584, 5583, 1, 0, 0, 0, 5584, 5585, - 1, 0, 0, 0, 5585, 5587, 1, 0, 0, 0, 5586, 5556, 1, 0, 0, 0, 5586, 5565, - 1, 0, 0, 0, 5586, 5574, 1, 0, 0, 0, 5587, 591, 1, 0, 0, 0, 5588, 5589, - 7, 26, 0, 0, 5589, 593, 1, 0, 0, 0, 5590, 5592, 5, 46, 0, 0, 5591, 5593, - 3, 596, 298, 0, 5592, 5591, 1, 0, 0, 0, 5592, 5593, 1, 0, 0, 0, 5593, 5594, - 1, 0, 0, 0, 5594, 5596, 5, 245, 0, 0, 5595, 5597, 3, 598, 299, 0, 5596, - 5595, 1, 0, 0, 0, 5596, 5597, 1, 0, 0, 0, 5597, 5604, 1, 0, 0, 0, 5598, - 5599, 5, 239, 0, 0, 5599, 5600, 5, 77, 0, 0, 5600, 5602, 5, 409, 0, 0, - 5601, 5598, 1, 0, 0, 0, 5601, 5602, 1, 0, 0, 0, 5602, 5603, 1, 0, 0, 0, - 5603, 5605, 3, 1394, 697, 0, 5604, 5601, 1, 0, 0, 0, 5604, 5605, 1, 0, - 0, 0, 5605, 5606, 1, 0, 0, 0, 5606, 5607, 5, 80, 0, 0, 5607, 5609, 3, 1082, - 541, 0, 5608, 5610, 3, 602, 301, 0, 5609, 5608, 1, 0, 0, 0, 5609, 5610, - 1, 0, 0, 0, 5610, 5611, 1, 0, 0, 0, 5611, 5612, 5, 2, 0, 0, 5612, 5613, - 3, 604, 302, 0, 5613, 5615, 5, 3, 0, 0, 5614, 5616, 3, 610, 305, 0, 5615, - 5614, 1, 0, 0, 0, 5615, 5616, 1, 0, 0, 0, 5616, 5618, 1, 0, 0, 0, 5617, - 5619, 3, 198, 99, 0, 5618, 5617, 1, 0, 0, 0, 5618, 5619, 1, 0, 0, 0, 5619, - 5621, 1, 0, 0, 0, 5620, 5622, 3, 118, 59, 0, 5621, 5620, 1, 0, 0, 0, 5621, - 5622, 1, 0, 0, 0, 5622, 5624, 1, 0, 0, 0, 5623, 5625, 3, 256, 128, 0, 5624, - 5623, 1, 0, 0, 0, 5624, 5625, 1, 0, 0, 0, 5625, 5627, 1, 0, 0, 0, 5626, - 5628, 3, 1102, 551, 0, 5627, 5626, 1, 0, 0, 0, 5627, 5628, 1, 0, 0, 0, - 5628, 595, 1, 0, 0, 0, 5629, 5630, 5, 98, 0, 0, 5630, 597, 1, 0, 0, 0, - 5631, 5632, 5, 128, 0, 0, 5632, 599, 1, 0, 0, 0, 5633, 5634, 3, 1394, 697, - 0, 5634, 601, 1, 0, 0, 0, 5635, 5636, 5, 100, 0, 0, 5636, 5637, 3, 1394, - 697, 0, 5637, 603, 1, 0, 0, 0, 5638, 5643, 3, 608, 304, 0, 5639, 5640, - 5, 6, 0, 0, 5640, 5642, 3, 608, 304, 0, 5641, 5639, 1, 0, 0, 0, 5642, 5645, - 1, 0, 0, 0, 5643, 5641, 1, 0, 0, 0, 5643, 5644, 1, 0, 0, 0, 5644, 605, - 1, 0, 0, 0, 5645, 5643, 1, 0, 0, 0, 5646, 5648, 3, 614, 307, 0, 5647, 5646, - 1, 0, 0, 0, 5647, 5648, 1, 0, 0, 0, 5648, 5650, 1, 0, 0, 0, 5649, 5651, - 3, 616, 308, 0, 5650, 5649, 1, 0, 0, 0, 5650, 5651, 1, 0, 0, 0, 5651, 5653, - 1, 0, 0, 0, 5652, 5654, 3, 618, 309, 0, 5653, 5652, 1, 0, 0, 0, 5653, 5654, - 1, 0, 0, 0, 5654, 5656, 1, 0, 0, 0, 5655, 5657, 3, 620, 310, 0, 5656, 5655, - 1, 0, 0, 0, 5656, 5657, 1, 0, 0, 0, 5657, 5670, 1, 0, 0, 0, 5658, 5660, - 3, 614, 307, 0, 5659, 5658, 1, 0, 0, 0, 5659, 5660, 1, 0, 0, 0, 5660, 5661, - 1, 0, 0, 0, 5661, 5662, 3, 526, 263, 0, 5662, 5664, 3, 116, 58, 0, 5663, - 5665, 3, 618, 309, 0, 5664, 5663, 1, 0, 0, 0, 5664, 5665, 1, 0, 0, 0, 5665, - 5667, 1, 0, 0, 0, 5666, 5668, 3, 620, 310, 0, 5667, 5666, 1, 0, 0, 0, 5667, - 5668, 1, 0, 0, 0, 5668, 5670, 1, 0, 0, 0, 5669, 5647, 1, 0, 0, 0, 5669, - 5659, 1, 0, 0, 0, 5670, 607, 1, 0, 0, 0, 5671, 5672, 3, 1426, 713, 0, 5672, - 5673, 3, 606, 303, 0, 5673, 5683, 1, 0, 0, 0, 5674, 5675, 3, 1222, 611, - 0, 5675, 5676, 3, 606, 303, 0, 5676, 5683, 1, 0, 0, 0, 5677, 5678, 5, 2, - 0, 0, 5678, 5679, 3, 1170, 585, 0, 5679, 5680, 5, 3, 0, 0, 5680, 5681, - 3, 606, 303, 0, 5681, 5683, 1, 0, 0, 0, 5682, 5671, 1, 0, 0, 0, 5682, 5674, - 1, 0, 0, 0, 5682, 5677, 1, 0, 0, 0, 5683, 609, 1, 0, 0, 0, 5684, 5685, - 5, 462, 0, 0, 5685, 5686, 5, 2, 0, 0, 5686, 5687, 3, 612, 306, 0, 5687, - 5688, 5, 3, 0, 0, 5688, 611, 1, 0, 0, 0, 5689, 5694, 3, 608, 304, 0, 5690, - 5691, 5, 6, 0, 0, 5691, 5693, 3, 608, 304, 0, 5692, 5690, 1, 0, 0, 0, 5693, + 5320, 3, 550, 275, 0, 5320, 553, 1, 0, 0, 0, 5321, 5322, 5, 165, 0, 0, + 5322, 5323, 3, 558, 279, 0, 5323, 5324, 5, 291, 0, 0, 5324, 5325, 3, 564, + 282, 0, 5325, 5326, 5, 429, 0, 0, 5326, 5328, 3, 570, 285, 0, 5327, 5329, + 3, 574, 287, 0, 5328, 5327, 1, 0, 0, 0, 5328, 5329, 1, 0, 0, 0, 5329, 555, + 1, 0, 0, 0, 5330, 5331, 5, 359, 0, 0, 5331, 5332, 3, 558, 279, 0, 5332, + 5333, 5, 291, 0, 0, 5333, 5334, 3, 564, 282, 0, 5334, 5335, 5, 159, 0, + 0, 5335, 5337, 3, 570, 285, 0, 5336, 5338, 3, 108, 54, 0, 5337, 5336, 1, + 0, 0, 0, 5337, 5338, 1, 0, 0, 0, 5338, 5352, 1, 0, 0, 0, 5339, 5340, 5, + 359, 0, 0, 5340, 5341, 5, 165, 0, 0, 5341, 5342, 5, 294, 0, 0, 5342, 5343, + 5, 153, 0, 0, 5343, 5344, 3, 558, 279, 0, 5344, 5345, 5, 291, 0, 0, 5345, + 5346, 3, 564, 282, 0, 5346, 5347, 5, 159, 0, 0, 5347, 5349, 3, 570, 285, + 0, 5348, 5350, 3, 108, 54, 0, 5349, 5348, 1, 0, 0, 0, 5349, 5350, 1, 0, + 0, 0, 5350, 5352, 1, 0, 0, 0, 5351, 5330, 1, 0, 0, 0, 5351, 5339, 1, 0, + 0, 0, 5352, 557, 1, 0, 0, 0, 5353, 5369, 3, 560, 280, 0, 5354, 5369, 5, + 10, 0, 0, 5355, 5356, 5, 10, 0, 0, 5356, 5369, 5, 329, 0, 0, 5357, 5358, + 5, 10, 0, 0, 5358, 5359, 5, 496, 0, 0, 5359, 5360, 3, 218, 109, 0, 5360, + 5361, 5, 497, 0, 0, 5361, 5369, 1, 0, 0, 0, 5362, 5363, 5, 10, 0, 0, 5363, + 5364, 5, 329, 0, 0, 5364, 5365, 5, 496, 0, 0, 5365, 5366, 3, 218, 109, + 0, 5366, 5367, 5, 497, 0, 0, 5367, 5369, 1, 0, 0, 0, 5368, 5353, 1, 0, + 0, 0, 5368, 5354, 1, 0, 0, 0, 5368, 5355, 1, 0, 0, 0, 5368, 5357, 1, 0, + 0, 0, 5368, 5362, 1, 0, 0, 0, 5369, 559, 1, 0, 0, 0, 5370, 5375, 3, 562, + 281, 0, 5371, 5372, 5, 500, 0, 0, 5372, 5374, 3, 562, 281, 0, 5373, 5371, + 1, 0, 0, 0, 5374, 5377, 1, 0, 0, 0, 5375, 5373, 1, 0, 0, 0, 5375, 5376, + 1, 0, 0, 0, 5376, 561, 1, 0, 0, 0, 5377, 5375, 1, 0, 0, 0, 5378, 5380, + 5, 377, 0, 0, 5379, 5381, 3, 216, 108, 0, 5380, 5379, 1, 0, 0, 0, 5380, + 5381, 1, 0, 0, 0, 5381, 5397, 1, 0, 0, 0, 5382, 5384, 5, 343, 0, 0, 5383, + 5385, 3, 216, 108, 0, 5384, 5383, 1, 0, 0, 0, 5384, 5385, 1, 0, 0, 0, 5385, + 5397, 1, 0, 0, 0, 5386, 5388, 5, 80, 0, 0, 5387, 5389, 3, 216, 108, 0, + 5388, 5387, 1, 0, 0, 0, 5388, 5389, 1, 0, 0, 0, 5389, 5397, 1, 0, 0, 0, + 5390, 5391, 5, 12, 0, 0, 5391, 5397, 5, 414, 0, 0, 5392, 5394, 3, 1428, + 714, 0, 5393, 5395, 3, 216, 108, 0, 5394, 5393, 1, 0, 0, 0, 5394, 5395, + 1, 0, 0, 0, 5395, 5397, 1, 0, 0, 0, 5396, 5378, 1, 0, 0, 0, 5396, 5382, + 1, 0, 0, 0, 5396, 5386, 1, 0, 0, 0, 5396, 5390, 1, 0, 0, 0, 5396, 5392, + 1, 0, 0, 0, 5397, 563, 1, 0, 0, 0, 5398, 5459, 3, 1390, 695, 0, 5399, 5400, + 5, 416, 0, 0, 5400, 5459, 3, 1390, 695, 0, 5401, 5402, 5, 378, 0, 0, 5402, + 5459, 3, 1390, 695, 0, 5403, 5404, 5, 155, 0, 0, 5404, 5405, 5, 94, 0, + 0, 5405, 5406, 5, 478, 0, 0, 5406, 5459, 3, 1394, 697, 0, 5407, 5408, 5, + 155, 0, 0, 5408, 5409, 5, 381, 0, 0, 5409, 5459, 3, 1394, 697, 0, 5410, + 5411, 5, 161, 0, 0, 5411, 5459, 3, 630, 315, 0, 5412, 5413, 5, 331, 0, + 0, 5413, 5459, 3, 630, 315, 0, 5414, 5415, 5, 364, 0, 0, 5415, 5459, 3, + 630, 315, 0, 5416, 5417, 5, 95, 0, 0, 5417, 5459, 3, 1394, 697, 0, 5418, + 5419, 5, 119, 0, 0, 5419, 5459, 3, 524, 262, 0, 5420, 5421, 5, 225, 0, + 0, 5421, 5459, 3, 1394, 697, 0, 5422, 5423, 5, 226, 0, 0, 5423, 5424, 5, + 283, 0, 0, 5424, 5459, 3, 296, 148, 0, 5425, 5426, 5, 309, 0, 0, 5426, + 5459, 3, 566, 283, 0, 5427, 5428, 5, 371, 0, 0, 5428, 5459, 3, 1394, 697, + 0, 5429, 5430, 5, 419, 0, 0, 5430, 5459, 3, 1394, 697, 0, 5431, 5432, 5, + 439, 0, 0, 5432, 5459, 3, 524, 262, 0, 5433, 5434, 5, 10, 0, 0, 5434, 5435, + 5, 417, 0, 0, 5435, 5436, 5, 183, 0, 0, 5436, 5437, 5, 371, 0, 0, 5437, + 5459, 3, 1394, 697, 0, 5438, 5439, 5, 10, 0, 0, 5439, 5440, 5, 379, 0, + 0, 5440, 5441, 5, 183, 0, 0, 5441, 5442, 5, 371, 0, 0, 5442, 5459, 3, 1394, + 697, 0, 5443, 5444, 5, 10, 0, 0, 5444, 5445, 5, 162, 0, 0, 5445, 5446, + 5, 183, 0, 0, 5446, 5447, 5, 371, 0, 0, 5447, 5459, 3, 1394, 697, 0, 5448, + 5449, 5, 10, 0, 0, 5449, 5450, 5, 332, 0, 0, 5450, 5451, 5, 183, 0, 0, + 5451, 5452, 5, 371, 0, 0, 5452, 5459, 3, 1394, 697, 0, 5453, 5454, 5, 10, + 0, 0, 5454, 5455, 5, 365, 0, 0, 5455, 5456, 5, 183, 0, 0, 5456, 5457, 5, + 371, 0, 0, 5457, 5459, 3, 1394, 697, 0, 5458, 5398, 1, 0, 0, 0, 5458, 5399, + 1, 0, 0, 0, 5458, 5401, 1, 0, 0, 0, 5458, 5403, 1, 0, 0, 0, 5458, 5407, + 1, 0, 0, 0, 5458, 5410, 1, 0, 0, 0, 5458, 5412, 1, 0, 0, 0, 5458, 5414, + 1, 0, 0, 0, 5458, 5416, 1, 0, 0, 0, 5458, 5418, 1, 0, 0, 0, 5458, 5420, + 1, 0, 0, 0, 5458, 5422, 1, 0, 0, 0, 5458, 5425, 1, 0, 0, 0, 5458, 5427, + 1, 0, 0, 0, 5458, 5429, 1, 0, 0, 0, 5458, 5431, 1, 0, 0, 0, 5458, 5433, + 1, 0, 0, 0, 5458, 5438, 1, 0, 0, 0, 5458, 5443, 1, 0, 0, 0, 5458, 5448, + 1, 0, 0, 0, 5458, 5453, 1, 0, 0, 0, 5459, 565, 1, 0, 0, 0, 5460, 5465, + 3, 568, 284, 0, 5461, 5462, 5, 500, 0, 0, 5462, 5464, 3, 568, 284, 0, 5463, + 5461, 1, 0, 0, 0, 5464, 5467, 1, 0, 0, 0, 5465, 5463, 1, 0, 0, 0, 5465, + 5466, 1, 0, 0, 0, 5466, 567, 1, 0, 0, 0, 5467, 5465, 1, 0, 0, 0, 5468, + 5471, 3, 1428, 714, 0, 5469, 5470, 5, 505, 0, 0, 5470, 5472, 3, 1428, 714, + 0, 5471, 5469, 1, 0, 0, 0, 5471, 5472, 1, 0, 0, 0, 5472, 569, 1, 0, 0, + 0, 5473, 5478, 3, 572, 286, 0, 5474, 5475, 5, 500, 0, 0, 5475, 5477, 3, + 572, 286, 0, 5476, 5474, 1, 0, 0, 0, 5477, 5480, 1, 0, 0, 0, 5478, 5476, + 1, 0, 0, 0, 5478, 5479, 1, 0, 0, 0, 5479, 571, 1, 0, 0, 0, 5480, 5478, + 1, 0, 0, 0, 5481, 5485, 3, 1424, 712, 0, 5482, 5483, 5, 168, 0, 0, 5483, + 5485, 3, 1424, 712, 0, 5484, 5481, 1, 0, 0, 0, 5484, 5482, 1, 0, 0, 0, + 5485, 573, 1, 0, 0, 0, 5486, 5487, 5, 474, 0, 0, 5487, 5488, 5, 165, 0, + 0, 5488, 5489, 5, 294, 0, 0, 5489, 575, 1, 0, 0, 0, 5490, 5491, 5, 165, + 0, 0, 5491, 5492, 3, 560, 280, 0, 5492, 5493, 5, 429, 0, 0, 5493, 5495, + 3, 1426, 713, 0, 5494, 5496, 3, 580, 290, 0, 5495, 5494, 1, 0, 0, 0, 5495, + 5496, 1, 0, 0, 0, 5496, 5498, 1, 0, 0, 0, 5497, 5499, 3, 582, 291, 0, 5498, + 5497, 1, 0, 0, 0, 5498, 5499, 1, 0, 0, 0, 5499, 577, 1, 0, 0, 0, 5500, + 5501, 5, 359, 0, 0, 5501, 5502, 3, 560, 280, 0, 5502, 5503, 5, 159, 0, + 0, 5503, 5505, 3, 1426, 713, 0, 5504, 5506, 3, 582, 291, 0, 5505, 5504, + 1, 0, 0, 0, 5505, 5506, 1, 0, 0, 0, 5506, 5508, 1, 0, 0, 0, 5507, 5509, + 3, 108, 54, 0, 5508, 5507, 1, 0, 0, 0, 5508, 5509, 1, 0, 0, 0, 5509, 5524, + 1, 0, 0, 0, 5510, 5511, 5, 359, 0, 0, 5511, 5512, 5, 7, 0, 0, 5512, 5513, + 5, 294, 0, 0, 5513, 5514, 5, 153, 0, 0, 5514, 5515, 3, 560, 280, 0, 5515, + 5516, 5, 159, 0, 0, 5516, 5518, 3, 1426, 713, 0, 5517, 5519, 3, 582, 291, + 0, 5518, 5517, 1, 0, 0, 0, 5518, 5519, 1, 0, 0, 0, 5519, 5521, 1, 0, 0, + 0, 5520, 5522, 3, 108, 54, 0, 5521, 5520, 1, 0, 0, 0, 5521, 5522, 1, 0, + 0, 0, 5522, 5524, 1, 0, 0, 0, 5523, 5500, 1, 0, 0, 0, 5523, 5510, 1, 0, + 0, 0, 5524, 579, 1, 0, 0, 0, 5525, 5526, 5, 474, 0, 0, 5526, 5527, 5, 7, + 0, 0, 5527, 5528, 5, 294, 0, 0, 5528, 581, 1, 0, 0, 0, 5529, 5530, 5, 166, + 0, 0, 5530, 5531, 5, 40, 0, 0, 5531, 5532, 3, 1424, 712, 0, 5532, 583, + 1, 0, 0, 0, 5533, 5534, 5, 12, 0, 0, 5534, 5535, 5, 101, 0, 0, 5535, 5536, + 5, 329, 0, 0, 5536, 5537, 3, 586, 293, 0, 5537, 5538, 3, 590, 295, 0, 5538, + 585, 1, 0, 0, 0, 5539, 5541, 3, 588, 294, 0, 5540, 5539, 1, 0, 0, 0, 5541, + 5544, 1, 0, 0, 0, 5542, 5540, 1, 0, 0, 0, 5542, 5543, 1, 0, 0, 0, 5543, + 587, 1, 0, 0, 0, 5544, 5542, 1, 0, 0, 0, 5545, 5546, 5, 183, 0, 0, 5546, + 5547, 5, 371, 0, 0, 5547, 5555, 3, 1394, 697, 0, 5548, 5549, 5, 153, 0, + 0, 5549, 5550, 5, 361, 0, 0, 5550, 5555, 3, 1426, 713, 0, 5551, 5552, 5, + 153, 0, 0, 5552, 5553, 5, 453, 0, 0, 5553, 5555, 3, 1426, 713, 0, 5554, + 5545, 1, 0, 0, 0, 5554, 5548, 1, 0, 0, 0, 5554, 5551, 1, 0, 0, 0, 5555, + 589, 1, 0, 0, 0, 5556, 5557, 5, 165, 0, 0, 5557, 5558, 3, 558, 279, 0, + 5558, 5559, 5, 291, 0, 0, 5559, 5560, 3, 592, 296, 0, 5560, 5561, 5, 429, + 0, 0, 5561, 5563, 3, 570, 285, 0, 5562, 5564, 3, 574, 287, 0, 5563, 5562, + 1, 0, 0, 0, 5563, 5564, 1, 0, 0, 0, 5564, 5587, 1, 0, 0, 0, 5565, 5566, + 5, 359, 0, 0, 5566, 5567, 3, 558, 279, 0, 5567, 5568, 5, 291, 0, 0, 5568, + 5569, 3, 592, 296, 0, 5569, 5570, 5, 159, 0, 0, 5570, 5572, 3, 570, 285, + 0, 5571, 5573, 3, 108, 54, 0, 5572, 5571, 1, 0, 0, 0, 5572, 5573, 1, 0, + 0, 0, 5573, 5587, 1, 0, 0, 0, 5574, 5575, 5, 359, 0, 0, 5575, 5576, 5, + 165, 0, 0, 5576, 5577, 5, 294, 0, 0, 5577, 5578, 5, 153, 0, 0, 5578, 5579, + 3, 558, 279, 0, 5579, 5580, 5, 291, 0, 0, 5580, 5581, 3, 592, 296, 0, 5581, + 5582, 5, 159, 0, 0, 5582, 5584, 3, 570, 285, 0, 5583, 5585, 3, 108, 54, + 0, 5584, 5583, 1, 0, 0, 0, 5584, 5585, 1, 0, 0, 0, 5585, 5587, 1, 0, 0, + 0, 5586, 5556, 1, 0, 0, 0, 5586, 5565, 1, 0, 0, 0, 5586, 5574, 1, 0, 0, + 0, 5587, 591, 1, 0, 0, 0, 5588, 5589, 7, 26, 0, 0, 5589, 593, 1, 0, 0, + 0, 5590, 5592, 5, 80, 0, 0, 5591, 5593, 3, 596, 298, 0, 5592, 5591, 1, + 0, 0, 0, 5592, 5593, 1, 0, 0, 0, 5593, 5594, 1, 0, 0, 0, 5594, 5596, 5, + 188, 0, 0, 5595, 5597, 3, 598, 299, 0, 5596, 5595, 1, 0, 0, 0, 5596, 5597, + 1, 0, 0, 0, 5597, 5604, 1, 0, 0, 0, 5598, 5599, 5, 177, 0, 0, 5599, 5600, + 5, 274, 0, 0, 5600, 5602, 5, 139, 0, 0, 5601, 5598, 1, 0, 0, 0, 5601, 5602, + 1, 0, 0, 0, 5602, 5603, 1, 0, 0, 0, 5603, 5605, 3, 1396, 698, 0, 5604, + 5601, 1, 0, 0, 0, 5604, 5605, 1, 0, 0, 0, 5605, 5606, 1, 0, 0, 0, 5606, + 5607, 5, 291, 0, 0, 5607, 5609, 3, 1082, 541, 0, 5608, 5610, 3, 602, 301, + 0, 5609, 5608, 1, 0, 0, 0, 5609, 5610, 1, 0, 0, 0, 5610, 5611, 1, 0, 0, + 0, 5611, 5612, 5, 496, 0, 0, 5612, 5613, 3, 604, 302, 0, 5613, 5615, 5, + 497, 0, 0, 5614, 5616, 3, 610, 305, 0, 5615, 5614, 1, 0, 0, 0, 5615, 5616, + 1, 0, 0, 0, 5616, 5618, 1, 0, 0, 0, 5617, 5619, 3, 198, 99, 0, 5618, 5617, + 1, 0, 0, 0, 5618, 5619, 1, 0, 0, 0, 5619, 5621, 1, 0, 0, 0, 5620, 5622, + 3, 118, 59, 0, 5621, 5620, 1, 0, 0, 0, 5621, 5622, 1, 0, 0, 0, 5622, 5624, + 1, 0, 0, 0, 5623, 5625, 3, 256, 128, 0, 5624, 5623, 1, 0, 0, 0, 5624, 5625, + 1, 0, 0, 0, 5625, 5627, 1, 0, 0, 0, 5626, 5628, 3, 1102, 551, 0, 5627, + 5626, 1, 0, 0, 0, 5627, 5628, 1, 0, 0, 0, 5628, 595, 1, 0, 0, 0, 5629, + 5630, 5, 447, 0, 0, 5630, 597, 1, 0, 0, 0, 5631, 5632, 5, 68, 0, 0, 5632, + 599, 1, 0, 0, 0, 5633, 5634, 3, 1396, 698, 0, 5634, 601, 1, 0, 0, 0, 5635, + 5636, 5, 454, 0, 0, 5636, 5637, 3, 1396, 698, 0, 5637, 603, 1, 0, 0, 0, + 5638, 5643, 3, 608, 304, 0, 5639, 5640, 5, 500, 0, 0, 5640, 5642, 3, 608, + 304, 0, 5641, 5639, 1, 0, 0, 0, 5642, 5645, 1, 0, 0, 0, 5643, 5641, 1, + 0, 0, 0, 5643, 5644, 1, 0, 0, 0, 5644, 605, 1, 0, 0, 0, 5645, 5643, 1, + 0, 0, 0, 5646, 5648, 3, 614, 307, 0, 5647, 5646, 1, 0, 0, 0, 5647, 5648, + 1, 0, 0, 0, 5648, 5650, 1, 0, 0, 0, 5649, 5651, 3, 616, 308, 0, 5650, 5649, + 1, 0, 0, 0, 5650, 5651, 1, 0, 0, 0, 5651, 5653, 1, 0, 0, 0, 5652, 5654, + 3, 618, 309, 0, 5653, 5652, 1, 0, 0, 0, 5653, 5654, 1, 0, 0, 0, 5654, 5656, + 1, 0, 0, 0, 5655, 5657, 3, 620, 310, 0, 5656, 5655, 1, 0, 0, 0, 5656, 5657, + 1, 0, 0, 0, 5657, 5670, 1, 0, 0, 0, 5658, 5660, 3, 614, 307, 0, 5659, 5658, + 1, 0, 0, 0, 5659, 5660, 1, 0, 0, 0, 5660, 5661, 1, 0, 0, 0, 5661, 5662, + 3, 526, 263, 0, 5662, 5664, 3, 116, 58, 0, 5663, 5665, 3, 618, 309, 0, + 5664, 5663, 1, 0, 0, 0, 5664, 5665, 1, 0, 0, 0, 5665, 5667, 1, 0, 0, 0, + 5666, 5668, 3, 620, 310, 0, 5667, 5666, 1, 0, 0, 0, 5667, 5668, 1, 0, 0, + 0, 5668, 5670, 1, 0, 0, 0, 5669, 5647, 1, 0, 0, 0, 5669, 5659, 1, 0, 0, + 0, 5670, 607, 1, 0, 0, 0, 5671, 5672, 3, 1428, 714, 0, 5672, 5673, 3, 606, + 303, 0, 5673, 5683, 1, 0, 0, 0, 5674, 5675, 3, 1224, 612, 0, 5675, 5676, + 3, 606, 303, 0, 5676, 5683, 1, 0, 0, 0, 5677, 5678, 5, 496, 0, 0, 5678, + 5679, 3, 1172, 586, 0, 5679, 5680, 5, 497, 0, 0, 5680, 5681, 3, 606, 303, + 0, 5681, 5683, 1, 0, 0, 0, 5682, 5671, 1, 0, 0, 0, 5682, 5674, 1, 0, 0, + 0, 5682, 5677, 1, 0, 0, 0, 5683, 609, 1, 0, 0, 0, 5684, 5685, 5, 184, 0, + 0, 5685, 5686, 5, 496, 0, 0, 5686, 5687, 3, 612, 306, 0, 5687, 5688, 5, + 497, 0, 0, 5688, 611, 1, 0, 0, 0, 5689, 5694, 3, 608, 304, 0, 5690, 5691, + 5, 500, 0, 0, 5691, 5693, 3, 608, 304, 0, 5692, 5690, 1, 0, 0, 0, 5693, 5696, 1, 0, 0, 0, 5694, 5692, 1, 0, 0, 0, 5694, 5695, 1, 0, 0, 0, 5695, - 613, 1, 0, 0, 0, 5696, 5694, 1, 0, 0, 0, 5697, 5698, 5, 43, 0, 0, 5698, + 613, 1, 0, 0, 0, 5696, 5694, 1, 0, 0, 0, 5697, 5698, 5, 59, 0, 0, 5698, 5699, 3, 526, 263, 0, 5699, 615, 1, 0, 0, 0, 5700, 5701, 3, 526, 263, 0, 5701, 617, 1, 0, 0, 0, 5702, 5703, 7, 27, 0, 0, 5703, 619, 1, 0, 0, 0, - 5704, 5705, 5, 285, 0, 0, 5705, 5709, 5, 226, 0, 0, 5706, 5707, 5, 285, - 0, 0, 5707, 5709, 5, 259, 0, 0, 5708, 5704, 1, 0, 0, 0, 5708, 5706, 1, - 0, 0, 0, 5709, 621, 1, 0, 0, 0, 5710, 5712, 5, 46, 0, 0, 5711, 5713, 3, + 5704, 5705, 5, 281, 0, 0, 5705, 5709, 5, 150, 0, 0, 5706, 5707, 5, 281, + 0, 0, 5707, 5709, 5, 227, 0, 0, 5708, 5704, 1, 0, 0, 0, 5708, 5706, 1, + 0, 0, 0, 5709, 621, 1, 0, 0, 0, 5710, 5712, 5, 80, 0, 0, 5711, 5713, 3, 624, 312, 0, 5712, 5711, 1, 0, 0, 0, 5712, 5713, 1, 0, 0, 0, 5713, 5714, - 1, 0, 0, 0, 5714, 5715, 7, 23, 0, 0, 5715, 5716, 3, 1400, 700, 0, 5716, - 5726, 3, 634, 317, 0, 5717, 5724, 5, 328, 0, 0, 5718, 5725, 3, 644, 322, - 0, 5719, 5720, 5, 92, 0, 0, 5720, 5721, 5, 2, 0, 0, 5721, 5722, 3, 674, - 337, 0, 5722, 5723, 5, 3, 0, 0, 5723, 5725, 1, 0, 0, 0, 5724, 5718, 1, + 1, 0, 0, 0, 5714, 5715, 7, 23, 0, 0, 5715, 5716, 3, 1402, 701, 0, 5716, + 5726, 3, 634, 317, 0, 5717, 5724, 5, 358, 0, 0, 5718, 5725, 3, 644, 322, + 0, 5719, 5720, 5, 416, 0, 0, 5720, 5721, 5, 496, 0, 0, 5721, 5722, 3, 674, + 337, 0, 5722, 5723, 5, 497, 0, 0, 5723, 5725, 1, 0, 0, 0, 5724, 5718, 1, 0, 0, 0, 5724, 5719, 1, 0, 0, 0, 5725, 5727, 1, 0, 0, 0, 5726, 5717, 1, 0, 0, 0, 5726, 5727, 1, 0, 0, 0, 5727, 5728, 1, 0, 0, 0, 5728, 5729, 3, - 660, 330, 0, 5729, 623, 1, 0, 0, 0, 5730, 5731, 5, 82, 0, 0, 5731, 5732, - 5, 323, 0, 0, 5732, 625, 1, 0, 0, 0, 5733, 5735, 5, 2, 0, 0, 5734, 5736, + 660, 330, 0, 5729, 623, 1, 0, 0, 0, 5730, 5731, 5, 296, 0, 0, 5731, 5732, + 5, 351, 0, 0, 5732, 625, 1, 0, 0, 0, 5733, 5735, 5, 496, 0, 0, 5734, 5736, 3, 628, 314, 0, 5735, 5734, 1, 0, 0, 0, 5735, 5736, 1, 0, 0, 0, 5736, 5737, - 1, 0, 0, 0, 5737, 5738, 5, 3, 0, 0, 5738, 627, 1, 0, 0, 0, 5739, 5744, - 3, 638, 319, 0, 5740, 5741, 5, 6, 0, 0, 5741, 5743, 3, 638, 319, 0, 5742, + 1, 0, 0, 0, 5737, 5738, 5, 497, 0, 0, 5738, 627, 1, 0, 0, 0, 5739, 5744, + 3, 638, 319, 0, 5740, 5741, 5, 500, 0, 0, 5741, 5743, 3, 638, 319, 0, 5742, 5740, 1, 0, 0, 0, 5743, 5746, 1, 0, 0, 0, 5744, 5742, 1, 0, 0, 0, 5744, 5745, 1, 0, 0, 0, 5745, 629, 1, 0, 0, 0, 5746, 5744, 1, 0, 0, 0, 5747, - 5752, 3, 632, 316, 0, 5748, 5749, 5, 6, 0, 0, 5749, 5751, 3, 632, 316, + 5752, 3, 632, 316, 0, 5748, 5749, 5, 500, 0, 0, 5749, 5751, 3, 632, 316, 0, 5750, 5748, 1, 0, 0, 0, 5751, 5754, 1, 0, 0, 0, 5752, 5750, 1, 0, 0, 0, 5752, 5753, 1, 0, 0, 0, 5753, 631, 1, 0, 0, 0, 5754, 5752, 1, 0, 0, - 0, 5755, 5756, 3, 1400, 700, 0, 5756, 5757, 3, 626, 313, 0, 5757, 5764, - 1, 0, 0, 0, 5758, 5764, 3, 1444, 722, 0, 5759, 5761, 3, 1426, 713, 0, 5760, - 5762, 3, 1376, 688, 0, 5761, 5760, 1, 0, 0, 0, 5761, 5762, 1, 0, 0, 0, + 0, 5755, 5756, 3, 1402, 701, 0, 5756, 5757, 3, 626, 313, 0, 5757, 5764, + 1, 0, 0, 0, 5758, 5764, 3, 1676, 838, 0, 5759, 5761, 3, 1428, 714, 0, 5760, + 5762, 3, 1378, 689, 0, 5761, 5760, 1, 0, 0, 0, 5761, 5762, 1, 0, 0, 0, 5762, 5764, 1, 0, 0, 0, 5763, 5755, 1, 0, 0, 0, 5763, 5758, 1, 0, 0, 0, - 5763, 5759, 1, 0, 0, 0, 5764, 633, 1, 0, 0, 0, 5765, 5767, 5, 2, 0, 0, + 5763, 5759, 1, 0, 0, 0, 5764, 633, 1, 0, 0, 0, 5765, 5767, 5, 496, 0, 0, 5766, 5768, 3, 636, 318, 0, 5767, 5766, 1, 0, 0, 0, 5767, 5768, 1, 0, 0, - 0, 5768, 5769, 1, 0, 0, 0, 5769, 5770, 5, 3, 0, 0, 5770, 635, 1, 0, 0, - 0, 5771, 5776, 3, 648, 324, 0, 5772, 5773, 5, 6, 0, 0, 5773, 5775, 3, 648, - 324, 0, 5774, 5772, 1, 0, 0, 0, 5775, 5778, 1, 0, 0, 0, 5776, 5774, 1, - 0, 0, 0, 5776, 5777, 1, 0, 0, 0, 5777, 637, 1, 0, 0, 0, 5778, 5776, 1, - 0, 0, 0, 5779, 5781, 3, 640, 320, 0, 5780, 5782, 3, 642, 321, 0, 5781, + 0, 5768, 5769, 1, 0, 0, 0, 5769, 5770, 5, 497, 0, 0, 5770, 635, 1, 0, 0, + 0, 5771, 5776, 3, 648, 324, 0, 5772, 5773, 5, 500, 0, 0, 5773, 5775, 3, + 648, 324, 0, 5774, 5772, 1, 0, 0, 0, 5775, 5778, 1, 0, 0, 0, 5776, 5774, + 1, 0, 0, 0, 5776, 5777, 1, 0, 0, 0, 5777, 637, 1, 0, 0, 0, 5778, 5776, + 1, 0, 0, 0, 5779, 5781, 3, 640, 320, 0, 5780, 5782, 3, 642, 321, 0, 5781, 5780, 1, 0, 0, 0, 5781, 5782, 1, 0, 0, 0, 5782, 5783, 1, 0, 0, 0, 5783, 5784, 3, 646, 323, 0, 5784, 5793, 1, 0, 0, 0, 5785, 5787, 3, 642, 321, 0, 5786, 5788, 3, 640, 320, 0, 5787, 5786, 1, 0, 0, 0, 5787, 5788, 1, 0, 0, 0, 5788, 5789, 1, 0, 0, 0, 5789, 5790, 3, 646, 323, 0, 5790, 5793, 1, 0, 0, 0, 5791, 5793, 3, 646, 323, 0, 5792, 5779, 1, 0, 0, 0, 5792, 5785, 1, 0, 0, 0, 5792, 5791, 1, 0, 0, 0, 5793, 639, 1, 0, 0, 0, 5794, 5796, - 5, 68, 0, 0, 5795, 5797, 5, 474, 0, 0, 5796, 5795, 1, 0, 0, 0, 5796, 5797, - 1, 0, 0, 0, 5797, 5802, 1, 0, 0, 0, 5798, 5802, 5, 474, 0, 0, 5799, 5802, - 5, 413, 0, 0, 5800, 5802, 5, 101, 0, 0, 5801, 5794, 1, 0, 0, 0, 5801, 5798, + 5, 183, 0, 0, 5795, 5797, 5, 300, 0, 0, 5796, 5795, 1, 0, 0, 0, 5796, 5797, + 1, 0, 0, 0, 5797, 5802, 1, 0, 0, 0, 5798, 5802, 5, 300, 0, 0, 5799, 5802, + 5, 195, 0, 0, 5800, 5802, 5, 462, 0, 0, 5801, 5794, 1, 0, 0, 0, 5801, 5798, 1, 0, 0, 0, 5801, 5799, 1, 0, 0, 0, 5801, 5800, 1, 0, 0, 0, 5802, 641, - 1, 0, 0, 0, 5803, 5808, 3, 1430, 715, 0, 5804, 5808, 3, 1448, 724, 0, 5805, - 5808, 5, 138, 0, 0, 5806, 5808, 5, 145, 0, 0, 5807, 5803, 1, 0, 0, 0, 5807, - 5804, 1, 0, 0, 0, 5807, 5805, 1, 0, 0, 0, 5807, 5806, 1, 0, 0, 0, 5808, - 643, 1, 0, 0, 0, 5809, 5810, 3, 646, 323, 0, 5810, 645, 1, 0, 0, 0, 5811, - 5826, 3, 1126, 563, 0, 5812, 5814, 5, 429, 0, 0, 5813, 5812, 1, 0, 0, 0, - 5813, 5814, 1, 0, 0, 0, 5814, 5819, 1, 0, 0, 0, 5815, 5820, 3, 1448, 724, - 0, 5816, 5820, 3, 1430, 715, 0, 5817, 5820, 5, 138, 0, 0, 5818, 5820, 5, - 145, 0, 0, 5819, 5815, 1, 0, 0, 0, 5819, 5816, 1, 0, 0, 0, 5819, 5817, - 1, 0, 0, 0, 5819, 5818, 1, 0, 0, 0, 5820, 5821, 1, 0, 0, 0, 5821, 5822, - 3, 528, 264, 0, 5822, 5823, 5, 27, 0, 0, 5823, 5824, 5, 372, 0, 0, 5824, - 5826, 1, 0, 0, 0, 5825, 5811, 1, 0, 0, 0, 5825, 5813, 1, 0, 0, 0, 5826, - 647, 1, 0, 0, 0, 5827, 5830, 3, 638, 319, 0, 5828, 5829, 7, 28, 0, 0, 5829, - 5831, 3, 1170, 585, 0, 5830, 5828, 1, 0, 0, 0, 5830, 5831, 1, 0, 0, 0, - 5831, 649, 1, 0, 0, 0, 5832, 5833, 3, 638, 319, 0, 5833, 651, 1, 0, 0, - 0, 5834, 5845, 5, 2, 0, 0, 5835, 5846, 5, 9, 0, 0, 5836, 5846, 3, 654, - 327, 0, 5837, 5838, 5, 83, 0, 0, 5838, 5839, 5, 166, 0, 0, 5839, 5846, - 3, 654, 327, 0, 5840, 5841, 3, 654, 327, 0, 5841, 5842, 5, 83, 0, 0, 5842, - 5843, 5, 166, 0, 0, 5843, 5844, 3, 654, 327, 0, 5844, 5846, 1, 0, 0, 0, - 5845, 5835, 1, 0, 0, 0, 5845, 5836, 1, 0, 0, 0, 5845, 5837, 1, 0, 0, 0, - 5845, 5840, 1, 0, 0, 0, 5846, 5847, 1, 0, 0, 0, 5847, 5848, 5, 3, 0, 0, - 5848, 653, 1, 0, 0, 0, 5849, 5854, 3, 650, 325, 0, 5850, 5851, 5, 6, 0, - 0, 5851, 5853, 3, 650, 325, 0, 5852, 5850, 1, 0, 0, 0, 5853, 5856, 1, 0, - 0, 0, 5854, 5852, 1, 0, 0, 0, 5854, 5855, 1, 0, 0, 0, 5855, 655, 1, 0, - 0, 0, 5856, 5854, 1, 0, 0, 0, 5857, 5858, 3, 1400, 700, 0, 5858, 5859, - 3, 652, 326, 0, 5859, 657, 1, 0, 0, 0, 5860, 5865, 3, 656, 328, 0, 5861, - 5862, 5, 6, 0, 0, 5862, 5864, 3, 656, 328, 0, 5863, 5861, 1, 0, 0, 0, 5864, - 5867, 1, 0, 0, 0, 5865, 5863, 1, 0, 0, 0, 5865, 5866, 1, 0, 0, 0, 5866, - 659, 1, 0, 0, 0, 5867, 5865, 1, 0, 0, 0, 5868, 5870, 3, 664, 332, 0, 5869, - 5868, 1, 0, 0, 0, 5870, 5871, 1, 0, 0, 0, 5871, 5869, 1, 0, 0, 0, 5871, - 5872, 1, 0, 0, 0, 5872, 5873, 1, 0, 0, 0, 5873, 5874, 6, 330, -1, 0, 5874, - 661, 1, 0, 0, 0, 5875, 5876, 5, 168, 0, 0, 5876, 5877, 5, 80, 0, 0, 5877, - 5878, 5, 78, 0, 0, 5878, 5911, 5, 479, 0, 0, 5879, 5880, 5, 328, 0, 0, - 5880, 5881, 5, 78, 0, 0, 5881, 5882, 5, 80, 0, 0, 5882, 5883, 5, 78, 0, - 0, 5883, 5911, 5, 479, 0, 0, 5884, 5911, 5, 358, 0, 0, 5885, 5911, 5, 241, - 0, 0, 5886, 5911, 5, 350, 0, 0, 5887, 5911, 5, 389, 0, 0, 5888, 5889, 5, - 224, 0, 0, 5889, 5890, 5, 339, 0, 0, 5890, 5911, 5, 200, 0, 0, 5891, 5892, - 5, 224, 0, 0, 5892, 5893, 5, 339, 0, 0, 5893, 5911, 5, 253, 0, 0, 5894, - 5895, 5, 339, 0, 0, 5895, 5911, 5, 200, 0, 0, 5896, 5897, 5, 339, 0, 0, - 5897, 5911, 5, 253, 0, 0, 5898, 5911, 5, 260, 0, 0, 5899, 5900, 5, 77, - 0, 0, 5900, 5911, 5, 260, 0, 0, 5901, 5902, 5, 189, 0, 0, 5902, 5911, 3, - 294, 147, 0, 5903, 5904, 5, 332, 0, 0, 5904, 5911, 3, 294, 147, 0, 5905, - 5906, 5, 480, 0, 0, 5906, 5911, 3, 526, 263, 0, 5907, 5911, 3, 82, 41, - 0, 5908, 5909, 5, 481, 0, 0, 5909, 5911, 3, 1426, 713, 0, 5910, 5875, 1, - 0, 0, 0, 5910, 5879, 1, 0, 0, 0, 5910, 5884, 1, 0, 0, 0, 5910, 5885, 1, - 0, 0, 0, 5910, 5886, 1, 0, 0, 0, 5910, 5887, 1, 0, 0, 0, 5910, 5888, 1, - 0, 0, 0, 5910, 5891, 1, 0, 0, 0, 5910, 5894, 1, 0, 0, 0, 5910, 5896, 1, - 0, 0, 0, 5910, 5898, 1, 0, 0, 0, 5910, 5899, 1, 0, 0, 0, 5910, 5901, 1, - 0, 0, 0, 5910, 5903, 1, 0, 0, 0, 5910, 5905, 1, 0, 0, 0, 5910, 5907, 1, - 0, 0, 0, 5910, 5908, 1, 0, 0, 0, 5911, 663, 1, 0, 0, 0, 5912, 5913, 5, - 36, 0, 0, 5913, 5926, 3, 666, 333, 0, 5914, 5915, 5, 165, 0, 0, 5915, 5916, - 5, 399, 0, 0, 5916, 5917, 3, 6, 3, 0, 5917, 5918, 5, 475, 0, 0, 5918, 5926, - 1, 0, 0, 0, 5919, 5920, 5, 257, 0, 0, 5920, 5926, 3, 72, 36, 0, 5921, 5922, - 5, 464, 0, 0, 5922, 5926, 3, 668, 334, 0, 5923, 5926, 5, 104, 0, 0, 5924, - 5926, 3, 662, 331, 0, 5925, 5912, 1, 0, 0, 0, 5925, 5914, 1, 0, 0, 0, 5925, - 5919, 1, 0, 0, 0, 5925, 5921, 1, 0, 0, 0, 5925, 5923, 1, 0, 0, 0, 5925, - 5924, 1, 0, 0, 0, 5926, 665, 1, 0, 0, 0, 5927, 5933, 3, 1412, 706, 0, 5928, - 5929, 3, 1412, 706, 0, 5929, 5930, 5, 6, 0, 0, 5930, 5931, 3, 1412, 706, - 0, 5931, 5933, 1, 0, 0, 0, 5932, 5927, 1, 0, 0, 0, 5932, 5928, 1, 0, 0, - 0, 5933, 667, 1, 0, 0, 0, 5934, 5935, 5, 62, 0, 0, 5935, 5936, 5, 372, - 0, 0, 5936, 5943, 3, 1126, 563, 0, 5937, 5938, 5, 6, 0, 0, 5938, 5939, - 5, 62, 0, 0, 5939, 5940, 5, 372, 0, 0, 5940, 5942, 3, 1126, 563, 0, 5941, - 5937, 1, 0, 0, 0, 5942, 5945, 1, 0, 0, 0, 5943, 5941, 1, 0, 0, 0, 5943, - 5944, 1, 0, 0, 0, 5944, 669, 1, 0, 0, 0, 5945, 5943, 1, 0, 0, 0, 5946, - 5947, 5, 105, 0, 0, 5947, 5948, 3, 462, 231, 0, 5948, 671, 1, 0, 0, 0, - 5949, 5950, 3, 642, 321, 0, 5950, 5951, 3, 646, 323, 0, 5951, 673, 1, 0, - 0, 0, 5952, 5957, 3, 672, 336, 0, 5953, 5954, 5, 6, 0, 0, 5954, 5956, 3, - 672, 336, 0, 5955, 5953, 1, 0, 0, 0, 5956, 5959, 1, 0, 0, 0, 5957, 5955, - 1, 0, 0, 0, 5957, 5958, 1, 0, 0, 0, 5958, 675, 1, 0, 0, 0, 5959, 5957, - 1, 0, 0, 0, 5960, 5961, 5, 157, 0, 0, 5961, 5962, 7, 29, 0, 0, 5962, 5963, - 3, 632, 316, 0, 5963, 5965, 3, 678, 339, 0, 5964, 5966, 3, 680, 340, 0, - 5965, 5964, 1, 0, 0, 0, 5965, 5966, 1, 0, 0, 0, 5966, 677, 1, 0, 0, 0, - 5967, 5969, 3, 662, 331, 0, 5968, 5967, 1, 0, 0, 0, 5969, 5970, 1, 0, 0, - 0, 5970, 5968, 1, 0, 0, 0, 5970, 5971, 1, 0, 0, 0, 5971, 679, 1, 0, 0, - 0, 5972, 5973, 5, 327, 0, 0, 5973, 681, 1, 0, 0, 0, 5974, 5975, 5, 210, - 0, 0, 5975, 5976, 5, 230, 0, 0, 5976, 5978, 3, 630, 315, 0, 5977, 5979, - 3, 108, 54, 0, 5978, 5977, 1, 0, 0, 0, 5978, 5979, 1, 0, 0, 0, 5979, 6017, - 1, 0, 0, 0, 5980, 5981, 5, 210, 0, 0, 5981, 5982, 5, 230, 0, 0, 5982, 5983, - 5, 239, 0, 0, 5983, 5984, 5, 409, 0, 0, 5984, 5986, 3, 630, 315, 0, 5985, - 5987, 3, 108, 54, 0, 5986, 5985, 1, 0, 0, 0, 5986, 5987, 1, 0, 0, 0, 5987, - 6017, 1, 0, 0, 0, 5988, 5989, 5, 210, 0, 0, 5989, 5990, 5, 308, 0, 0, 5990, - 5992, 3, 630, 315, 0, 5991, 5993, 3, 108, 54, 0, 5992, 5991, 1, 0, 0, 0, - 5992, 5993, 1, 0, 0, 0, 5993, 6017, 1, 0, 0, 0, 5994, 5995, 5, 210, 0, - 0, 5995, 5996, 5, 308, 0, 0, 5996, 5997, 5, 239, 0, 0, 5997, 5998, 5, 409, - 0, 0, 5998, 6000, 3, 630, 315, 0, 5999, 6001, 3, 108, 54, 0, 6000, 5999, - 1, 0, 0, 0, 6000, 6001, 1, 0, 0, 0, 6001, 6017, 1, 0, 0, 0, 6002, 6003, - 5, 210, 0, 0, 6003, 6004, 5, 463, 0, 0, 6004, 6006, 3, 630, 315, 0, 6005, - 6007, 3, 108, 54, 0, 6006, 6005, 1, 0, 0, 0, 6006, 6007, 1, 0, 0, 0, 6007, - 6017, 1, 0, 0, 0, 6008, 6009, 5, 210, 0, 0, 6009, 6010, 5, 463, 0, 0, 6010, - 6011, 5, 239, 0, 0, 6011, 6012, 5, 409, 0, 0, 6012, 6014, 3, 630, 315, - 0, 6013, 6015, 3, 108, 54, 0, 6014, 6013, 1, 0, 0, 0, 6014, 6015, 1, 0, - 0, 0, 6015, 6017, 1, 0, 0, 0, 6016, 5974, 1, 0, 0, 0, 6016, 5980, 1, 0, - 0, 0, 6016, 5988, 1, 0, 0, 0, 6016, 5994, 1, 0, 0, 0, 6016, 6002, 1, 0, - 0, 0, 6016, 6008, 1, 0, 0, 0, 6017, 683, 1, 0, 0, 0, 6018, 6019, 5, 210, - 0, 0, 6019, 6020, 5, 155, 0, 0, 6020, 6022, 3, 658, 329, 0, 6021, 6023, - 3, 108, 54, 0, 6022, 6021, 1, 0, 0, 0, 6022, 6023, 1, 0, 0, 0, 6023, 6033, - 1, 0, 0, 0, 6024, 6025, 5, 210, 0, 0, 6025, 6026, 5, 155, 0, 0, 6026, 6027, - 5, 239, 0, 0, 6027, 6028, 5, 409, 0, 0, 6028, 6030, 3, 658, 329, 0, 6029, - 6031, 3, 108, 54, 0, 6030, 6029, 1, 0, 0, 0, 6030, 6031, 1, 0, 0, 0, 6031, - 6033, 1, 0, 0, 0, 6032, 6018, 1, 0, 0, 0, 6032, 6024, 1, 0, 0, 0, 6033, - 685, 1, 0, 0, 0, 6034, 6035, 5, 210, 0, 0, 6035, 6036, 5, 290, 0, 0, 6036, - 6038, 3, 692, 346, 0, 6037, 6039, 3, 108, 54, 0, 6038, 6037, 1, 0, 0, 0, - 6038, 6039, 1, 0, 0, 0, 6039, 6049, 1, 0, 0, 0, 6040, 6041, 5, 210, 0, - 0, 6041, 6042, 5, 290, 0, 0, 6042, 6043, 5, 239, 0, 0, 6043, 6044, 5, 409, - 0, 0, 6044, 6046, 3, 692, 346, 0, 6045, 6047, 3, 108, 54, 0, 6046, 6045, - 1, 0, 0, 0, 6046, 6047, 1, 0, 0, 0, 6047, 6049, 1, 0, 0, 0, 6048, 6034, - 1, 0, 0, 0, 6048, 6040, 1, 0, 0, 0, 6049, 687, 1, 0, 0, 0, 6050, 6051, - 5, 2, 0, 0, 6051, 6052, 3, 1126, 563, 0, 6052, 6053, 5, 3, 0, 0, 6053, - 6073, 1, 0, 0, 0, 6054, 6055, 5, 2, 0, 0, 6055, 6056, 3, 1126, 563, 0, - 6056, 6057, 5, 6, 0, 0, 6057, 6058, 3, 1126, 563, 0, 6058, 6059, 5, 3, - 0, 0, 6059, 6073, 1, 0, 0, 0, 6060, 6061, 5, 2, 0, 0, 6061, 6062, 5, 420, - 0, 0, 6062, 6063, 5, 6, 0, 0, 6063, 6064, 3, 1126, 563, 0, 6064, 6065, - 5, 3, 0, 0, 6065, 6073, 1, 0, 0, 0, 6066, 6067, 5, 2, 0, 0, 6067, 6068, - 3, 1126, 563, 0, 6068, 6069, 5, 6, 0, 0, 6069, 6070, 5, 420, 0, 0, 6070, - 6071, 5, 3, 0, 0, 6071, 6073, 1, 0, 0, 0, 6072, 6050, 1, 0, 0, 0, 6072, - 6054, 1, 0, 0, 0, 6072, 6060, 1, 0, 0, 0, 6072, 6066, 1, 0, 0, 0, 6073, - 689, 1, 0, 0, 0, 6074, 6075, 3, 1426, 713, 0, 6075, 6076, 5, 11, 0, 0, - 6076, 6078, 1, 0, 0, 0, 6077, 6074, 1, 0, 0, 0, 6078, 6081, 1, 0, 0, 0, - 6079, 6077, 1, 0, 0, 0, 6079, 6080, 1, 0, 0, 0, 6080, 6082, 1, 0, 0, 0, - 6081, 6079, 1, 0, 0, 0, 6082, 6083, 3, 1322, 661, 0, 6083, 691, 1, 0, 0, - 0, 6084, 6089, 3, 694, 347, 0, 6085, 6086, 5, 6, 0, 0, 6086, 6088, 3, 694, - 347, 0, 6087, 6085, 1, 0, 0, 0, 6088, 6091, 1, 0, 0, 0, 6089, 6087, 1, - 0, 0, 0, 6089, 6090, 1, 0, 0, 0, 6090, 693, 1, 0, 0, 0, 6091, 6089, 1, - 0, 0, 0, 6092, 6093, 3, 690, 345, 0, 6093, 6094, 3, 688, 344, 0, 6094, - 695, 1, 0, 0, 0, 6095, 6096, 5, 57, 0, 0, 6096, 6097, 3, 698, 349, 0, 6097, - 697, 1, 0, 0, 0, 6098, 6100, 3, 700, 350, 0, 6099, 6098, 1, 0, 0, 0, 6100, - 6101, 1, 0, 0, 0, 6101, 6099, 1, 0, 0, 0, 6101, 6102, 1, 0, 0, 0, 6102, - 699, 1, 0, 0, 0, 6103, 6107, 3, 1412, 706, 0, 6104, 6105, 5, 257, 0, 0, - 6105, 6107, 3, 72, 36, 0, 6106, 6103, 1, 0, 0, 0, 6106, 6104, 1, 0, 0, - 0, 6107, 701, 1, 0, 0, 0, 6108, 6109, 5, 46, 0, 0, 6109, 6110, 5, 41, 0, - 0, 6110, 6111, 5, 2, 0, 0, 6111, 6112, 3, 1126, 563, 0, 6112, 6113, 5, - 36, 0, 0, 6113, 6114, 3, 1126, 563, 0, 6114, 6115, 5, 3, 0, 0, 6115, 6116, - 5, 105, 0, 0, 6116, 6117, 5, 230, 0, 0, 6117, 6119, 3, 632, 316, 0, 6118, - 6120, 3, 704, 352, 0, 6119, 6118, 1, 0, 0, 0, 6119, 6120, 1, 0, 0, 0, 6120, - 6146, 1, 0, 0, 0, 6121, 6122, 5, 46, 0, 0, 6122, 6123, 5, 41, 0, 0, 6123, - 6124, 5, 2, 0, 0, 6124, 6125, 3, 1126, 563, 0, 6125, 6126, 5, 36, 0, 0, - 6126, 6127, 3, 1126, 563, 0, 6127, 6128, 5, 3, 0, 0, 6128, 6129, 5, 391, - 0, 0, 6129, 6131, 5, 230, 0, 0, 6130, 6132, 3, 704, 352, 0, 6131, 6130, - 1, 0, 0, 0, 6131, 6132, 1, 0, 0, 0, 6132, 6146, 1, 0, 0, 0, 6133, 6134, - 5, 46, 0, 0, 6134, 6135, 5, 41, 0, 0, 6135, 6136, 5, 2, 0, 0, 6136, 6137, - 3, 1126, 563, 0, 6137, 6138, 5, 36, 0, 0, 6138, 6139, 3, 1126, 563, 0, - 6139, 6140, 5, 3, 0, 0, 6140, 6141, 5, 105, 0, 0, 6141, 6143, 5, 413, 0, - 0, 6142, 6144, 3, 704, 352, 0, 6143, 6142, 1, 0, 0, 0, 6143, 6144, 1, 0, - 0, 0, 6144, 6146, 1, 0, 0, 0, 6145, 6108, 1, 0, 0, 0, 6145, 6121, 1, 0, - 0, 0, 6145, 6133, 1, 0, 0, 0, 6146, 703, 1, 0, 0, 0, 6147, 6148, 5, 36, - 0, 0, 6148, 6152, 5, 242, 0, 0, 6149, 6150, 5, 36, 0, 0, 6150, 6152, 5, - 160, 0, 0, 6151, 6147, 1, 0, 0, 0, 6151, 6149, 1, 0, 0, 0, 6152, 705, 1, - 0, 0, 0, 6153, 6154, 5, 210, 0, 0, 6154, 6156, 5, 41, 0, 0, 6155, 6157, - 3, 708, 354, 0, 6156, 6155, 1, 0, 0, 0, 6156, 6157, 1, 0, 0, 0, 6157, 6158, - 1, 0, 0, 0, 6158, 6159, 5, 2, 0, 0, 6159, 6160, 3, 1126, 563, 0, 6160, - 6161, 5, 36, 0, 0, 6161, 6162, 3, 1126, 563, 0, 6162, 6164, 5, 3, 0, 0, - 6163, 6165, 3, 108, 54, 0, 6164, 6163, 1, 0, 0, 0, 6164, 6165, 1, 0, 0, - 0, 6165, 707, 1, 0, 0, 0, 6166, 6167, 5, 239, 0, 0, 6167, 6168, 5, 409, - 0, 0, 6168, 709, 1, 0, 0, 0, 6169, 6171, 5, 46, 0, 0, 6170, 6172, 3, 624, - 312, 0, 6171, 6170, 1, 0, 0, 0, 6171, 6172, 1, 0, 0, 0, 6172, 6173, 1, - 0, 0, 0, 6173, 6174, 5, 464, 0, 0, 6174, 6175, 5, 62, 0, 0, 6175, 6176, - 3, 1126, 563, 0, 6176, 6177, 5, 257, 0, 0, 6177, 6178, 3, 1394, 697, 0, - 6178, 6179, 5, 2, 0, 0, 6179, 6180, 3, 712, 356, 0, 6180, 6181, 5, 3, 0, - 0, 6181, 711, 1, 0, 0, 0, 6182, 6183, 5, 64, 0, 0, 6183, 6184, 5, 482, - 0, 0, 6184, 6185, 5, 105, 0, 0, 6185, 6186, 5, 230, 0, 0, 6186, 6187, 3, - 632, 316, 0, 6187, 6188, 5, 6, 0, 0, 6188, 6189, 5, 94, 0, 0, 6189, 6190, - 5, 482, 0, 0, 6190, 6191, 5, 105, 0, 0, 6191, 6192, 5, 230, 0, 0, 6192, - 6193, 3, 632, 316, 0, 6193, 6217, 1, 0, 0, 0, 6194, 6195, 5, 94, 0, 0, - 6195, 6196, 5, 482, 0, 0, 6196, 6197, 5, 105, 0, 0, 6197, 6198, 5, 230, - 0, 0, 6198, 6199, 3, 632, 316, 0, 6199, 6200, 5, 6, 0, 0, 6200, 6201, 5, - 64, 0, 0, 6201, 6202, 5, 482, 0, 0, 6202, 6203, 5, 105, 0, 0, 6203, 6204, - 5, 230, 0, 0, 6204, 6205, 3, 632, 316, 0, 6205, 6217, 1, 0, 0, 0, 6206, - 6207, 5, 64, 0, 0, 6207, 6208, 5, 482, 0, 0, 6208, 6209, 5, 105, 0, 0, - 6209, 6210, 5, 230, 0, 0, 6210, 6217, 3, 632, 316, 0, 6211, 6212, 5, 94, - 0, 0, 6212, 6213, 5, 482, 0, 0, 6213, 6214, 5, 105, 0, 0, 6214, 6215, 5, - 230, 0, 0, 6215, 6217, 3, 632, 316, 0, 6216, 6182, 1, 0, 0, 0, 6216, 6194, - 1, 0, 0, 0, 6216, 6206, 1, 0, 0, 0, 6216, 6211, 1, 0, 0, 0, 6217, 713, - 1, 0, 0, 0, 6218, 6219, 5, 210, 0, 0, 6219, 6221, 5, 464, 0, 0, 6220, 6222, - 3, 708, 354, 0, 6221, 6220, 1, 0, 0, 0, 6221, 6222, 1, 0, 0, 0, 6222, 6223, - 1, 0, 0, 0, 6223, 6224, 5, 62, 0, 0, 6224, 6225, 3, 1126, 563, 0, 6225, - 6226, 5, 257, 0, 0, 6226, 6228, 3, 1394, 697, 0, 6227, 6229, 3, 108, 54, - 0, 6228, 6227, 1, 0, 0, 0, 6228, 6229, 1, 0, 0, 0, 6229, 715, 1, 0, 0, - 0, 6230, 6231, 5, 318, 0, 0, 6231, 6233, 3, 718, 359, 0, 6232, 6234, 3, - 598, 299, 0, 6233, 6232, 1, 0, 0, 0, 6233, 6234, 1, 0, 0, 0, 6234, 6235, - 1, 0, 0, 0, 6235, 6236, 3, 1390, 695, 0, 6236, 6265, 1, 0, 0, 0, 6237, - 6238, 5, 318, 0, 0, 6238, 6240, 3, 720, 360, 0, 6239, 6241, 3, 598, 299, - 0, 6240, 6239, 1, 0, 0, 0, 6240, 6241, 1, 0, 0, 0, 6241, 6242, 1, 0, 0, - 0, 6242, 6243, 3, 1394, 697, 0, 6243, 6265, 1, 0, 0, 0, 6244, 6245, 5, - 318, 0, 0, 6245, 6246, 5, 2, 0, 0, 6246, 6247, 3, 722, 361, 0, 6247, 6248, - 5, 3, 0, 0, 6248, 6250, 3, 718, 359, 0, 6249, 6251, 3, 598, 299, 0, 6250, - 6249, 1, 0, 0, 0, 6250, 6251, 1, 0, 0, 0, 6251, 6252, 1, 0, 0, 0, 6252, - 6253, 3, 1390, 695, 0, 6253, 6265, 1, 0, 0, 0, 6254, 6255, 5, 318, 0, 0, - 6255, 6256, 5, 2, 0, 0, 6256, 6257, 3, 722, 361, 0, 6257, 6258, 5, 3, 0, - 0, 6258, 6260, 3, 720, 360, 0, 6259, 6261, 3, 598, 299, 0, 6260, 6259, - 1, 0, 0, 0, 6260, 6261, 1, 0, 0, 0, 6261, 6262, 1, 0, 0, 0, 6262, 6263, - 3, 1394, 697, 0, 6263, 6265, 1, 0, 0, 0, 6264, 6230, 1, 0, 0, 0, 6264, - 6237, 1, 0, 0, 0, 6264, 6244, 1, 0, 0, 0, 6264, 6254, 1, 0, 0, 0, 6265, - 717, 1, 0, 0, 0, 6266, 6267, 7, 30, 0, 0, 6267, 719, 1, 0, 0, 0, 6268, - 6269, 7, 31, 0, 0, 6269, 721, 1, 0, 0, 0, 6270, 6275, 3, 724, 362, 0, 6271, - 6272, 5, 6, 0, 0, 6272, 6274, 3, 724, 362, 0, 6273, 6271, 1, 0, 0, 0, 6274, - 6277, 1, 0, 0, 0, 6275, 6273, 1, 0, 0, 0, 6275, 6276, 1, 0, 0, 0, 6276, - 723, 1, 0, 0, 0, 6277, 6275, 1, 0, 0, 0, 6278, 6279, 7, 32, 0, 0, 6279, - 725, 1, 0, 0, 0, 6280, 6281, 5, 157, 0, 0, 6281, 6282, 5, 363, 0, 0, 6282, - 6283, 3, 1394, 697, 0, 6283, 6284, 5, 345, 0, 0, 6284, 6285, 3, 116, 58, - 0, 6285, 6293, 1, 0, 0, 0, 6286, 6287, 5, 157, 0, 0, 6287, 6288, 5, 363, - 0, 0, 6288, 6289, 3, 1394, 697, 0, 6289, 6290, 5, 325, 0, 0, 6290, 6291, - 3, 116, 58, 0, 6291, 6293, 1, 0, 0, 0, 6292, 6280, 1, 0, 0, 0, 6292, 6286, - 1, 0, 0, 0, 6293, 727, 1, 0, 0, 0, 6294, 6295, 5, 157, 0, 0, 6295, 6296, - 5, 155, 0, 0, 6296, 6297, 3, 656, 328, 0, 6297, 6298, 5, 321, 0, 0, 6298, - 6299, 5, 94, 0, 0, 6299, 6300, 3, 1394, 697, 0, 6300, 6782, 1, 0, 0, 0, - 6301, 6302, 5, 157, 0, 0, 6302, 6303, 5, 127, 0, 0, 6303, 6304, 3, 526, - 263, 0, 6304, 6305, 5, 321, 0, 0, 6305, 6306, 5, 94, 0, 0, 6306, 6307, - 3, 1394, 697, 0, 6307, 6782, 1, 0, 0, 0, 6308, 6309, 5, 157, 0, 0, 6309, - 6310, 5, 187, 0, 0, 6310, 6311, 3, 526, 263, 0, 6311, 6312, 5, 321, 0, - 0, 6312, 6313, 5, 94, 0, 0, 6313, 6314, 3, 1394, 697, 0, 6314, 6782, 1, - 0, 0, 0, 6315, 6316, 5, 157, 0, 0, 6316, 6317, 5, 194, 0, 0, 6317, 6318, - 3, 1394, 697, 0, 6318, 6319, 5, 321, 0, 0, 6319, 6320, 5, 94, 0, 0, 6320, - 6321, 3, 1394, 697, 0, 6321, 6782, 1, 0, 0, 0, 6322, 6323, 5, 157, 0, 0, - 6323, 6324, 5, 208, 0, 0, 6324, 6325, 3, 526, 263, 0, 6325, 6326, 5, 321, - 0, 0, 6326, 6327, 5, 94, 0, 0, 6327, 6328, 3, 1394, 697, 0, 6328, 6782, - 1, 0, 0, 0, 6329, 6330, 5, 157, 0, 0, 6330, 6331, 5, 208, 0, 0, 6331, 6332, - 3, 526, 263, 0, 6332, 6333, 5, 321, 0, 0, 6333, 6334, 5, 45, 0, 0, 6334, - 6335, 3, 1394, 697, 0, 6335, 6336, 5, 94, 0, 0, 6336, 6337, 3, 1394, 697, - 0, 6337, 6782, 1, 0, 0, 0, 6338, 6339, 5, 157, 0, 0, 6339, 6340, 5, 63, - 0, 0, 6340, 6341, 5, 193, 0, 0, 6341, 6342, 5, 393, 0, 0, 6342, 6343, 3, - 1394, 697, 0, 6343, 6344, 5, 321, 0, 0, 6344, 6345, 5, 94, 0, 0, 6345, - 6346, 3, 1394, 697, 0, 6346, 6782, 1, 0, 0, 0, 6347, 6348, 5, 157, 0, 0, - 6348, 6349, 5, 230, 0, 0, 6349, 6350, 3, 632, 316, 0, 6350, 6351, 5, 321, - 0, 0, 6351, 6352, 5, 94, 0, 0, 6352, 6353, 3, 1394, 697, 0, 6353, 6782, - 1, 0, 0, 0, 6354, 6355, 5, 157, 0, 0, 6355, 6356, 5, 66, 0, 0, 6356, 6357, - 3, 1420, 710, 0, 6357, 6358, 5, 321, 0, 0, 6358, 6359, 5, 94, 0, 0, 6359, - 6360, 3, 1420, 710, 0, 6360, 6782, 1, 0, 0, 0, 6361, 6363, 5, 157, 0, 0, - 6362, 6364, 3, 310, 155, 0, 6363, 6362, 1, 0, 0, 0, 6363, 6364, 1, 0, 0, - 0, 6364, 6365, 1, 0, 0, 0, 6365, 6366, 5, 257, 0, 0, 6366, 6367, 3, 1394, - 697, 0, 6367, 6368, 5, 321, 0, 0, 6368, 6369, 5, 94, 0, 0, 6369, 6370, - 3, 1394, 697, 0, 6370, 6782, 1, 0, 0, 0, 6371, 6372, 5, 157, 0, 0, 6372, - 6373, 5, 290, 0, 0, 6373, 6374, 5, 175, 0, 0, 6374, 6375, 3, 526, 263, - 0, 6375, 6376, 5, 100, 0, 0, 6376, 6377, 3, 1394, 697, 0, 6377, 6378, 5, - 321, 0, 0, 6378, 6379, 5, 94, 0, 0, 6379, 6380, 3, 1394, 697, 0, 6380, - 6782, 1, 0, 0, 0, 6381, 6382, 5, 157, 0, 0, 6382, 6383, 5, 290, 0, 0, 6383, - 6384, 5, 225, 0, 0, 6384, 6385, 3, 526, 263, 0, 6385, 6386, 5, 100, 0, - 0, 6386, 6387, 3, 1394, 697, 0, 6387, 6388, 5, 321, 0, 0, 6388, 6389, 5, - 94, 0, 0, 6389, 6390, 3, 1394, 697, 0, 6390, 6782, 1, 0, 0, 0, 6391, 6392, - 5, 157, 0, 0, 6392, 6393, 5, 466, 0, 0, 6393, 6394, 3, 1394, 697, 0, 6394, - 6395, 5, 80, 0, 0, 6395, 6396, 3, 1390, 695, 0, 6396, 6397, 5, 321, 0, - 0, 6397, 6398, 5, 94, 0, 0, 6398, 6399, 3, 1394, 697, 0, 6399, 6782, 1, - 0, 0, 0, 6400, 6401, 5, 157, 0, 0, 6401, 6402, 5, 466, 0, 0, 6402, 6403, - 5, 239, 0, 0, 6403, 6404, 5, 409, 0, 0, 6404, 6405, 3, 1394, 697, 0, 6405, - 6406, 5, 80, 0, 0, 6406, 6407, 3, 1390, 695, 0, 6407, 6408, 5, 321, 0, - 0, 6408, 6409, 5, 94, 0, 0, 6409, 6410, 3, 1394, 697, 0, 6410, 6782, 1, - 0, 0, 0, 6411, 6412, 5, 157, 0, 0, 6412, 6413, 5, 308, 0, 0, 6413, 6414, - 3, 632, 316, 0, 6414, 6415, 5, 321, 0, 0, 6415, 6416, 5, 94, 0, 0, 6416, - 6417, 3, 1394, 697, 0, 6417, 6782, 1, 0, 0, 0, 6418, 6419, 5, 157, 0, 0, - 6419, 6420, 5, 473, 0, 0, 6420, 6421, 3, 1394, 697, 0, 6421, 6422, 5, 321, - 0, 0, 6422, 6423, 5, 94, 0, 0, 6423, 6424, 3, 1394, 697, 0, 6424, 6782, - 1, 0, 0, 0, 6425, 6426, 5, 157, 0, 0, 6426, 6427, 5, 463, 0, 0, 6427, 6428, - 3, 632, 316, 0, 6428, 6429, 5, 321, 0, 0, 6429, 6430, 5, 94, 0, 0, 6430, - 6431, 3, 1394, 697, 0, 6431, 6782, 1, 0, 0, 0, 6432, 6433, 5, 157, 0, 0, - 6433, 6434, 5, 335, 0, 0, 6434, 6435, 3, 1394, 697, 0, 6435, 6436, 5, 321, - 0, 0, 6436, 6437, 5, 94, 0, 0, 6437, 6438, 3, 1394, 697, 0, 6438, 6782, - 1, 0, 0, 0, 6439, 6440, 5, 157, 0, 0, 6440, 6441, 5, 343, 0, 0, 6441, 6442, - 3, 1394, 697, 0, 6442, 6443, 5, 321, 0, 0, 6443, 6444, 5, 94, 0, 0, 6444, - 6445, 3, 1394, 697, 0, 6445, 6782, 1, 0, 0, 0, 6446, 6447, 5, 157, 0, 0, - 6447, 6448, 5, 472, 0, 0, 6448, 6449, 3, 1394, 697, 0, 6449, 6450, 5, 321, - 0, 0, 6450, 6451, 5, 94, 0, 0, 6451, 6452, 3, 1394, 697, 0, 6452, 6782, - 1, 0, 0, 0, 6453, 6454, 5, 157, 0, 0, 6454, 6455, 5, 92, 0, 0, 6455, 6456, - 3, 1082, 541, 0, 6456, 6457, 5, 321, 0, 0, 6457, 6458, 5, 94, 0, 0, 6458, - 6459, 3, 1394, 697, 0, 6459, 6782, 1, 0, 0, 0, 6460, 6461, 5, 157, 0, 0, - 6461, 6462, 5, 92, 0, 0, 6462, 6463, 5, 239, 0, 0, 6463, 6464, 5, 409, - 0, 0, 6464, 6465, 3, 1082, 541, 0, 6465, 6466, 5, 321, 0, 0, 6466, 6467, - 5, 94, 0, 0, 6467, 6468, 3, 1394, 697, 0, 6468, 6782, 1, 0, 0, 0, 6469, - 6470, 5, 157, 0, 0, 6470, 6471, 5, 340, 0, 0, 6471, 6472, 3, 1390, 695, - 0, 6472, 6473, 5, 321, 0, 0, 6473, 6474, 5, 94, 0, 0, 6474, 6475, 3, 1394, - 697, 0, 6475, 6782, 1, 0, 0, 0, 6476, 6477, 5, 157, 0, 0, 6477, 6478, 5, - 340, 0, 0, 6478, 6479, 5, 239, 0, 0, 6479, 6480, 5, 409, 0, 0, 6480, 6481, - 3, 1390, 695, 0, 6481, 6482, 5, 321, 0, 0, 6482, 6483, 5, 94, 0, 0, 6483, - 6484, 3, 1394, 697, 0, 6484, 6782, 1, 0, 0, 0, 6485, 6486, 5, 157, 0, 0, - 6486, 6487, 5, 388, 0, 0, 6487, 6488, 3, 1390, 695, 0, 6488, 6489, 5, 321, - 0, 0, 6489, 6490, 5, 94, 0, 0, 6490, 6491, 3, 1394, 697, 0, 6491, 6782, - 1, 0, 0, 0, 6492, 6493, 5, 157, 0, 0, 6493, 6494, 5, 388, 0, 0, 6494, 6495, - 5, 239, 0, 0, 6495, 6496, 5, 409, 0, 0, 6496, 6497, 3, 1390, 695, 0, 6497, - 6498, 5, 321, 0, 0, 6498, 6499, 5, 94, 0, 0, 6499, 6500, 3, 1394, 697, - 0, 6500, 6782, 1, 0, 0, 0, 6501, 6502, 5, 157, 0, 0, 6502, 6503, 5, 270, - 0, 0, 6503, 6504, 5, 388, 0, 0, 6504, 6505, 3, 1390, 695, 0, 6505, 6506, - 5, 321, 0, 0, 6506, 6507, 5, 94, 0, 0, 6507, 6508, 3, 1394, 697, 0, 6508, - 6782, 1, 0, 0, 0, 6509, 6510, 5, 157, 0, 0, 6510, 6511, 5, 270, 0, 0, 6511, - 6512, 5, 388, 0, 0, 6512, 6513, 5, 239, 0, 0, 6513, 6514, 5, 409, 0, 0, - 6514, 6515, 3, 1390, 695, 0, 6515, 6516, 5, 321, 0, 0, 6516, 6517, 5, 94, - 0, 0, 6517, 6518, 3, 1394, 697, 0, 6518, 6782, 1, 0, 0, 0, 6519, 6520, - 5, 157, 0, 0, 6520, 6521, 5, 245, 0, 0, 6521, 6522, 3, 1390, 695, 0, 6522, - 6523, 5, 321, 0, 0, 6523, 6524, 5, 94, 0, 0, 6524, 6525, 3, 1394, 697, - 0, 6525, 6782, 1, 0, 0, 0, 6526, 6527, 5, 157, 0, 0, 6527, 6528, 5, 245, - 0, 0, 6528, 6529, 5, 239, 0, 0, 6529, 6530, 5, 409, 0, 0, 6530, 6531, 3, - 1390, 695, 0, 6531, 6532, 5, 321, 0, 0, 6532, 6533, 5, 94, 0, 0, 6533, - 6534, 3, 1394, 697, 0, 6534, 6782, 1, 0, 0, 0, 6535, 6536, 5, 157, 0, 0, - 6536, 6537, 5, 63, 0, 0, 6537, 6538, 5, 92, 0, 0, 6538, 6539, 3, 1082, - 541, 0, 6539, 6540, 5, 321, 0, 0, 6540, 6541, 5, 94, 0, 0, 6541, 6542, - 3, 1394, 697, 0, 6542, 6782, 1, 0, 0, 0, 6543, 6544, 5, 157, 0, 0, 6544, - 6545, 5, 63, 0, 0, 6545, 6546, 5, 92, 0, 0, 6546, 6547, 5, 239, 0, 0, 6547, - 6548, 5, 409, 0, 0, 6548, 6549, 3, 1082, 541, 0, 6549, 6550, 5, 321, 0, - 0, 6550, 6551, 5, 94, 0, 0, 6551, 6552, 3, 1394, 697, 0, 6552, 6782, 1, - 0, 0, 0, 6553, 6554, 5, 157, 0, 0, 6554, 6555, 5, 92, 0, 0, 6555, 6556, - 3, 1082, 541, 0, 6556, 6558, 5, 321, 0, 0, 6557, 6559, 3, 730, 365, 0, - 6558, 6557, 1, 0, 0, 0, 6558, 6559, 1, 0, 0, 0, 6559, 6560, 1, 0, 0, 0, - 6560, 6561, 3, 1394, 697, 0, 6561, 6562, 5, 94, 0, 0, 6562, 6563, 3, 1394, - 697, 0, 6563, 6782, 1, 0, 0, 0, 6564, 6565, 5, 157, 0, 0, 6565, 6566, 5, - 92, 0, 0, 6566, 6567, 5, 239, 0, 0, 6567, 6568, 5, 409, 0, 0, 6568, 6569, - 3, 1082, 541, 0, 6569, 6571, 5, 321, 0, 0, 6570, 6572, 3, 730, 365, 0, - 6571, 6570, 1, 0, 0, 0, 6571, 6572, 1, 0, 0, 0, 6572, 6573, 1, 0, 0, 0, - 6573, 6574, 3, 1394, 697, 0, 6574, 6575, 5, 94, 0, 0, 6575, 6576, 3, 1394, - 697, 0, 6576, 6782, 1, 0, 0, 0, 6577, 6578, 5, 157, 0, 0, 6578, 6579, 5, - 388, 0, 0, 6579, 6580, 3, 1390, 695, 0, 6580, 6582, 5, 321, 0, 0, 6581, - 6583, 3, 730, 365, 0, 6582, 6581, 1, 0, 0, 0, 6582, 6583, 1, 0, 0, 0, 6583, - 6584, 1, 0, 0, 0, 6584, 6585, 3, 1394, 697, 0, 6585, 6586, 5, 94, 0, 0, - 6586, 6587, 3, 1394, 697, 0, 6587, 6782, 1, 0, 0, 0, 6588, 6589, 5, 157, - 0, 0, 6589, 6590, 5, 388, 0, 0, 6590, 6591, 5, 239, 0, 0, 6591, 6592, 5, - 409, 0, 0, 6592, 6593, 3, 1390, 695, 0, 6593, 6595, 5, 321, 0, 0, 6594, - 6596, 3, 730, 365, 0, 6595, 6594, 1, 0, 0, 0, 6595, 6596, 1, 0, 0, 0, 6596, - 6597, 1, 0, 0, 0, 6597, 6598, 3, 1394, 697, 0, 6598, 6599, 5, 94, 0, 0, - 6599, 6600, 3, 1394, 697, 0, 6600, 6782, 1, 0, 0, 0, 6601, 6602, 5, 157, - 0, 0, 6602, 6603, 5, 270, 0, 0, 6603, 6604, 5, 388, 0, 0, 6604, 6605, 3, - 1390, 695, 0, 6605, 6607, 5, 321, 0, 0, 6606, 6608, 3, 730, 365, 0, 6607, - 6606, 1, 0, 0, 0, 6607, 6608, 1, 0, 0, 0, 6608, 6609, 1, 0, 0, 0, 6609, - 6610, 3, 1394, 697, 0, 6610, 6611, 5, 94, 0, 0, 6611, 6612, 3, 1394, 697, - 0, 6612, 6782, 1, 0, 0, 0, 6613, 6614, 5, 157, 0, 0, 6614, 6615, 5, 270, - 0, 0, 6615, 6616, 5, 388, 0, 0, 6616, 6617, 5, 239, 0, 0, 6617, 6618, 5, - 409, 0, 0, 6618, 6619, 3, 1390, 695, 0, 6619, 6621, 5, 321, 0, 0, 6620, - 6622, 3, 730, 365, 0, 6621, 6620, 1, 0, 0, 0, 6621, 6622, 1, 0, 0, 0, 6622, - 6623, 1, 0, 0, 0, 6623, 6624, 3, 1394, 697, 0, 6624, 6625, 5, 94, 0, 0, - 6625, 6626, 3, 1394, 697, 0, 6626, 6782, 1, 0, 0, 0, 6627, 6628, 5, 157, - 0, 0, 6628, 6629, 5, 92, 0, 0, 6629, 6630, 3, 1082, 541, 0, 6630, 6631, - 5, 321, 0, 0, 6631, 6632, 5, 45, 0, 0, 6632, 6633, 3, 1394, 697, 0, 6633, - 6634, 5, 94, 0, 0, 6634, 6635, 3, 1394, 697, 0, 6635, 6782, 1, 0, 0, 0, - 6636, 6637, 5, 157, 0, 0, 6637, 6638, 5, 92, 0, 0, 6638, 6639, 5, 239, - 0, 0, 6639, 6640, 5, 409, 0, 0, 6640, 6641, 3, 1082, 541, 0, 6641, 6642, - 5, 321, 0, 0, 6642, 6643, 5, 45, 0, 0, 6643, 6644, 3, 1394, 697, 0, 6644, - 6645, 5, 94, 0, 0, 6645, 6646, 3, 1394, 697, 0, 6646, 6782, 1, 0, 0, 0, - 6647, 6648, 5, 157, 0, 0, 6648, 6649, 5, 63, 0, 0, 6649, 6650, 5, 92, 0, - 0, 6650, 6651, 3, 1082, 541, 0, 6651, 6653, 5, 321, 0, 0, 6652, 6654, 3, - 730, 365, 0, 6653, 6652, 1, 0, 0, 0, 6653, 6654, 1, 0, 0, 0, 6654, 6655, - 1, 0, 0, 0, 6655, 6656, 3, 1394, 697, 0, 6656, 6657, 5, 94, 0, 0, 6657, - 6658, 3, 1394, 697, 0, 6658, 6782, 1, 0, 0, 0, 6659, 6660, 5, 157, 0, 0, - 6660, 6661, 5, 63, 0, 0, 6661, 6662, 5, 92, 0, 0, 6662, 6663, 5, 239, 0, - 0, 6663, 6664, 5, 409, 0, 0, 6664, 6665, 3, 1082, 541, 0, 6665, 6667, 5, - 321, 0, 0, 6666, 6668, 3, 730, 365, 0, 6667, 6666, 1, 0, 0, 0, 6667, 6668, - 1, 0, 0, 0, 6668, 6669, 1, 0, 0, 0, 6669, 6670, 3, 1394, 697, 0, 6670, - 6671, 5, 94, 0, 0, 6671, 6672, 3, 1394, 697, 0, 6672, 6782, 1, 0, 0, 0, - 6673, 6674, 5, 157, 0, 0, 6674, 6675, 5, 333, 0, 0, 6675, 6676, 3, 1394, - 697, 0, 6676, 6677, 5, 80, 0, 0, 6677, 6678, 3, 1390, 695, 0, 6678, 6679, - 5, 321, 0, 0, 6679, 6680, 5, 94, 0, 0, 6680, 6681, 3, 1394, 697, 0, 6681, - 6782, 1, 0, 0, 0, 6682, 6683, 5, 157, 0, 0, 6683, 6684, 5, 369, 0, 0, 6684, - 6685, 3, 1394, 697, 0, 6685, 6686, 5, 80, 0, 0, 6686, 6687, 3, 1390, 695, - 0, 6687, 6688, 5, 321, 0, 0, 6688, 6689, 5, 94, 0, 0, 6689, 6690, 3, 1394, - 697, 0, 6690, 6782, 1, 0, 0, 0, 6691, 6692, 5, 157, 0, 0, 6692, 6693, 5, - 217, 0, 0, 6693, 6694, 5, 369, 0, 0, 6694, 6695, 3, 1394, 697, 0, 6695, - 6696, 5, 321, 0, 0, 6696, 6697, 5, 94, 0, 0, 6697, 6698, 3, 1394, 697, - 0, 6698, 6782, 1, 0, 0, 0, 6699, 6700, 5, 157, 0, 0, 6700, 6701, 5, 330, - 0, 0, 6701, 6702, 3, 1420, 710, 0, 6702, 6703, 5, 321, 0, 0, 6703, 6704, - 5, 94, 0, 0, 6704, 6705, 3, 1420, 710, 0, 6705, 6782, 1, 0, 0, 0, 6706, - 6707, 5, 157, 0, 0, 6707, 6708, 5, 99, 0, 0, 6708, 6709, 3, 1420, 710, - 0, 6709, 6710, 5, 321, 0, 0, 6710, 6711, 5, 94, 0, 0, 6711, 6712, 3, 1420, - 710, 0, 6712, 6782, 1, 0, 0, 0, 6713, 6714, 5, 157, 0, 0, 6714, 6715, 5, - 363, 0, 0, 6715, 6716, 3, 1394, 697, 0, 6716, 6717, 5, 321, 0, 0, 6717, - 6718, 5, 94, 0, 0, 6718, 6719, 3, 1394, 697, 0, 6719, 6782, 1, 0, 0, 0, - 6720, 6721, 5, 157, 0, 0, 6721, 6722, 5, 354, 0, 0, 6722, 6723, 3, 526, - 263, 0, 6723, 6724, 5, 321, 0, 0, 6724, 6725, 5, 94, 0, 0, 6725, 6726, - 3, 1394, 697, 0, 6726, 6782, 1, 0, 0, 0, 6727, 6728, 5, 157, 0, 0, 6728, - 6729, 5, 367, 0, 0, 6729, 6730, 5, 337, 0, 0, 6730, 6731, 5, 295, 0, 0, - 6731, 6732, 3, 526, 263, 0, 6732, 6733, 5, 321, 0, 0, 6733, 6734, 5, 94, - 0, 0, 6734, 6735, 3, 1394, 697, 0, 6735, 6782, 1, 0, 0, 0, 6736, 6737, - 5, 157, 0, 0, 6737, 6738, 5, 367, 0, 0, 6738, 6739, 5, 337, 0, 0, 6739, - 6740, 5, 204, 0, 0, 6740, 6741, 3, 526, 263, 0, 6741, 6742, 5, 321, 0, - 0, 6742, 6743, 5, 94, 0, 0, 6743, 6744, 3, 1394, 697, 0, 6744, 6782, 1, - 0, 0, 0, 6745, 6746, 5, 157, 0, 0, 6746, 6747, 5, 367, 0, 0, 6747, 6748, - 5, 337, 0, 0, 6748, 6749, 5, 365, 0, 0, 6749, 6750, 3, 526, 263, 0, 6750, - 6751, 5, 321, 0, 0, 6751, 6752, 5, 94, 0, 0, 6752, 6753, 3, 1394, 697, - 0, 6753, 6782, 1, 0, 0, 0, 6754, 6755, 5, 157, 0, 0, 6755, 6756, 5, 367, - 0, 0, 6756, 6757, 5, 337, 0, 0, 6757, 6758, 5, 182, 0, 0, 6758, 6759, 3, - 526, 263, 0, 6759, 6760, 5, 321, 0, 0, 6760, 6761, 5, 94, 0, 0, 6761, 6762, - 3, 1394, 697, 0, 6762, 6782, 1, 0, 0, 0, 6763, 6764, 5, 157, 0, 0, 6764, - 6765, 5, 372, 0, 0, 6765, 6766, 3, 526, 263, 0, 6766, 6767, 5, 321, 0, - 0, 6767, 6768, 5, 94, 0, 0, 6768, 6769, 3, 1394, 697, 0, 6769, 6782, 1, - 0, 0, 0, 6770, 6771, 5, 157, 0, 0, 6771, 6772, 5, 372, 0, 0, 6772, 6773, - 3, 526, 263, 0, 6773, 6774, 5, 321, 0, 0, 6774, 6775, 5, 162, 0, 0, 6775, - 6776, 3, 1394, 697, 0, 6776, 6777, 5, 94, 0, 0, 6777, 6779, 3, 1394, 697, - 0, 6778, 6780, 3, 108, 54, 0, 6779, 6778, 1, 0, 0, 0, 6779, 6780, 1, 0, - 0, 0, 6780, 6782, 1, 0, 0, 0, 6781, 6294, 1, 0, 0, 0, 6781, 6301, 1, 0, - 0, 0, 6781, 6308, 1, 0, 0, 0, 6781, 6315, 1, 0, 0, 0, 6781, 6322, 1, 0, - 0, 0, 6781, 6329, 1, 0, 0, 0, 6781, 6338, 1, 0, 0, 0, 6781, 6347, 1, 0, - 0, 0, 6781, 6354, 1, 0, 0, 0, 6781, 6361, 1, 0, 0, 0, 6781, 6371, 1, 0, - 0, 0, 6781, 6381, 1, 0, 0, 0, 6781, 6391, 1, 0, 0, 0, 6781, 6400, 1, 0, - 0, 0, 6781, 6411, 1, 0, 0, 0, 6781, 6418, 1, 0, 0, 0, 6781, 6425, 1, 0, - 0, 0, 6781, 6432, 1, 0, 0, 0, 6781, 6439, 1, 0, 0, 0, 6781, 6446, 1, 0, - 0, 0, 6781, 6453, 1, 0, 0, 0, 6781, 6460, 1, 0, 0, 0, 6781, 6469, 1, 0, - 0, 0, 6781, 6476, 1, 0, 0, 0, 6781, 6485, 1, 0, 0, 0, 6781, 6492, 1, 0, - 0, 0, 6781, 6501, 1, 0, 0, 0, 6781, 6509, 1, 0, 0, 0, 6781, 6519, 1, 0, - 0, 0, 6781, 6526, 1, 0, 0, 0, 6781, 6535, 1, 0, 0, 0, 6781, 6543, 1, 0, - 0, 0, 6781, 6553, 1, 0, 0, 0, 6781, 6564, 1, 0, 0, 0, 6781, 6577, 1, 0, - 0, 0, 6781, 6588, 1, 0, 0, 0, 6781, 6601, 1, 0, 0, 0, 6781, 6613, 1, 0, - 0, 0, 6781, 6627, 1, 0, 0, 0, 6781, 6636, 1, 0, 0, 0, 6781, 6647, 1, 0, - 0, 0, 6781, 6659, 1, 0, 0, 0, 6781, 6673, 1, 0, 0, 0, 6781, 6682, 1, 0, - 0, 0, 6781, 6691, 1, 0, 0, 0, 6781, 6699, 1, 0, 0, 0, 6781, 6706, 1, 0, - 0, 0, 6781, 6713, 1, 0, 0, 0, 6781, 6720, 1, 0, 0, 0, 6781, 6727, 1, 0, - 0, 0, 6781, 6736, 1, 0, 0, 0, 6781, 6745, 1, 0, 0, 0, 6781, 6754, 1, 0, - 0, 0, 6781, 6763, 1, 0, 0, 0, 6781, 6770, 1, 0, 0, 0, 6782, 729, 1, 0, - 0, 0, 6783, 6784, 5, 44, 0, 0, 6784, 731, 1, 0, 0, 0, 6785, 6786, 5, 345, - 0, 0, 6786, 6787, 5, 193, 0, 0, 6787, 733, 1, 0, 0, 0, 6788, 6789, 5, 157, - 0, 0, 6789, 6790, 5, 230, 0, 0, 6790, 6792, 3, 632, 316, 0, 6791, 6793, - 3, 736, 368, 0, 6792, 6791, 1, 0, 0, 0, 6792, 6793, 1, 0, 0, 0, 6793, 6794, - 1, 0, 0, 0, 6794, 6795, 5, 483, 0, 0, 6795, 6796, 5, 80, 0, 0, 6796, 6797, - 5, 223, 0, 0, 6797, 6798, 3, 1394, 697, 0, 6798, 6858, 1, 0, 0, 0, 6799, - 6800, 5, 157, 0, 0, 6800, 6801, 5, 308, 0, 0, 6801, 6803, 3, 632, 316, - 0, 6802, 6804, 3, 736, 368, 0, 6803, 6802, 1, 0, 0, 0, 6803, 6804, 1, 0, - 0, 0, 6804, 6805, 1, 0, 0, 0, 6805, 6806, 5, 483, 0, 0, 6806, 6807, 5, - 80, 0, 0, 6807, 6808, 5, 223, 0, 0, 6808, 6809, 3, 1394, 697, 0, 6809, - 6858, 1, 0, 0, 0, 6810, 6811, 5, 157, 0, 0, 6811, 6812, 5, 463, 0, 0, 6812, - 6814, 3, 632, 316, 0, 6813, 6815, 3, 736, 368, 0, 6814, 6813, 1, 0, 0, - 0, 6814, 6815, 1, 0, 0, 0, 6815, 6816, 1, 0, 0, 0, 6816, 6817, 5, 483, - 0, 0, 6817, 6818, 5, 80, 0, 0, 6818, 6819, 5, 223, 0, 0, 6819, 6820, 3, - 1394, 697, 0, 6820, 6858, 1, 0, 0, 0, 6821, 6822, 5, 157, 0, 0, 6822, 6823, - 5, 369, 0, 0, 6823, 6824, 3, 1394, 697, 0, 6824, 6825, 5, 80, 0, 0, 6825, - 6827, 3, 1390, 695, 0, 6826, 6828, 3, 736, 368, 0, 6827, 6826, 1, 0, 0, - 0, 6827, 6828, 1, 0, 0, 0, 6828, 6829, 1, 0, 0, 0, 6829, 6830, 5, 483, - 0, 0, 6830, 6831, 5, 80, 0, 0, 6831, 6832, 5, 223, 0, 0, 6832, 6833, 3, - 1394, 697, 0, 6833, 6858, 1, 0, 0, 0, 6834, 6835, 5, 157, 0, 0, 6835, 6836, - 5, 270, 0, 0, 6836, 6837, 5, 388, 0, 0, 6837, 6839, 3, 1390, 695, 0, 6838, - 6840, 3, 736, 368, 0, 6839, 6838, 1, 0, 0, 0, 6839, 6840, 1, 0, 0, 0, 6840, - 6841, 1, 0, 0, 0, 6841, 6842, 5, 483, 0, 0, 6842, 6843, 5, 80, 0, 0, 6843, - 6844, 5, 223, 0, 0, 6844, 6845, 3, 1394, 697, 0, 6845, 6858, 1, 0, 0, 0, - 6846, 6847, 5, 157, 0, 0, 6847, 6848, 5, 245, 0, 0, 6848, 6850, 3, 1390, - 695, 0, 6849, 6851, 3, 736, 368, 0, 6850, 6849, 1, 0, 0, 0, 6850, 6851, - 1, 0, 0, 0, 6851, 6852, 1, 0, 0, 0, 6852, 6853, 5, 483, 0, 0, 6853, 6854, - 5, 80, 0, 0, 6854, 6855, 5, 223, 0, 0, 6855, 6856, 3, 1394, 697, 0, 6856, - 6858, 1, 0, 0, 0, 6857, 6788, 1, 0, 0, 0, 6857, 6799, 1, 0, 0, 0, 6857, - 6810, 1, 0, 0, 0, 6857, 6821, 1, 0, 0, 0, 6857, 6834, 1, 0, 0, 0, 6857, - 6846, 1, 0, 0, 0, 6858, 735, 1, 0, 0, 0, 6859, 6860, 5, 281, 0, 0, 6860, - 737, 1, 0, 0, 0, 6861, 6862, 5, 157, 0, 0, 6862, 6863, 5, 155, 0, 0, 6863, - 6864, 3, 656, 328, 0, 6864, 6865, 5, 345, 0, 0, 6865, 6866, 5, 335, 0, - 0, 6866, 6867, 3, 1394, 697, 0, 6867, 7079, 1, 0, 0, 0, 6868, 6869, 5, - 157, 0, 0, 6869, 6870, 5, 127, 0, 0, 6870, 6871, 3, 526, 263, 0, 6871, - 6872, 5, 345, 0, 0, 6872, 6873, 5, 335, 0, 0, 6873, 6874, 3, 1394, 697, - 0, 6874, 7079, 1, 0, 0, 0, 6875, 6876, 5, 157, 0, 0, 6876, 6877, 5, 187, - 0, 0, 6877, 6878, 3, 526, 263, 0, 6878, 6879, 5, 345, 0, 0, 6879, 6880, - 5, 335, 0, 0, 6880, 6881, 3, 1394, 697, 0, 6881, 7079, 1, 0, 0, 0, 6882, - 6883, 5, 157, 0, 0, 6883, 6884, 5, 208, 0, 0, 6884, 6885, 3, 526, 263, - 0, 6885, 6886, 5, 345, 0, 0, 6886, 6887, 5, 335, 0, 0, 6887, 6888, 3, 1394, - 697, 0, 6888, 7079, 1, 0, 0, 0, 6889, 6890, 5, 157, 0, 0, 6890, 6891, 5, - 223, 0, 0, 6891, 6892, 3, 1394, 697, 0, 6892, 6893, 5, 345, 0, 0, 6893, - 6894, 5, 335, 0, 0, 6894, 6895, 3, 1394, 697, 0, 6895, 7079, 1, 0, 0, 0, - 6896, 6897, 5, 157, 0, 0, 6897, 6898, 5, 230, 0, 0, 6898, 6899, 3, 632, - 316, 0, 6899, 6900, 5, 345, 0, 0, 6900, 6901, 5, 335, 0, 0, 6901, 6902, - 3, 1394, 697, 0, 6902, 7079, 1, 0, 0, 0, 6903, 6904, 5, 157, 0, 0, 6904, - 6905, 5, 290, 0, 0, 6905, 6906, 3, 694, 347, 0, 6906, 6907, 5, 345, 0, - 0, 6907, 6908, 5, 335, 0, 0, 6908, 6909, 3, 1394, 697, 0, 6909, 7079, 1, - 0, 0, 0, 6910, 6911, 5, 157, 0, 0, 6911, 6912, 5, 290, 0, 0, 6912, 6913, - 5, 175, 0, 0, 6913, 6914, 3, 526, 263, 0, 6914, 6915, 5, 100, 0, 0, 6915, - 6916, 3, 1394, 697, 0, 6916, 6917, 5, 345, 0, 0, 6917, 6918, 5, 335, 0, - 0, 6918, 6919, 3, 1394, 697, 0, 6919, 7079, 1, 0, 0, 0, 6920, 6921, 5, - 157, 0, 0, 6921, 6922, 5, 290, 0, 0, 6922, 6923, 5, 225, 0, 0, 6923, 6924, - 3, 526, 263, 0, 6924, 6925, 5, 100, 0, 0, 6925, 6926, 3, 1394, 697, 0, - 6926, 6927, 5, 345, 0, 0, 6927, 6928, 5, 335, 0, 0, 6928, 6929, 3, 1394, - 697, 0, 6929, 7079, 1, 0, 0, 0, 6930, 6931, 5, 157, 0, 0, 6931, 6932, 5, - 308, 0, 0, 6932, 6933, 3, 632, 316, 0, 6933, 6934, 5, 345, 0, 0, 6934, - 6935, 5, 335, 0, 0, 6935, 6936, 3, 1394, 697, 0, 6936, 7079, 1, 0, 0, 0, - 6937, 6938, 5, 157, 0, 0, 6938, 6939, 5, 463, 0, 0, 6939, 6940, 3, 632, - 316, 0, 6940, 6941, 5, 345, 0, 0, 6941, 6942, 5, 335, 0, 0, 6942, 6943, - 3, 1394, 697, 0, 6943, 7079, 1, 0, 0, 0, 6944, 6945, 5, 157, 0, 0, 6945, - 6946, 5, 92, 0, 0, 6946, 6947, 3, 1082, 541, 0, 6947, 6948, 5, 345, 0, - 0, 6948, 6949, 5, 335, 0, 0, 6949, 6950, 3, 1394, 697, 0, 6950, 7079, 1, - 0, 0, 0, 6951, 6952, 5, 157, 0, 0, 6952, 6953, 5, 92, 0, 0, 6953, 6954, - 5, 239, 0, 0, 6954, 6955, 5, 409, 0, 0, 6955, 6956, 3, 1082, 541, 0, 6956, - 6957, 5, 345, 0, 0, 6957, 6958, 5, 335, 0, 0, 6958, 6959, 3, 1394, 697, - 0, 6959, 7079, 1, 0, 0, 0, 6960, 6961, 5, 157, 0, 0, 6961, 6962, 5, 354, - 0, 0, 6962, 6963, 3, 526, 263, 0, 6963, 6964, 5, 345, 0, 0, 6964, 6965, - 5, 335, 0, 0, 6965, 6966, 3, 1394, 697, 0, 6966, 7079, 1, 0, 0, 0, 6967, - 6968, 5, 157, 0, 0, 6968, 6969, 5, 367, 0, 0, 6969, 6970, 5, 337, 0, 0, - 6970, 6971, 5, 295, 0, 0, 6971, 6972, 3, 526, 263, 0, 6972, 6973, 5, 345, - 0, 0, 6973, 6974, 5, 335, 0, 0, 6974, 6975, 3, 1394, 697, 0, 6975, 7079, - 1, 0, 0, 0, 6976, 6977, 5, 157, 0, 0, 6977, 6978, 5, 367, 0, 0, 6978, 6979, - 5, 337, 0, 0, 6979, 6980, 5, 204, 0, 0, 6980, 6981, 3, 526, 263, 0, 6981, - 6982, 5, 345, 0, 0, 6982, 6983, 5, 335, 0, 0, 6983, 6984, 3, 1394, 697, - 0, 6984, 7079, 1, 0, 0, 0, 6985, 6986, 5, 157, 0, 0, 6986, 6987, 5, 367, - 0, 0, 6987, 6988, 5, 337, 0, 0, 6988, 6989, 5, 365, 0, 0, 6989, 6990, 3, - 526, 263, 0, 6990, 6991, 5, 345, 0, 0, 6991, 6992, 5, 335, 0, 0, 6992, - 6993, 3, 1394, 697, 0, 6993, 7079, 1, 0, 0, 0, 6994, 6995, 5, 157, 0, 0, - 6995, 6996, 5, 367, 0, 0, 6996, 6997, 5, 337, 0, 0, 6997, 6998, 5, 182, - 0, 0, 6998, 6999, 3, 526, 263, 0, 6999, 7000, 5, 345, 0, 0, 7000, 7001, - 5, 335, 0, 0, 7001, 7002, 3, 1394, 697, 0, 7002, 7079, 1, 0, 0, 0, 7003, - 7004, 5, 157, 0, 0, 7004, 7005, 5, 340, 0, 0, 7005, 7006, 3, 1390, 695, - 0, 7006, 7007, 5, 345, 0, 0, 7007, 7008, 5, 335, 0, 0, 7008, 7009, 3, 1394, - 697, 0, 7009, 7079, 1, 0, 0, 0, 7010, 7011, 5, 157, 0, 0, 7011, 7012, 5, - 340, 0, 0, 7012, 7013, 5, 239, 0, 0, 7013, 7014, 5, 409, 0, 0, 7014, 7015, - 3, 1390, 695, 0, 7015, 7016, 5, 345, 0, 0, 7016, 7017, 5, 335, 0, 0, 7017, - 7018, 3, 1394, 697, 0, 7018, 7079, 1, 0, 0, 0, 7019, 7020, 5, 157, 0, 0, - 7020, 7021, 5, 388, 0, 0, 7021, 7022, 3, 1390, 695, 0, 7022, 7023, 5, 345, - 0, 0, 7023, 7024, 5, 335, 0, 0, 7024, 7025, 3, 1394, 697, 0, 7025, 7079, - 1, 0, 0, 0, 7026, 7027, 5, 157, 0, 0, 7027, 7028, 5, 388, 0, 0, 7028, 7029, - 5, 239, 0, 0, 7029, 7030, 5, 409, 0, 0, 7030, 7031, 3, 1390, 695, 0, 7031, - 7032, 5, 345, 0, 0, 7032, 7033, 5, 335, 0, 0, 7033, 7034, 3, 1394, 697, - 0, 7034, 7079, 1, 0, 0, 0, 7035, 7036, 5, 157, 0, 0, 7036, 7037, 5, 270, - 0, 0, 7037, 7038, 5, 388, 0, 0, 7038, 7039, 3, 1390, 695, 0, 7039, 7040, - 5, 345, 0, 0, 7040, 7041, 5, 335, 0, 0, 7041, 7042, 3, 1394, 697, 0, 7042, - 7079, 1, 0, 0, 0, 7043, 7044, 5, 157, 0, 0, 7044, 7045, 5, 270, 0, 0, 7045, - 7046, 5, 388, 0, 0, 7046, 7047, 5, 239, 0, 0, 7047, 7048, 5, 409, 0, 0, - 7048, 7049, 3, 1390, 695, 0, 7049, 7050, 5, 345, 0, 0, 7050, 7051, 5, 335, - 0, 0, 7051, 7052, 3, 1394, 697, 0, 7052, 7079, 1, 0, 0, 0, 7053, 7054, - 5, 157, 0, 0, 7054, 7055, 5, 63, 0, 0, 7055, 7056, 5, 92, 0, 0, 7056, 7057, - 3, 1082, 541, 0, 7057, 7058, 5, 345, 0, 0, 7058, 7059, 5, 335, 0, 0, 7059, - 7060, 3, 1394, 697, 0, 7060, 7079, 1, 0, 0, 0, 7061, 7062, 5, 157, 0, 0, - 7062, 7063, 5, 63, 0, 0, 7063, 7064, 5, 92, 0, 0, 7064, 7065, 5, 239, 0, - 0, 7065, 7066, 5, 409, 0, 0, 7066, 7067, 3, 1082, 541, 0, 7067, 7068, 5, - 345, 0, 0, 7068, 7069, 5, 335, 0, 0, 7069, 7070, 3, 1394, 697, 0, 7070, - 7079, 1, 0, 0, 0, 7071, 7072, 5, 157, 0, 0, 7072, 7073, 5, 372, 0, 0, 7073, - 7074, 3, 526, 263, 0, 7074, 7075, 5, 345, 0, 0, 7075, 7076, 5, 335, 0, - 0, 7076, 7077, 3, 1394, 697, 0, 7077, 7079, 1, 0, 0, 0, 7078, 6861, 1, - 0, 0, 0, 7078, 6868, 1, 0, 0, 0, 7078, 6875, 1, 0, 0, 0, 7078, 6882, 1, - 0, 0, 0, 7078, 6889, 1, 0, 0, 0, 7078, 6896, 1, 0, 0, 0, 7078, 6903, 1, - 0, 0, 0, 7078, 6910, 1, 0, 0, 0, 7078, 6920, 1, 0, 0, 0, 7078, 6930, 1, - 0, 0, 0, 7078, 6937, 1, 0, 0, 0, 7078, 6944, 1, 0, 0, 0, 7078, 6951, 1, - 0, 0, 0, 7078, 6960, 1, 0, 0, 0, 7078, 6967, 1, 0, 0, 0, 7078, 6976, 1, - 0, 0, 0, 7078, 6985, 1, 0, 0, 0, 7078, 6994, 1, 0, 0, 0, 7078, 7003, 1, - 0, 0, 0, 7078, 7010, 1, 0, 0, 0, 7078, 7019, 1, 0, 0, 0, 7078, 7026, 1, - 0, 0, 0, 7078, 7035, 1, 0, 0, 0, 7078, 7043, 1, 0, 0, 0, 7078, 7053, 1, - 0, 0, 0, 7078, 7061, 1, 0, 0, 0, 7078, 7071, 1, 0, 0, 0, 7079, 739, 1, - 0, 0, 0, 7080, 7081, 5, 157, 0, 0, 7081, 7082, 5, 290, 0, 0, 7082, 7083, - 3, 694, 347, 0, 7083, 7084, 5, 345, 0, 0, 7084, 7085, 5, 2, 0, 0, 7085, - 7086, 3, 742, 371, 0, 7086, 7087, 5, 3, 0, 0, 7087, 741, 1, 0, 0, 0, 7088, - 7093, 3, 744, 372, 0, 7089, 7090, 5, 6, 0, 0, 7090, 7092, 3, 744, 372, - 0, 7091, 7089, 1, 0, 0, 0, 7092, 7095, 1, 0, 0, 0, 7093, 7091, 1, 0, 0, - 0, 7093, 7094, 1, 0, 0, 0, 7094, 743, 1, 0, 0, 0, 7095, 7093, 1, 0, 0, - 0, 7096, 7097, 3, 1434, 717, 0, 7097, 7098, 5, 10, 0, 0, 7098, 7099, 5, - 420, 0, 0, 7099, 7105, 1, 0, 0, 0, 7100, 7101, 3, 1434, 717, 0, 7101, 7102, - 5, 10, 0, 0, 7102, 7103, 3, 746, 373, 0, 7103, 7105, 1, 0, 0, 0, 7104, - 7096, 1, 0, 0, 0, 7104, 7100, 1, 0, 0, 0, 7105, 745, 1, 0, 0, 0, 7106, - 7112, 3, 646, 323, 0, 7107, 7112, 3, 1446, 723, 0, 7108, 7112, 3, 1328, - 664, 0, 7109, 7112, 3, 294, 147, 0, 7110, 7112, 3, 1412, 706, 0, 7111, - 7106, 1, 0, 0, 0, 7111, 7107, 1, 0, 0, 0, 7111, 7108, 1, 0, 0, 0, 7111, - 7109, 1, 0, 0, 0, 7111, 7110, 1, 0, 0, 0, 7112, 747, 1, 0, 0, 0, 7113, - 7114, 5, 157, 0, 0, 7114, 7115, 5, 372, 0, 0, 7115, 7116, 3, 526, 263, - 0, 7116, 7117, 5, 345, 0, 0, 7117, 7118, 5, 2, 0, 0, 7118, 7119, 3, 742, - 371, 0, 7119, 7120, 5, 3, 0, 0, 7120, 749, 1, 0, 0, 0, 7121, 7122, 5, 157, - 0, 0, 7122, 7123, 5, 155, 0, 0, 7123, 7124, 3, 656, 328, 0, 7124, 7125, - 5, 294, 0, 0, 7125, 7126, 5, 94, 0, 0, 7126, 7127, 3, 1422, 711, 0, 7127, - 7307, 1, 0, 0, 0, 7128, 7129, 5, 157, 0, 0, 7129, 7130, 5, 127, 0, 0, 7130, - 7131, 3, 526, 263, 0, 7131, 7132, 5, 294, 0, 0, 7132, 7133, 5, 94, 0, 0, - 7133, 7134, 3, 1422, 711, 0, 7134, 7307, 1, 0, 0, 0, 7135, 7136, 5, 157, - 0, 0, 7136, 7137, 5, 187, 0, 0, 7137, 7138, 3, 526, 263, 0, 7138, 7139, - 5, 294, 0, 0, 7139, 7140, 5, 94, 0, 0, 7140, 7141, 3, 1422, 711, 0, 7141, - 7307, 1, 0, 0, 0, 7142, 7143, 5, 157, 0, 0, 7143, 7144, 5, 194, 0, 0, 7144, - 7145, 3, 1394, 697, 0, 7145, 7146, 5, 294, 0, 0, 7146, 7147, 5, 94, 0, - 0, 7147, 7148, 3, 1422, 711, 0, 7148, 7307, 1, 0, 0, 0, 7149, 7150, 5, - 157, 0, 0, 7150, 7151, 5, 208, 0, 0, 7151, 7152, 3, 526, 263, 0, 7152, - 7153, 5, 294, 0, 0, 7153, 7154, 5, 94, 0, 0, 7154, 7155, 3, 1422, 711, - 0, 7155, 7307, 1, 0, 0, 0, 7156, 7157, 5, 157, 0, 0, 7157, 7158, 5, 230, - 0, 0, 7158, 7159, 3, 632, 316, 0, 7159, 7160, 5, 294, 0, 0, 7160, 7161, - 5, 94, 0, 0, 7161, 7162, 3, 1422, 711, 0, 7162, 7307, 1, 0, 0, 0, 7163, - 7165, 5, 157, 0, 0, 7164, 7166, 3, 310, 155, 0, 7165, 7164, 1, 0, 0, 0, - 7165, 7166, 1, 0, 0, 0, 7166, 7167, 1, 0, 0, 0, 7167, 7168, 5, 257, 0, - 0, 7168, 7169, 3, 1394, 697, 0, 7169, 7170, 5, 294, 0, 0, 7170, 7171, 5, - 94, 0, 0, 7171, 7172, 3, 1422, 711, 0, 7172, 7307, 1, 0, 0, 0, 7173, 7174, - 5, 157, 0, 0, 7174, 7175, 5, 258, 0, 0, 7175, 7176, 5, 286, 0, 0, 7176, - 7177, 3, 294, 147, 0, 7177, 7178, 5, 294, 0, 0, 7178, 7179, 5, 94, 0, 0, - 7179, 7180, 3, 1422, 711, 0, 7180, 7307, 1, 0, 0, 0, 7181, 7182, 5, 157, - 0, 0, 7182, 7183, 5, 290, 0, 0, 7183, 7184, 3, 694, 347, 0, 7184, 7185, - 5, 294, 0, 0, 7185, 7186, 5, 94, 0, 0, 7186, 7187, 3, 1422, 711, 0, 7187, - 7307, 1, 0, 0, 0, 7188, 7189, 5, 157, 0, 0, 7189, 7190, 5, 290, 0, 0, 7190, - 7191, 5, 175, 0, 0, 7191, 7192, 3, 526, 263, 0, 7192, 7193, 5, 100, 0, - 0, 7193, 7194, 3, 1394, 697, 0, 7194, 7195, 5, 294, 0, 0, 7195, 7196, 5, - 94, 0, 0, 7196, 7197, 3, 1422, 711, 0, 7197, 7307, 1, 0, 0, 0, 7198, 7199, - 5, 157, 0, 0, 7199, 7200, 5, 290, 0, 0, 7200, 7201, 5, 225, 0, 0, 7201, - 7202, 3, 526, 263, 0, 7202, 7203, 5, 100, 0, 0, 7203, 7204, 3, 1394, 697, - 0, 7204, 7205, 5, 294, 0, 0, 7205, 7206, 5, 94, 0, 0, 7206, 7207, 3, 1422, - 711, 0, 7207, 7307, 1, 0, 0, 0, 7208, 7209, 5, 157, 0, 0, 7209, 7210, 5, - 308, 0, 0, 7210, 7211, 3, 632, 316, 0, 7211, 7212, 5, 294, 0, 0, 7212, - 7213, 5, 94, 0, 0, 7213, 7214, 3, 1422, 711, 0, 7214, 7307, 1, 0, 0, 0, - 7215, 7216, 5, 157, 0, 0, 7216, 7217, 5, 463, 0, 0, 7217, 7218, 3, 632, - 316, 0, 7218, 7219, 5, 294, 0, 0, 7219, 7220, 5, 94, 0, 0, 7220, 7221, - 3, 1422, 711, 0, 7221, 7307, 1, 0, 0, 0, 7222, 7223, 5, 157, 0, 0, 7223, - 7224, 5, 335, 0, 0, 7224, 7225, 3, 1394, 697, 0, 7225, 7226, 5, 294, 0, - 0, 7226, 7227, 5, 94, 0, 0, 7227, 7228, 3, 1422, 711, 0, 7228, 7307, 1, - 0, 0, 0, 7229, 7230, 5, 157, 0, 0, 7230, 7231, 5, 372, 0, 0, 7231, 7232, - 3, 526, 263, 0, 7232, 7233, 5, 294, 0, 0, 7233, 7234, 5, 94, 0, 0, 7234, - 7235, 3, 1422, 711, 0, 7235, 7307, 1, 0, 0, 0, 7236, 7237, 5, 157, 0, 0, - 7237, 7238, 5, 363, 0, 0, 7238, 7239, 3, 1394, 697, 0, 7239, 7240, 5, 294, - 0, 0, 7240, 7241, 5, 94, 0, 0, 7241, 7242, 3, 1422, 711, 0, 7242, 7307, - 1, 0, 0, 0, 7243, 7244, 5, 157, 0, 0, 7244, 7245, 5, 354, 0, 0, 7245, 7246, - 3, 526, 263, 0, 7246, 7247, 5, 294, 0, 0, 7247, 7248, 5, 94, 0, 0, 7248, - 7249, 3, 1422, 711, 0, 7249, 7307, 1, 0, 0, 0, 7250, 7251, 5, 157, 0, 0, - 7251, 7252, 5, 367, 0, 0, 7252, 7253, 5, 337, 0, 0, 7253, 7254, 5, 204, - 0, 0, 7254, 7255, 3, 526, 263, 0, 7255, 7256, 5, 294, 0, 0, 7256, 7257, - 5, 94, 0, 0, 7257, 7258, 3, 1422, 711, 0, 7258, 7307, 1, 0, 0, 0, 7259, - 7260, 5, 157, 0, 0, 7260, 7261, 5, 367, 0, 0, 7261, 7262, 5, 337, 0, 0, - 7262, 7263, 5, 182, 0, 0, 7263, 7264, 3, 526, 263, 0, 7264, 7265, 5, 294, - 0, 0, 7265, 7266, 5, 94, 0, 0, 7266, 7267, 3, 1422, 711, 0, 7267, 7307, - 1, 0, 0, 0, 7268, 7269, 5, 157, 0, 0, 7269, 7270, 5, 63, 0, 0, 7270, 7271, - 5, 193, 0, 0, 7271, 7272, 5, 393, 0, 0, 7272, 7273, 3, 1394, 697, 0, 7273, - 7274, 5, 294, 0, 0, 7274, 7275, 5, 94, 0, 0, 7275, 7276, 3, 1422, 711, - 0, 7276, 7307, 1, 0, 0, 0, 7277, 7278, 5, 157, 0, 0, 7278, 7279, 5, 343, - 0, 0, 7279, 7280, 3, 1394, 697, 0, 7280, 7281, 5, 294, 0, 0, 7281, 7282, - 5, 94, 0, 0, 7282, 7283, 3, 1422, 711, 0, 7283, 7307, 1, 0, 0, 0, 7284, - 7285, 5, 157, 0, 0, 7285, 7286, 5, 217, 0, 0, 7286, 7287, 5, 369, 0, 0, - 7287, 7288, 3, 1394, 697, 0, 7288, 7289, 5, 294, 0, 0, 7289, 7290, 5, 94, - 0, 0, 7290, 7291, 3, 1422, 711, 0, 7291, 7307, 1, 0, 0, 0, 7292, 7293, - 5, 157, 0, 0, 7293, 7294, 5, 473, 0, 0, 7294, 7295, 3, 1394, 697, 0, 7295, - 7296, 5, 294, 0, 0, 7296, 7297, 5, 94, 0, 0, 7297, 7298, 3, 1422, 711, - 0, 7298, 7307, 1, 0, 0, 0, 7299, 7300, 5, 157, 0, 0, 7300, 7301, 5, 472, - 0, 0, 7301, 7302, 3, 1394, 697, 0, 7302, 7303, 5, 294, 0, 0, 7303, 7304, - 5, 94, 0, 0, 7304, 7305, 3, 1422, 711, 0, 7305, 7307, 1, 0, 0, 0, 7306, - 7121, 1, 0, 0, 0, 7306, 7128, 1, 0, 0, 0, 7306, 7135, 1, 0, 0, 0, 7306, - 7142, 1, 0, 0, 0, 7306, 7149, 1, 0, 0, 0, 7306, 7156, 1, 0, 0, 0, 7306, - 7163, 1, 0, 0, 0, 7306, 7173, 1, 0, 0, 0, 7306, 7181, 1, 0, 0, 0, 7306, - 7188, 1, 0, 0, 0, 7306, 7198, 1, 0, 0, 0, 7306, 7208, 1, 0, 0, 0, 7306, - 7215, 1, 0, 0, 0, 7306, 7222, 1, 0, 0, 0, 7306, 7229, 1, 0, 0, 0, 7306, - 7236, 1, 0, 0, 0, 7306, 7243, 1, 0, 0, 0, 7306, 7250, 1, 0, 0, 0, 7306, - 7259, 1, 0, 0, 0, 7306, 7268, 1, 0, 0, 0, 7306, 7277, 1, 0, 0, 0, 7306, - 7284, 1, 0, 0, 0, 7306, 7292, 1, 0, 0, 0, 7306, 7299, 1, 0, 0, 0, 7307, - 751, 1, 0, 0, 0, 7308, 7309, 5, 46, 0, 0, 7309, 7310, 5, 473, 0, 0, 7310, - 7312, 3, 1394, 697, 0, 7311, 7313, 3, 670, 335, 0, 7312, 7311, 1, 0, 0, - 0, 7312, 7313, 1, 0, 0, 0, 7313, 7332, 1, 0, 0, 0, 7314, 7315, 5, 46, 0, - 0, 7315, 7316, 5, 473, 0, 0, 7316, 7317, 3, 1394, 697, 0, 7317, 7318, 5, - 62, 0, 0, 7318, 7319, 5, 30, 0, 0, 7319, 7321, 5, 362, 0, 0, 7320, 7322, - 3, 670, 335, 0, 7321, 7320, 1, 0, 0, 0, 7321, 7322, 1, 0, 0, 0, 7322, 7332, - 1, 0, 0, 0, 7323, 7324, 5, 46, 0, 0, 7324, 7325, 5, 473, 0, 0, 7325, 7326, - 3, 1394, 697, 0, 7326, 7327, 5, 62, 0, 0, 7327, 7329, 3, 754, 377, 0, 7328, - 7330, 3, 670, 335, 0, 7329, 7328, 1, 0, 0, 0, 7329, 7330, 1, 0, 0, 0, 7330, - 7332, 1, 0, 0, 0, 7331, 7308, 1, 0, 0, 0, 7331, 7314, 1, 0, 0, 0, 7331, - 7323, 1, 0, 0, 0, 7332, 753, 1, 0, 0, 0, 7333, 7338, 3, 756, 378, 0, 7334, - 7335, 5, 6, 0, 0, 7335, 7337, 3, 756, 378, 0, 7336, 7334, 1, 0, 0, 0, 7337, - 7340, 1, 0, 0, 0, 7338, 7336, 1, 0, 0, 0, 7338, 7339, 1, 0, 0, 0, 7339, - 755, 1, 0, 0, 0, 7340, 7338, 1, 0, 0, 0, 7341, 7342, 5, 92, 0, 0, 7342, - 7344, 3, 1082, 541, 0, 7343, 7345, 3, 216, 108, 0, 7344, 7343, 1, 0, 0, - 0, 7344, 7345, 1, 0, 0, 0, 7345, 7347, 1, 0, 0, 0, 7346, 7348, 3, 758, - 379, 0, 7347, 7346, 1, 0, 0, 0, 7347, 7348, 1, 0, 0, 0, 7348, 7380, 1, - 0, 0, 0, 7349, 7350, 5, 92, 0, 0, 7350, 7351, 5, 68, 0, 0, 7351, 7354, - 5, 335, 0, 0, 7352, 7355, 3, 1426, 713, 0, 7353, 7355, 5, 130, 0, 0, 7354, - 7352, 1, 0, 0, 0, 7354, 7353, 1, 0, 0, 0, 7355, 7380, 1, 0, 0, 0, 7356, - 7358, 3, 1426, 713, 0, 7357, 7359, 3, 216, 108, 0, 7358, 7357, 1, 0, 0, - 0, 7358, 7359, 1, 0, 0, 0, 7359, 7361, 1, 0, 0, 0, 7360, 7362, 3, 758, - 379, 0, 7361, 7360, 1, 0, 0, 0, 7361, 7362, 1, 0, 0, 0, 7362, 7380, 1, - 0, 0, 0, 7363, 7364, 3, 1426, 713, 0, 7364, 7366, 3, 1376, 688, 0, 7365, - 7367, 3, 216, 108, 0, 7366, 7365, 1, 0, 0, 0, 7366, 7367, 1, 0, 0, 0, 7367, - 7369, 1, 0, 0, 0, 7368, 7370, 3, 758, 379, 0, 7369, 7368, 1, 0, 0, 0, 7369, - 7370, 1, 0, 0, 0, 7370, 7380, 1, 0, 0, 0, 7371, 7373, 3, 1082, 541, 0, - 7372, 7374, 3, 216, 108, 0, 7373, 7372, 1, 0, 0, 0, 7373, 7374, 1, 0, 0, - 0, 7374, 7376, 1, 0, 0, 0, 7375, 7377, 3, 758, 379, 0, 7376, 7375, 1, 0, - 0, 0, 7376, 7377, 1, 0, 0, 0, 7377, 7380, 1, 0, 0, 0, 7378, 7380, 5, 130, - 0, 0, 7379, 7341, 1, 0, 0, 0, 7379, 7349, 1, 0, 0, 0, 7379, 7356, 1, 0, - 0, 0, 7379, 7363, 1, 0, 0, 0, 7379, 7371, 1, 0, 0, 0, 7379, 7378, 1, 0, - 0, 0, 7380, 757, 1, 0, 0, 0, 7381, 7382, 5, 103, 0, 0, 7382, 7383, 5, 2, - 0, 0, 7383, 7384, 3, 1170, 585, 0, 7384, 7385, 5, 3, 0, 0, 7385, 759, 1, - 0, 0, 0, 7386, 7387, 5, 157, 0, 0, 7387, 7388, 5, 473, 0, 0, 7388, 7389, - 3, 1394, 697, 0, 7389, 7390, 5, 345, 0, 0, 7390, 7391, 3, 462, 231, 0, - 7391, 7411, 1, 0, 0, 0, 7392, 7393, 5, 157, 0, 0, 7393, 7394, 5, 473, 0, - 0, 7394, 7395, 3, 1394, 697, 0, 7395, 7396, 5, 152, 0, 0, 7396, 7397, 3, - 754, 377, 0, 7397, 7411, 1, 0, 0, 0, 7398, 7399, 5, 157, 0, 0, 7399, 7400, - 5, 473, 0, 0, 7400, 7401, 3, 1394, 697, 0, 7401, 7402, 5, 345, 0, 0, 7402, - 7403, 3, 754, 377, 0, 7403, 7411, 1, 0, 0, 0, 7404, 7405, 5, 157, 0, 0, - 7405, 7406, 5, 473, 0, 0, 7406, 7407, 3, 1394, 697, 0, 7407, 7408, 5, 210, - 0, 0, 7408, 7409, 3, 754, 377, 0, 7409, 7411, 1, 0, 0, 0, 7410, 7386, 1, - 0, 0, 0, 7410, 7392, 1, 0, 0, 0, 7410, 7398, 1, 0, 0, 0, 7410, 7404, 1, - 0, 0, 0, 7411, 761, 1, 0, 0, 0, 7412, 7413, 5, 46, 0, 0, 7413, 7414, 5, - 472, 0, 0, 7414, 7415, 3, 1394, 697, 0, 7415, 7416, 5, 183, 0, 0, 7416, - 7417, 3, 1412, 706, 0, 7417, 7418, 5, 473, 0, 0, 7418, 7420, 3, 764, 382, - 0, 7419, 7421, 3, 670, 335, 0, 7420, 7419, 1, 0, 0, 0, 7420, 7421, 1, 0, - 0, 0, 7421, 763, 1, 0, 0, 0, 7422, 7427, 3, 766, 383, 0, 7423, 7424, 5, - 6, 0, 0, 7424, 7426, 3, 766, 383, 0, 7425, 7423, 1, 0, 0, 0, 7426, 7429, - 1, 0, 0, 0, 7427, 7425, 1, 0, 0, 0, 7427, 7428, 1, 0, 0, 0, 7428, 765, - 1, 0, 0, 0, 7429, 7427, 1, 0, 0, 0, 7430, 7431, 3, 1434, 717, 0, 7431, - 767, 1, 0, 0, 0, 7432, 7433, 5, 157, 0, 0, 7433, 7434, 5, 472, 0, 0, 7434, - 7435, 3, 1394, 697, 0, 7435, 7436, 5, 345, 0, 0, 7436, 7437, 3, 462, 231, - 0, 7437, 7478, 1, 0, 0, 0, 7438, 7439, 5, 157, 0, 0, 7439, 7440, 5, 472, - 0, 0, 7440, 7441, 3, 1394, 697, 0, 7441, 7442, 5, 183, 0, 0, 7442, 7443, - 3, 1412, 706, 0, 7443, 7478, 1, 0, 0, 0, 7444, 7445, 5, 157, 0, 0, 7445, - 7446, 5, 472, 0, 0, 7446, 7447, 3, 1394, 697, 0, 7447, 7448, 5, 317, 0, - 0, 7448, 7450, 5, 473, 0, 0, 7449, 7451, 3, 670, 335, 0, 7450, 7449, 1, - 0, 0, 0, 7450, 7451, 1, 0, 0, 0, 7451, 7478, 1, 0, 0, 0, 7452, 7453, 5, - 157, 0, 0, 7453, 7454, 5, 472, 0, 0, 7454, 7455, 3, 1394, 697, 0, 7455, - 7456, 5, 345, 0, 0, 7456, 7457, 5, 473, 0, 0, 7457, 7459, 3, 764, 382, - 0, 7458, 7460, 3, 670, 335, 0, 7459, 7458, 1, 0, 0, 0, 7459, 7460, 1, 0, - 0, 0, 7460, 7478, 1, 0, 0, 0, 7461, 7462, 5, 157, 0, 0, 7462, 7463, 5, - 472, 0, 0, 7463, 7464, 3, 1394, 697, 0, 7464, 7465, 5, 212, 0, 0, 7465, - 7478, 1, 0, 0, 0, 7466, 7467, 5, 157, 0, 0, 7467, 7468, 5, 472, 0, 0, 7468, - 7469, 3, 1394, 697, 0, 7469, 7470, 5, 205, 0, 0, 7470, 7478, 1, 0, 0, 0, - 7471, 7472, 5, 157, 0, 0, 7472, 7473, 5, 472, 0, 0, 7473, 7474, 3, 1394, - 697, 0, 7474, 7475, 5, 486, 0, 0, 7475, 7476, 3, 462, 231, 0, 7476, 7478, - 1, 0, 0, 0, 7477, 7432, 1, 0, 0, 0, 7477, 7438, 1, 0, 0, 0, 7477, 7444, - 1, 0, 0, 0, 7477, 7452, 1, 0, 0, 0, 7477, 7461, 1, 0, 0, 0, 7477, 7466, - 1, 0, 0, 0, 7477, 7471, 1, 0, 0, 0, 7478, 769, 1, 0, 0, 0, 7479, 7480, - 5, 210, 0, 0, 7480, 7481, 5, 472, 0, 0, 7481, 7483, 3, 1394, 697, 0, 7482, - 7484, 3, 108, 54, 0, 7483, 7482, 1, 0, 0, 0, 7483, 7484, 1, 0, 0, 0, 7484, - 7494, 1, 0, 0, 0, 7485, 7486, 5, 210, 0, 0, 7486, 7487, 5, 472, 0, 0, 7487, - 7488, 5, 239, 0, 0, 7488, 7489, 5, 409, 0, 0, 7489, 7491, 3, 1394, 697, - 0, 7490, 7492, 3, 108, 54, 0, 7491, 7490, 1, 0, 0, 0, 7491, 7492, 1, 0, - 0, 0, 7492, 7494, 1, 0, 0, 0, 7493, 7479, 1, 0, 0, 0, 7493, 7485, 1, 0, - 0, 0, 7494, 771, 1, 0, 0, 0, 7495, 7497, 5, 46, 0, 0, 7496, 7498, 3, 624, - 312, 0, 7497, 7496, 1, 0, 0, 0, 7497, 7498, 1, 0, 0, 0, 7498, 7499, 1, - 0, 0, 0, 7499, 7500, 5, 333, 0, 0, 7500, 7501, 3, 1394, 697, 0, 7501, 7502, - 5, 36, 0, 0, 7502, 7503, 5, 80, 0, 0, 7503, 7504, 3, 782, 391, 0, 7504, - 7505, 5, 94, 0, 0, 7505, 7507, 3, 1390, 695, 0, 7506, 7508, 3, 1102, 551, - 0, 7507, 7506, 1, 0, 0, 0, 7507, 7508, 1, 0, 0, 0, 7508, 7509, 1, 0, 0, - 0, 7509, 7511, 5, 57, 0, 0, 7510, 7512, 3, 784, 392, 0, 7511, 7510, 1, - 0, 0, 0, 7511, 7512, 1, 0, 0, 0, 7512, 7513, 1, 0, 0, 0, 7513, 7514, 3, - 774, 387, 0, 7514, 773, 1, 0, 0, 0, 7515, 7522, 5, 282, 0, 0, 7516, 7522, - 3, 778, 389, 0, 7517, 7518, 5, 2, 0, 0, 7518, 7519, 3, 776, 388, 0, 7519, - 7520, 5, 3, 0, 0, 7520, 7522, 1, 0, 0, 0, 7521, 7515, 1, 0, 0, 0, 7521, - 7516, 1, 0, 0, 0, 7521, 7517, 1, 0, 0, 0, 7522, 775, 1, 0, 0, 0, 7523, - 7525, 3, 780, 390, 0, 7524, 7523, 1, 0, 0, 0, 7524, 7525, 1, 0, 0, 0, 7525, - 7532, 1, 0, 0, 0, 7526, 7528, 5, 7, 0, 0, 7527, 7529, 3, 780, 390, 0, 7528, - 7527, 1, 0, 0, 0, 7528, 7529, 1, 0, 0, 0, 7529, 7531, 1, 0, 0, 0, 7530, - 7526, 1, 0, 0, 0, 7531, 7534, 1, 0, 0, 0, 7532, 7530, 1, 0, 0, 0, 7532, - 7533, 1, 0, 0, 0, 7533, 777, 1, 0, 0, 0, 7534, 7532, 1, 0, 0, 0, 7535, - 7541, 3, 968, 484, 0, 7536, 7541, 3, 910, 455, 0, 7537, 7541, 3, 950, 475, - 0, 7538, 7541, 3, 936, 468, 0, 7539, 7541, 3, 786, 393, 0, 7540, 7535, - 1, 0, 0, 0, 7540, 7536, 1, 0, 0, 0, 7540, 7537, 1, 0, 0, 0, 7540, 7538, - 1, 0, 0, 0, 7540, 7539, 1, 0, 0, 0, 7541, 779, 1, 0, 0, 0, 7542, 7543, - 3, 778, 389, 0, 7543, 781, 1, 0, 0, 0, 7544, 7545, 7, 33, 0, 0, 7545, 783, - 1, 0, 0, 0, 7546, 7547, 7, 34, 0, 0, 7547, 785, 1, 0, 0, 0, 7548, 7549, - 5, 283, 0, 0, 7549, 7551, 3, 1426, 713, 0, 7550, 7552, 3, 788, 394, 0, - 7551, 7550, 1, 0, 0, 0, 7551, 7552, 1, 0, 0, 0, 7552, 787, 1, 0, 0, 0, - 7553, 7554, 5, 6, 0, 0, 7554, 7555, 3, 1412, 706, 0, 7555, 789, 1, 0, 0, - 0, 7556, 7557, 5, 262, 0, 0, 7557, 7558, 3, 1426, 713, 0, 7558, 791, 1, - 0, 0, 0, 7559, 7560, 5, 378, 0, 0, 7560, 7564, 3, 1426, 713, 0, 7561, 7562, - 5, 378, 0, 0, 7562, 7564, 5, 9, 0, 0, 7563, 7559, 1, 0, 0, 0, 7563, 7561, - 1, 0, 0, 0, 7564, 793, 1, 0, 0, 0, 7565, 7567, 5, 148, 0, 0, 7566, 7568, - 3, 796, 398, 0, 7567, 7566, 1, 0, 0, 0, 7567, 7568, 1, 0, 0, 0, 7568, 7570, - 1, 0, 0, 0, 7569, 7571, 3, 804, 402, 0, 7570, 7569, 1, 0, 0, 0, 7570, 7571, - 1, 0, 0, 0, 7571, 7635, 1, 0, 0, 0, 7572, 7574, 5, 165, 0, 0, 7573, 7575, - 3, 796, 398, 0, 7574, 7573, 1, 0, 0, 0, 7574, 7575, 1, 0, 0, 0, 7575, 7577, - 1, 0, 0, 0, 7576, 7578, 3, 802, 401, 0, 7577, 7576, 1, 0, 0, 0, 7577, 7578, - 1, 0, 0, 0, 7578, 7635, 1, 0, 0, 0, 7579, 7580, 5, 352, 0, 0, 7580, 7582, - 5, 368, 0, 0, 7581, 7583, 3, 802, 401, 0, 7582, 7581, 1, 0, 0, 0, 7582, - 7583, 1, 0, 0, 0, 7583, 7635, 1, 0, 0, 0, 7584, 7586, 5, 180, 0, 0, 7585, - 7587, 3, 796, 398, 0, 7586, 7585, 1, 0, 0, 0, 7586, 7587, 1, 0, 0, 0, 7587, - 7589, 1, 0, 0, 0, 7588, 7590, 3, 804, 402, 0, 7589, 7588, 1, 0, 0, 0, 7589, - 7590, 1, 0, 0, 0, 7590, 7635, 1, 0, 0, 0, 7591, 7593, 5, 475, 0, 0, 7592, - 7594, 3, 796, 398, 0, 7593, 7592, 1, 0, 0, 0, 7593, 7594, 1, 0, 0, 0, 7594, - 7596, 1, 0, 0, 0, 7595, 7597, 3, 804, 402, 0, 7596, 7595, 1, 0, 0, 0, 7596, - 7597, 1, 0, 0, 0, 7597, 7635, 1, 0, 0, 0, 7598, 7600, 5, 331, 0, 0, 7599, - 7601, 3, 796, 398, 0, 7600, 7599, 1, 0, 0, 0, 7600, 7601, 1, 0, 0, 0, 7601, - 7603, 1, 0, 0, 0, 7602, 7604, 3, 804, 402, 0, 7603, 7602, 1, 0, 0, 0, 7603, - 7604, 1, 0, 0, 0, 7604, 7635, 1, 0, 0, 0, 7605, 7606, 5, 334, 0, 0, 7606, - 7635, 3, 1426, 713, 0, 7607, 7608, 5, 320, 0, 0, 7608, 7609, 5, 334, 0, - 0, 7609, 7635, 3, 1426, 713, 0, 7610, 7611, 5, 320, 0, 0, 7611, 7635, 3, - 1426, 713, 0, 7612, 7614, 5, 331, 0, 0, 7613, 7615, 3, 796, 398, 0, 7614, - 7613, 1, 0, 0, 0, 7614, 7615, 1, 0, 0, 0, 7615, 7616, 1, 0, 0, 0, 7616, - 7617, 5, 94, 0, 0, 7617, 7618, 5, 334, 0, 0, 7618, 7635, 3, 1426, 713, - 0, 7619, 7621, 5, 331, 0, 0, 7620, 7622, 3, 796, 398, 0, 7621, 7620, 1, - 0, 0, 0, 7621, 7622, 1, 0, 0, 0, 7622, 7623, 1, 0, 0, 0, 7623, 7624, 5, - 94, 0, 0, 7624, 7635, 3, 1426, 713, 0, 7625, 7626, 5, 302, 0, 0, 7626, - 7627, 5, 368, 0, 0, 7627, 7635, 3, 1412, 706, 0, 7628, 7629, 5, 180, 0, - 0, 7629, 7630, 5, 303, 0, 0, 7630, 7635, 3, 1412, 706, 0, 7631, 7632, 5, - 331, 0, 0, 7632, 7633, 5, 303, 0, 0, 7633, 7635, 3, 1412, 706, 0, 7634, - 7565, 1, 0, 0, 0, 7634, 7572, 1, 0, 0, 0, 7634, 7579, 1, 0, 0, 0, 7634, - 7584, 1, 0, 0, 0, 7634, 7591, 1, 0, 0, 0, 7634, 7598, 1, 0, 0, 0, 7634, - 7605, 1, 0, 0, 0, 7634, 7607, 1, 0, 0, 0, 7634, 7610, 1, 0, 0, 0, 7634, - 7612, 1, 0, 0, 0, 7634, 7619, 1, 0, 0, 0, 7634, 7625, 1, 0, 0, 0, 7634, - 7628, 1, 0, 0, 0, 7634, 7631, 1, 0, 0, 0, 7635, 795, 1, 0, 0, 0, 7636, - 7637, 7, 35, 0, 0, 7637, 797, 1, 0, 0, 0, 7638, 7639, 5, 254, 0, 0, 7639, - 7640, 5, 261, 0, 0, 7640, 7649, 3, 64, 32, 0, 7641, 7642, 5, 312, 0, 0, - 7642, 7649, 5, 81, 0, 0, 7643, 7644, 5, 312, 0, 0, 7644, 7649, 5, 394, - 0, 0, 7645, 7649, 5, 54, 0, 0, 7646, 7647, 5, 77, 0, 0, 7647, 7649, 5, - 54, 0, 0, 7648, 7638, 1, 0, 0, 0, 7648, 7641, 1, 0, 0, 0, 7648, 7643, 1, - 0, 0, 0, 7648, 7645, 1, 0, 0, 0, 7648, 7646, 1, 0, 0, 0, 7649, 799, 1, - 0, 0, 0, 7650, 7657, 3, 798, 399, 0, 7651, 7653, 5, 6, 0, 0, 7652, 7651, - 1, 0, 0, 0, 7652, 7653, 1, 0, 0, 0, 7653, 7654, 1, 0, 0, 0, 7654, 7656, - 3, 798, 399, 0, 7655, 7652, 1, 0, 0, 0, 7656, 7659, 1, 0, 0, 0, 7657, 7655, - 1, 0, 0, 0, 7657, 7658, 1, 0, 0, 0, 7658, 801, 1, 0, 0, 0, 7659, 7657, - 1, 0, 0, 0, 7660, 7661, 3, 800, 400, 0, 7661, 803, 1, 0, 0, 0, 7662, 7664, - 5, 33, 0, 0, 7663, 7665, 5, 281, 0, 0, 7664, 7663, 1, 0, 0, 0, 7664, 7665, - 1, 0, 0, 0, 7665, 7666, 1, 0, 0, 0, 7666, 7667, 5, 172, 0, 0, 7667, 805, - 1, 0, 0, 0, 7668, 7671, 5, 46, 0, 0, 7669, 7670, 5, 82, 0, 0, 7670, 7672, - 5, 323, 0, 0, 7671, 7669, 1, 0, 0, 0, 7671, 7672, 1, 0, 0, 0, 7672, 7674, - 1, 0, 0, 0, 7673, 7675, 3, 174, 87, 0, 7674, 7673, 1, 0, 0, 0, 7674, 7675, - 1, 0, 0, 0, 7675, 7693, 1, 0, 0, 0, 7676, 7677, 5, 388, 0, 0, 7677, 7679, - 3, 1390, 695, 0, 7678, 7680, 3, 216, 108, 0, 7679, 7678, 1, 0, 0, 0, 7679, - 7680, 1, 0, 0, 0, 7680, 7682, 1, 0, 0, 0, 7681, 7683, 3, 118, 59, 0, 7682, - 7681, 1, 0, 0, 0, 7682, 7683, 1, 0, 0, 0, 7683, 7694, 1, 0, 0, 0, 7684, - 7685, 5, 315, 0, 0, 7685, 7686, 5, 388, 0, 0, 7686, 7687, 3, 1390, 695, - 0, 7687, 7688, 5, 2, 0, 0, 7688, 7689, 3, 218, 109, 0, 7689, 7691, 5, 3, - 0, 0, 7690, 7692, 3, 118, 59, 0, 7691, 7690, 1, 0, 0, 0, 7691, 7692, 1, - 0, 0, 0, 7692, 7694, 1, 0, 0, 0, 7693, 7676, 1, 0, 0, 0, 7693, 7684, 1, - 0, 0, 0, 7694, 7695, 1, 0, 0, 0, 7695, 7696, 5, 36, 0, 0, 7696, 7698, 3, - 968, 484, 0, 7697, 7699, 3, 808, 404, 0, 7698, 7697, 1, 0, 0, 0, 7698, - 7699, 1, 0, 0, 0, 7699, 807, 1, 0, 0, 0, 7700, 7702, 5, 105, 0, 0, 7701, - 7703, 7, 36, 0, 0, 7702, 7701, 1, 0, 0, 0, 7702, 7703, 1, 0, 0, 0, 7703, - 7704, 1, 0, 0, 0, 7704, 7705, 5, 42, 0, 0, 7705, 7706, 5, 291, 0, 0, 7706, - 809, 1, 0, 0, 0, 7707, 7708, 5, 263, 0, 0, 7708, 7709, 3, 1398, 699, 0, - 7709, 811, 1, 0, 0, 0, 7710, 7711, 5, 46, 0, 0, 7711, 7712, 5, 194, 0, - 0, 7712, 7714, 3, 1394, 697, 0, 7713, 7715, 3, 16, 8, 0, 7714, 7713, 1, - 0, 0, 0, 7714, 7715, 1, 0, 0, 0, 7715, 7717, 1, 0, 0, 0, 7716, 7718, 3, - 814, 407, 0, 7717, 7716, 1, 0, 0, 0, 7717, 7718, 1, 0, 0, 0, 7718, 813, - 1, 0, 0, 0, 7719, 7720, 3, 816, 408, 0, 7720, 815, 1, 0, 0, 0, 7721, 7723, - 3, 818, 409, 0, 7722, 7721, 1, 0, 0, 0, 7723, 7724, 1, 0, 0, 0, 7724, 7722, - 1, 0, 0, 0, 7724, 7725, 1, 0, 0, 0, 7725, 817, 1, 0, 0, 0, 7726, 7728, - 3, 820, 410, 0, 7727, 7729, 3, 822, 411, 0, 7728, 7727, 1, 0, 0, 0, 7728, - 7729, 1, 0, 0, 0, 7729, 7733, 1, 0, 0, 0, 7730, 7734, 3, 1418, 709, 0, - 7731, 7734, 3, 66, 33, 0, 7732, 7734, 5, 53, 0, 0, 7733, 7730, 1, 0, 0, - 0, 7733, 7731, 1, 0, 0, 0, 7733, 7732, 1, 0, 0, 0, 7734, 819, 1, 0, 0, - 0, 7735, 7744, 3, 1436, 718, 0, 7736, 7737, 5, 183, 0, 0, 7737, 7744, 5, - 74, 0, 0, 7738, 7744, 5, 213, 0, 0, 7739, 7744, 5, 265, 0, 0, 7740, 7744, - 5, 294, 0, 0, 7741, 7744, 5, 363, 0, 0, 7742, 7744, 5, 365, 0, 0, 7743, - 7735, 1, 0, 0, 0, 7743, 7736, 1, 0, 0, 0, 7743, 7738, 1, 0, 0, 0, 7743, - 7739, 1, 0, 0, 0, 7743, 7740, 1, 0, 0, 0, 7743, 7741, 1, 0, 0, 0, 7743, - 7742, 1, 0, 0, 0, 7744, 821, 1, 0, 0, 0, 7745, 7746, 5, 10, 0, 0, 7746, - 823, 1, 0, 0, 0, 7747, 7748, 5, 157, 0, 0, 7748, 7749, 5, 194, 0, 0, 7749, - 7763, 3, 1394, 697, 0, 7750, 7752, 5, 105, 0, 0, 7751, 7753, 3, 814, 407, - 0, 7752, 7751, 1, 0, 0, 0, 7752, 7753, 1, 0, 0, 0, 7753, 7764, 1, 0, 0, - 0, 7754, 7756, 3, 814, 407, 0, 7755, 7754, 1, 0, 0, 0, 7755, 7756, 1, 0, - 0, 0, 7756, 7764, 1, 0, 0, 0, 7757, 7758, 5, 345, 0, 0, 7758, 7759, 5, - 363, 0, 0, 7759, 7764, 3, 1394, 697, 0, 7760, 7761, 5, 317, 0, 0, 7761, - 7762, 5, 127, 0, 0, 7762, 7764, 5, 387, 0, 0, 7763, 7750, 1, 0, 0, 0, 7763, - 7755, 1, 0, 0, 0, 7763, 7757, 1, 0, 0, 0, 7763, 7760, 1, 0, 0, 0, 7764, - 825, 1, 0, 0, 0, 7765, 7766, 5, 157, 0, 0, 7766, 7767, 5, 194, 0, 0, 7767, - 7768, 3, 1394, 697, 0, 7768, 7769, 3, 80, 40, 0, 7769, 827, 1, 0, 0, 0, - 7770, 7771, 5, 210, 0, 0, 7771, 7774, 5, 194, 0, 0, 7772, 7773, 5, 239, - 0, 0, 7773, 7775, 5, 409, 0, 0, 7774, 7772, 1, 0, 0, 0, 7774, 7775, 1, - 0, 0, 0, 7775, 7776, 1, 0, 0, 0, 7776, 7784, 3, 1394, 697, 0, 7777, 7779, - 3, 16, 8, 0, 7778, 7777, 1, 0, 0, 0, 7778, 7779, 1, 0, 0, 0, 7779, 7780, - 1, 0, 0, 0, 7780, 7781, 5, 2, 0, 0, 7781, 7782, 3, 830, 415, 0, 7782, 7783, - 5, 3, 0, 0, 7783, 7785, 1, 0, 0, 0, 7784, 7778, 1, 0, 0, 0, 7784, 7785, - 1, 0, 0, 0, 7785, 829, 1, 0, 0, 0, 7786, 7791, 3, 832, 416, 0, 7787, 7788, - 5, 6, 0, 0, 7788, 7790, 3, 832, 416, 0, 7789, 7787, 1, 0, 0, 0, 7790, 7793, - 1, 0, 0, 0, 7791, 7789, 1, 0, 0, 0, 7791, 7792, 1, 0, 0, 0, 7792, 831, - 1, 0, 0, 0, 7793, 7791, 1, 0, 0, 0, 7794, 7795, 5, 228, 0, 0, 7795, 833, - 1, 0, 0, 0, 7796, 7797, 5, 157, 0, 0, 7797, 7798, 5, 127, 0, 0, 7798, 7799, - 3, 526, 263, 0, 7799, 7800, 5, 317, 0, 0, 7800, 7801, 5, 387, 0, 0, 7801, - 835, 1, 0, 0, 0, 7802, 7803, 5, 157, 0, 0, 7803, 7804, 5, 361, 0, 0, 7804, - 7805, 7, 37, 0, 0, 7805, 7806, 3, 54, 27, 0, 7806, 837, 1, 0, 0, 0, 7807, - 7808, 5, 46, 0, 0, 7808, 7809, 5, 208, 0, 0, 7809, 7811, 3, 526, 263, 0, - 7810, 7812, 3, 842, 421, 0, 7811, 7810, 1, 0, 0, 0, 7811, 7812, 1, 0, 0, - 0, 7812, 7813, 1, 0, 0, 0, 7813, 7814, 3, 1126, 563, 0, 7814, 7815, 3, - 192, 96, 0, 7815, 839, 1, 0, 0, 0, 7816, 7817, 5, 157, 0, 0, 7817, 7818, - 5, 208, 0, 0, 7818, 7841, 3, 526, 263, 0, 7819, 7842, 3, 106, 53, 0, 7820, - 7821, 5, 210, 0, 0, 7821, 7822, 5, 77, 0, 0, 7822, 7842, 5, 78, 0, 0, 7823, - 7824, 5, 345, 0, 0, 7824, 7825, 5, 77, 0, 0, 7825, 7842, 5, 78, 0, 0, 7826, - 7827, 5, 152, 0, 0, 7827, 7842, 3, 210, 105, 0, 7828, 7829, 5, 210, 0, - 0, 7829, 7832, 5, 45, 0, 0, 7830, 7831, 5, 239, 0, 0, 7831, 7833, 5, 409, - 0, 0, 7832, 7830, 1, 0, 0, 0, 7832, 7833, 1, 0, 0, 0, 7833, 7834, 1, 0, - 0, 0, 7834, 7836, 3, 1394, 697, 0, 7835, 7837, 3, 108, 54, 0, 7836, 7835, - 1, 0, 0, 0, 7836, 7837, 1, 0, 0, 0, 7837, 7842, 1, 0, 0, 0, 7838, 7839, - 5, 384, 0, 0, 7839, 7840, 5, 45, 0, 0, 7840, 7842, 3, 1394, 697, 0, 7841, - 7819, 1, 0, 0, 0, 7841, 7820, 1, 0, 0, 0, 7841, 7823, 1, 0, 0, 0, 7841, - 7826, 1, 0, 0, 0, 7841, 7828, 1, 0, 0, 0, 7841, 7838, 1, 0, 0, 0, 7842, - 841, 1, 0, 0, 0, 7843, 7844, 5, 36, 0, 0, 7844, 843, 1, 0, 0, 0, 7845, - 7846, 5, 157, 0, 0, 7846, 7847, 5, 367, 0, 0, 7847, 7848, 5, 337, 0, 0, - 7848, 7849, 5, 204, 0, 0, 7849, 7850, 3, 526, 263, 0, 7850, 7851, 3, 462, - 231, 0, 7851, 845, 1, 0, 0, 0, 7852, 7853, 5, 157, 0, 0, 7853, 7854, 5, - 367, 0, 0, 7854, 7855, 5, 337, 0, 0, 7855, 7856, 5, 182, 0, 0, 7856, 7857, - 3, 526, 263, 0, 7857, 7858, 5, 152, 0, 0, 7858, 7859, 5, 267, 0, 0, 7859, - 7860, 5, 62, 0, 0, 7860, 7861, 3, 1392, 696, 0, 7861, 7862, 3, 848, 424, - 0, 7862, 7863, 3, 524, 262, 0, 7863, 7925, 1, 0, 0, 0, 7864, 7865, 5, 157, - 0, 0, 7865, 7866, 5, 367, 0, 0, 7866, 7867, 5, 337, 0, 0, 7867, 7868, 5, - 182, 0, 0, 7868, 7869, 3, 526, 263, 0, 7869, 7870, 5, 157, 0, 0, 7870, - 7871, 5, 267, 0, 0, 7871, 7872, 5, 62, 0, 0, 7872, 7873, 3, 1392, 696, - 0, 7873, 7874, 3, 848, 424, 0, 7874, 7875, 3, 524, 262, 0, 7875, 7925, - 1, 0, 0, 0, 7876, 7877, 5, 157, 0, 0, 7877, 7878, 5, 367, 0, 0, 7878, 7879, - 5, 337, 0, 0, 7879, 7880, 5, 182, 0, 0, 7880, 7881, 3, 526, 263, 0, 7881, - 7882, 5, 157, 0, 0, 7882, 7883, 5, 267, 0, 0, 7883, 7884, 5, 323, 0, 0, - 7884, 7885, 3, 526, 263, 0, 7885, 7886, 3, 848, 424, 0, 7886, 7887, 3, - 526, 263, 0, 7887, 7925, 1, 0, 0, 0, 7888, 7889, 5, 157, 0, 0, 7889, 7890, - 5, 367, 0, 0, 7890, 7891, 5, 337, 0, 0, 7891, 7892, 5, 182, 0, 0, 7892, - 7893, 3, 526, 263, 0, 7893, 7894, 5, 157, 0, 0, 7894, 7895, 5, 267, 0, - 0, 7895, 7896, 5, 62, 0, 0, 7896, 7897, 3, 1392, 696, 0, 7897, 7898, 5, - 323, 0, 0, 7898, 7899, 3, 526, 263, 0, 7899, 7900, 3, 848, 424, 0, 7900, - 7901, 3, 526, 263, 0, 7901, 7925, 1, 0, 0, 0, 7902, 7903, 5, 157, 0, 0, - 7903, 7904, 5, 367, 0, 0, 7904, 7905, 5, 337, 0, 0, 7905, 7906, 5, 182, - 0, 0, 7906, 7907, 3, 526, 263, 0, 7907, 7908, 5, 210, 0, 0, 7908, 7909, - 5, 267, 0, 0, 7909, 7910, 5, 62, 0, 0, 7910, 7911, 3, 1392, 696, 0, 7911, - 7925, 1, 0, 0, 0, 7912, 7913, 5, 157, 0, 0, 7913, 7914, 5, 367, 0, 0, 7914, - 7915, 5, 337, 0, 0, 7915, 7916, 5, 182, 0, 0, 7916, 7917, 3, 526, 263, - 0, 7917, 7918, 5, 210, 0, 0, 7918, 7919, 5, 267, 0, 0, 7919, 7920, 5, 239, - 0, 0, 7920, 7921, 5, 409, 0, 0, 7921, 7922, 5, 62, 0, 0, 7922, 7923, 3, - 1392, 696, 0, 7923, 7925, 1, 0, 0, 0, 7924, 7852, 1, 0, 0, 0, 7924, 7864, - 1, 0, 0, 0, 7924, 7876, 1, 0, 0, 0, 7924, 7888, 1, 0, 0, 0, 7924, 7902, - 1, 0, 0, 0, 7924, 7912, 1, 0, 0, 0, 7925, 847, 1, 0, 0, 0, 7926, 7927, - 5, 105, 0, 0, 7927, 849, 1, 0, 0, 0, 7928, 7930, 5, 46, 0, 0, 7929, 7931, - 3, 490, 245, 0, 7930, 7929, 1, 0, 0, 0, 7930, 7931, 1, 0, 0, 0, 7931, 7932, - 1, 0, 0, 0, 7932, 7933, 5, 187, 0, 0, 7933, 7934, 3, 526, 263, 0, 7934, - 7935, 5, 62, 0, 0, 7935, 7936, 3, 1412, 706, 0, 7936, 7937, 5, 94, 0, 0, - 7937, 7938, 3, 1412, 706, 0, 7938, 7939, 5, 64, 0, 0, 7939, 7940, 3, 526, - 263, 0, 7940, 851, 1, 0, 0, 0, 7941, 7943, 5, 177, 0, 0, 7942, 7944, 3, - 872, 436, 0, 7943, 7942, 1, 0, 0, 0, 7943, 7944, 1, 0, 0, 0, 7944, 7945, - 1, 0, 0, 0, 7945, 7947, 3, 1390, 695, 0, 7946, 7948, 3, 854, 427, 0, 7947, - 7946, 1, 0, 0, 0, 7947, 7948, 1, 0, 0, 0, 7948, 7962, 1, 0, 0, 0, 7949, - 7951, 5, 177, 0, 0, 7950, 7952, 3, 872, 436, 0, 7951, 7950, 1, 0, 0, 0, - 7951, 7952, 1, 0, 0, 0, 7952, 7962, 1, 0, 0, 0, 7953, 7955, 5, 177, 0, - 0, 7954, 7956, 3, 872, 436, 0, 7955, 7954, 1, 0, 0, 0, 7955, 7956, 1, 0, - 0, 0, 7956, 7957, 1, 0, 0, 0, 7957, 7958, 3, 1394, 697, 0, 7958, 7959, - 5, 80, 0, 0, 7959, 7960, 3, 1390, 695, 0, 7960, 7962, 1, 0, 0, 0, 7961, - 7941, 1, 0, 0, 0, 7961, 7949, 1, 0, 0, 0, 7961, 7953, 1, 0, 0, 0, 7962, - 853, 1, 0, 0, 0, 7963, 7964, 5, 100, 0, 0, 7964, 7965, 3, 1394, 697, 0, - 7965, 855, 1, 0, 0, 0, 7966, 7968, 5, 382, 0, 0, 7967, 7969, 3, 874, 437, - 0, 7968, 7967, 1, 0, 0, 0, 7968, 7969, 1, 0, 0, 0, 7969, 7971, 1, 0, 0, - 0, 7970, 7972, 3, 876, 438, 0, 7971, 7970, 1, 0, 0, 0, 7971, 7972, 1, 0, - 0, 0, 7972, 7974, 1, 0, 0, 0, 7973, 7975, 3, 872, 436, 0, 7974, 7973, 1, - 0, 0, 0, 7974, 7975, 1, 0, 0, 0, 7975, 7977, 1, 0, 0, 0, 7976, 7978, 3, - 870, 435, 0, 7977, 7976, 1, 0, 0, 0, 7977, 7978, 1, 0, 0, 0, 7978, 7980, - 1, 0, 0, 0, 7979, 7981, 3, 884, 442, 0, 7980, 7979, 1, 0, 0, 0, 7980, 7981, - 1, 0, 0, 0, 7981, 7990, 1, 0, 0, 0, 7982, 7983, 5, 382, 0, 0, 7983, 7984, - 5, 2, 0, 0, 7984, 7985, 3, 860, 430, 0, 7985, 7987, 5, 3, 0, 0, 7986, 7988, - 3, 884, 442, 0, 7987, 7986, 1, 0, 0, 0, 7987, 7988, 1, 0, 0, 0, 7988, 7990, - 1, 0, 0, 0, 7989, 7966, 1, 0, 0, 0, 7989, 7982, 1, 0, 0, 0, 7990, 857, - 1, 0, 0, 0, 7991, 7993, 3, 862, 431, 0, 7992, 7994, 3, 872, 436, 0, 7993, - 7992, 1, 0, 0, 0, 7993, 7994, 1, 0, 0, 0, 7994, 7996, 1, 0, 0, 0, 7995, - 7997, 3, 884, 442, 0, 7996, 7995, 1, 0, 0, 0, 7996, 7997, 1, 0, 0, 0, 7997, - 8006, 1, 0, 0, 0, 7998, 7999, 3, 862, 431, 0, 7999, 8000, 5, 2, 0, 0, 8000, - 8001, 3, 860, 430, 0, 8001, 8003, 5, 3, 0, 0, 8002, 8004, 3, 884, 442, - 0, 8003, 8002, 1, 0, 0, 0, 8003, 8004, 1, 0, 0, 0, 8004, 8006, 1, 0, 0, - 0, 8005, 7991, 1, 0, 0, 0, 8005, 7998, 1, 0, 0, 0, 8006, 859, 1, 0, 0, - 0, 8007, 8012, 3, 864, 432, 0, 8008, 8009, 5, 6, 0, 0, 8009, 8011, 3, 864, - 432, 0, 8010, 8008, 1, 0, 0, 0, 8011, 8014, 1, 0, 0, 0, 8012, 8010, 1, - 0, 0, 0, 8012, 8013, 1, 0, 0, 0, 8013, 861, 1, 0, 0, 0, 8014, 8012, 1, - 0, 0, 0, 8015, 8016, 7, 38, 0, 0, 8016, 863, 1, 0, 0, 0, 8017, 8019, 3, - 866, 433, 0, 8018, 8020, 3, 868, 434, 0, 8019, 8018, 1, 0, 0, 0, 8019, - 8020, 1, 0, 0, 0, 8020, 865, 1, 0, 0, 0, 8021, 8024, 3, 1432, 716, 0, 8022, - 8024, 3, 862, 431, 0, 8023, 8021, 1, 0, 0, 0, 8023, 8022, 1, 0, 0, 0, 8024, - 867, 1, 0, 0, 0, 8025, 8028, 3, 66, 33, 0, 8026, 8028, 3, 294, 147, 0, - 8027, 8025, 1, 0, 0, 0, 8027, 8026, 1, 0, 0, 0, 8028, 869, 1, 0, 0, 0, - 8029, 8030, 3, 862, 431, 0, 8030, 871, 1, 0, 0, 0, 8031, 8032, 5, 147, - 0, 0, 8032, 873, 1, 0, 0, 0, 8033, 8034, 5, 132, 0, 0, 8034, 875, 1, 0, - 0, 0, 8035, 8036, 5, 131, 0, 0, 8036, 877, 1, 0, 0, 0, 8037, 8038, 5, 2, - 0, 0, 8038, 8039, 3, 1392, 696, 0, 8039, 8040, 5, 3, 0, 0, 8040, 879, 1, - 0, 0, 0, 8041, 8043, 3, 1390, 695, 0, 8042, 8044, 3, 878, 439, 0, 8043, - 8042, 1, 0, 0, 0, 8043, 8044, 1, 0, 0, 0, 8044, 881, 1, 0, 0, 0, 8045, - 8050, 3, 880, 440, 0, 8046, 8047, 5, 6, 0, 0, 8047, 8049, 3, 880, 440, - 0, 8048, 8046, 1, 0, 0, 0, 8049, 8052, 1, 0, 0, 0, 8050, 8048, 1, 0, 0, - 0, 8050, 8051, 1, 0, 0, 0, 8051, 883, 1, 0, 0, 0, 8052, 8050, 1, 0, 0, - 0, 8053, 8054, 3, 882, 441, 0, 8054, 885, 1, 0, 0, 0, 8055, 8056, 5, 222, - 0, 0, 8056, 8074, 3, 888, 444, 0, 8057, 8058, 5, 222, 0, 0, 8058, 8060, - 3, 862, 431, 0, 8059, 8061, 3, 872, 436, 0, 8060, 8059, 1, 0, 0, 0, 8060, - 8061, 1, 0, 0, 0, 8061, 8062, 1, 0, 0, 0, 8062, 8063, 3, 888, 444, 0, 8063, - 8074, 1, 0, 0, 0, 8064, 8065, 5, 222, 0, 0, 8065, 8066, 5, 147, 0, 0, 8066, - 8074, 3, 888, 444, 0, 8067, 8068, 5, 222, 0, 0, 8068, 8069, 5, 2, 0, 0, - 8069, 8070, 3, 890, 445, 0, 8070, 8071, 5, 3, 0, 0, 8071, 8072, 3, 888, - 444, 0, 8072, 8074, 1, 0, 0, 0, 8073, 8055, 1, 0, 0, 0, 8073, 8057, 1, - 0, 0, 0, 8073, 8064, 1, 0, 0, 0, 8073, 8067, 1, 0, 0, 0, 8074, 887, 1, - 0, 0, 0, 8075, 8085, 3, 968, 484, 0, 8076, 8085, 3, 910, 455, 0, 8077, - 8085, 3, 950, 475, 0, 8078, 8085, 3, 936, 468, 0, 8079, 8085, 3, 960, 480, - 0, 8080, 8085, 3, 266, 133, 0, 8081, 8085, 3, 272, 136, 0, 8082, 8085, - 3, 278, 139, 0, 8083, 8085, 3, 904, 452, 0, 8084, 8075, 1, 0, 0, 0, 8084, - 8076, 1, 0, 0, 0, 8084, 8077, 1, 0, 0, 0, 8084, 8078, 1, 0, 0, 0, 8084, - 8079, 1, 0, 0, 0, 8084, 8080, 1, 0, 0, 0, 8084, 8081, 1, 0, 0, 0, 8084, - 8082, 1, 0, 0, 0, 8084, 8083, 1, 0, 0, 0, 8085, 889, 1, 0, 0, 0, 8086, - 8091, 3, 892, 446, 0, 8087, 8088, 5, 6, 0, 0, 8088, 8090, 3, 892, 446, - 0, 8089, 8087, 1, 0, 0, 0, 8090, 8093, 1, 0, 0, 0, 8091, 8089, 1, 0, 0, - 0, 8091, 8092, 1, 0, 0, 0, 8092, 891, 1, 0, 0, 0, 8093, 8091, 1, 0, 0, - 0, 8094, 8096, 3, 894, 447, 0, 8095, 8097, 3, 896, 448, 0, 8096, 8095, - 1, 0, 0, 0, 8096, 8097, 1, 0, 0, 0, 8097, 893, 1, 0, 0, 0, 8098, 8101, - 3, 1432, 716, 0, 8099, 8101, 3, 862, 431, 0, 8100, 8098, 1, 0, 0, 0, 8100, - 8099, 1, 0, 0, 0, 8101, 895, 1, 0, 0, 0, 8102, 8105, 3, 66, 33, 0, 8103, - 8105, 3, 294, 147, 0, 8104, 8102, 1, 0, 0, 0, 8104, 8103, 1, 0, 0, 0, 8105, - 897, 1, 0, 0, 0, 8106, 8107, 5, 302, 0, 0, 8107, 8109, 3, 1394, 697, 0, - 8108, 8110, 3, 900, 450, 0, 8109, 8108, 1, 0, 0, 0, 8109, 8110, 1, 0, 0, - 0, 8110, 8111, 1, 0, 0, 0, 8111, 8112, 5, 36, 0, 0, 8112, 8113, 3, 902, - 451, 0, 8113, 899, 1, 0, 0, 0, 8114, 8115, 5, 2, 0, 0, 8115, 8116, 3, 1338, - 669, 0, 8116, 8117, 5, 3, 0, 0, 8117, 901, 1, 0, 0, 0, 8118, 8124, 3, 968, - 484, 0, 8119, 8124, 3, 910, 455, 0, 8120, 8124, 3, 950, 475, 0, 8121, 8124, - 3, 936, 468, 0, 8122, 8124, 3, 928, 464, 0, 8123, 8118, 1, 0, 0, 0, 8123, - 8119, 1, 0, 0, 0, 8123, 8120, 1, 0, 0, 0, 8123, 8121, 1, 0, 0, 0, 8123, - 8122, 1, 0, 0, 0, 8124, 903, 1, 0, 0, 0, 8125, 8126, 5, 221, 0, 0, 8126, - 8128, 3, 1394, 697, 0, 8127, 8129, 3, 906, 453, 0, 8128, 8127, 1, 0, 0, - 0, 8128, 8129, 1, 0, 0, 0, 8129, 8164, 1, 0, 0, 0, 8130, 8132, 5, 46, 0, - 0, 8131, 8133, 3, 174, 87, 0, 8132, 8131, 1, 0, 0, 0, 8132, 8133, 1, 0, - 0, 0, 8133, 8134, 1, 0, 0, 0, 8134, 8135, 5, 92, 0, 0, 8135, 8136, 3, 268, - 134, 0, 8136, 8137, 5, 36, 0, 0, 8137, 8138, 5, 221, 0, 0, 8138, 8140, - 3, 1394, 697, 0, 8139, 8141, 3, 906, 453, 0, 8140, 8139, 1, 0, 0, 0, 8140, - 8141, 1, 0, 0, 0, 8141, 8143, 1, 0, 0, 0, 8142, 8144, 3, 270, 135, 0, 8143, - 8142, 1, 0, 0, 0, 8143, 8144, 1, 0, 0, 0, 8144, 8164, 1, 0, 0, 0, 8145, - 8147, 5, 46, 0, 0, 8146, 8148, 3, 174, 87, 0, 8147, 8146, 1, 0, 0, 0, 8147, - 8148, 1, 0, 0, 0, 8148, 8149, 1, 0, 0, 0, 8149, 8150, 5, 92, 0, 0, 8150, - 8151, 5, 239, 0, 0, 8151, 8152, 5, 77, 0, 0, 8152, 8153, 5, 409, 0, 0, - 8153, 8154, 3, 268, 134, 0, 8154, 8155, 5, 36, 0, 0, 8155, 8156, 5, 221, - 0, 0, 8156, 8158, 3, 1394, 697, 0, 8157, 8159, 3, 906, 453, 0, 8158, 8157, - 1, 0, 0, 0, 8158, 8159, 1, 0, 0, 0, 8159, 8161, 1, 0, 0, 0, 8160, 8162, - 3, 270, 135, 0, 8161, 8160, 1, 0, 0, 0, 8161, 8162, 1, 0, 0, 0, 8162, 8164, - 1, 0, 0, 0, 8163, 8125, 1, 0, 0, 0, 8163, 8130, 1, 0, 0, 0, 8163, 8145, - 1, 0, 0, 0, 8164, 905, 1, 0, 0, 0, 8165, 8166, 5, 2, 0, 0, 8166, 8167, - 3, 1332, 666, 0, 8167, 8168, 5, 3, 0, 0, 8168, 907, 1, 0, 0, 0, 8169, 8170, - 5, 196, 0, 0, 8170, 8180, 3, 1394, 697, 0, 8171, 8172, 5, 196, 0, 0, 8172, - 8173, 5, 302, 0, 0, 8173, 8180, 3, 1394, 697, 0, 8174, 8175, 5, 196, 0, - 0, 8175, 8180, 5, 30, 0, 0, 8176, 8177, 5, 196, 0, 0, 8177, 8178, 5, 302, - 0, 0, 8178, 8180, 5, 30, 0, 0, 8179, 8169, 1, 0, 0, 0, 8179, 8171, 1, 0, - 0, 0, 8179, 8174, 1, 0, 0, 0, 8179, 8176, 1, 0, 0, 0, 8180, 909, 1, 0, - 0, 0, 8181, 8183, 3, 988, 494, 0, 8182, 8181, 1, 0, 0, 0, 8182, 8183, 1, - 0, 0, 0, 8183, 8184, 1, 0, 0, 0, 8184, 8185, 5, 251, 0, 0, 8185, 8186, - 5, 71, 0, 0, 8186, 8187, 3, 912, 456, 0, 8187, 8189, 3, 914, 457, 0, 8188, - 8190, 3, 922, 461, 0, 8189, 8188, 1, 0, 0, 0, 8189, 8190, 1, 0, 0, 0, 8190, - 8192, 1, 0, 0, 0, 8191, 8193, 3, 926, 463, 0, 8192, 8191, 1, 0, 0, 0, 8192, - 8193, 1, 0, 0, 0, 8193, 911, 1, 0, 0, 0, 8194, 8197, 3, 1390, 695, 0, 8195, - 8196, 5, 36, 0, 0, 8196, 8198, 3, 1426, 713, 0, 8197, 8195, 1, 0, 0, 0, - 8197, 8198, 1, 0, 0, 0, 8198, 913, 1, 0, 0, 0, 8199, 8219, 3, 968, 484, - 0, 8200, 8201, 5, 484, 0, 0, 8201, 8202, 3, 916, 458, 0, 8202, 8203, 5, - 471, 0, 0, 8203, 8204, 3, 968, 484, 0, 8204, 8219, 1, 0, 0, 0, 8205, 8206, - 5, 2, 0, 0, 8206, 8207, 3, 918, 459, 0, 8207, 8212, 5, 3, 0, 0, 8208, 8209, - 5, 484, 0, 0, 8209, 8210, 3, 916, 458, 0, 8210, 8211, 5, 471, 0, 0, 8211, - 8213, 1, 0, 0, 0, 8212, 8208, 1, 0, 0, 0, 8212, 8213, 1, 0, 0, 0, 8213, - 8214, 1, 0, 0, 0, 8214, 8215, 3, 968, 484, 0, 8215, 8219, 1, 0, 0, 0, 8216, - 8217, 5, 53, 0, 0, 8217, 8219, 5, 436, 0, 0, 8218, 8199, 1, 0, 0, 0, 8218, - 8200, 1, 0, 0, 0, 8218, 8205, 1, 0, 0, 0, 8218, 8216, 1, 0, 0, 0, 8219, - 915, 1, 0, 0, 0, 8220, 8221, 7, 39, 0, 0, 8221, 917, 1, 0, 0, 0, 8222, - 8227, 3, 920, 460, 0, 8223, 8224, 5, 6, 0, 0, 8224, 8226, 3, 920, 460, - 0, 8225, 8223, 1, 0, 0, 0, 8226, 8229, 1, 0, 0, 0, 8227, 8225, 1, 0, 0, - 0, 8227, 8228, 1, 0, 0, 0, 8228, 919, 1, 0, 0, 0, 8229, 8227, 1, 0, 0, - 0, 8230, 8231, 3, 1426, 713, 0, 8231, 8232, 3, 1378, 689, 0, 8232, 921, - 1, 0, 0, 0, 8233, 8234, 5, 80, 0, 0, 8234, 8236, 5, 485, 0, 0, 8235, 8237, - 3, 924, 462, 0, 8236, 8235, 1, 0, 0, 0, 8236, 8237, 1, 0, 0, 0, 8237, 8238, - 1, 0, 0, 0, 8238, 8246, 5, 57, 0, 0, 8239, 8240, 5, 381, 0, 0, 8240, 8241, - 5, 345, 0, 0, 8241, 8243, 3, 952, 476, 0, 8242, 8244, 3, 1102, 551, 0, - 8243, 8242, 1, 0, 0, 0, 8243, 8244, 1, 0, 0, 0, 8244, 8247, 1, 0, 0, 0, - 8245, 8247, 5, 282, 0, 0, 8246, 8239, 1, 0, 0, 0, 8246, 8245, 1, 0, 0, - 0, 8247, 923, 1, 0, 0, 0, 8248, 8249, 5, 2, 0, 0, 8249, 8250, 3, 604, 302, - 0, 8250, 8252, 5, 3, 0, 0, 8251, 8253, 3, 1102, 551, 0, 8252, 8251, 1, - 0, 0, 0, 8252, 8253, 1, 0, 0, 0, 8253, 8258, 1, 0, 0, 0, 8254, 8255, 5, - 80, 0, 0, 8255, 8256, 5, 45, 0, 0, 8256, 8258, 3, 1394, 697, 0, 8257, 8248, - 1, 0, 0, 0, 8257, 8254, 1, 0, 0, 0, 8258, 925, 1, 0, 0, 0, 8259, 8260, - 5, 87, 0, 0, 8260, 8261, 3, 1382, 691, 0, 8261, 927, 1, 0, 0, 0, 8262, - 8264, 3, 980, 490, 0, 8263, 8262, 1, 0, 0, 0, 8263, 8264, 1, 0, 0, 0, 8264, - 8265, 1, 0, 0, 0, 8265, 8266, 5, 272, 0, 0, 8266, 8268, 5, 71, 0, 0, 8267, - 8269, 5, 81, 0, 0, 8268, 8267, 1, 0, 0, 0, 8268, 8269, 1, 0, 0, 0, 8269, - 8270, 1, 0, 0, 0, 8270, 8272, 3, 1390, 695, 0, 8271, 8273, 3, 1070, 535, - 0, 8272, 8271, 1, 0, 0, 0, 8272, 8273, 1, 0, 0, 0, 8273, 8274, 1, 0, 0, - 0, 8274, 8277, 5, 100, 0, 0, 8275, 8278, 3, 970, 485, 0, 8276, 8278, 3, - 1390, 695, 0, 8277, 8275, 1, 0, 0, 0, 8277, 8276, 1, 0, 0, 0, 8278, 8280, - 1, 0, 0, 0, 8279, 8281, 3, 1070, 535, 0, 8280, 8279, 1, 0, 0, 0, 8280, - 8281, 1, 0, 0, 0, 8281, 8282, 1, 0, 0, 0, 8282, 8283, 5, 80, 0, 0, 8283, - 8292, 3, 1170, 585, 0, 8284, 8286, 3, 930, 465, 0, 8285, 8287, 3, 932, - 466, 0, 8286, 8285, 1, 0, 0, 0, 8286, 8287, 1, 0, 0, 0, 8287, 8293, 1, - 0, 0, 0, 8288, 8290, 3, 932, 466, 0, 8289, 8291, 3, 930, 465, 0, 8290, - 8289, 1, 0, 0, 0, 8290, 8291, 1, 0, 0, 0, 8291, 8293, 1, 0, 0, 0, 8292, - 8284, 1, 0, 0, 0, 8292, 8288, 1, 0, 0, 0, 8293, 8295, 1, 0, 0, 0, 8294, - 8296, 3, 934, 467, 0, 8295, 8294, 1, 0, 0, 0, 8295, 8296, 1, 0, 0, 0, 8296, - 929, 1, 0, 0, 0, 8297, 8298, 5, 102, 0, 0, 8298, 8299, 5, 77, 0, 0, 8299, - 8302, 5, 269, 0, 0, 8300, 8301, 5, 33, 0, 0, 8301, 8303, 3, 1170, 585, - 0, 8302, 8300, 1, 0, 0, 0, 8302, 8303, 1, 0, 0, 0, 8303, 8305, 1, 0, 0, - 0, 8304, 8306, 5, 93, 0, 0, 8305, 8304, 1, 0, 0, 0, 8305, 8306, 1, 0, 0, - 0, 8306, 8307, 1, 0, 0, 0, 8307, 8312, 5, 251, 0, 0, 8308, 8309, 5, 2, - 0, 0, 8309, 8310, 3, 918, 459, 0, 8310, 8311, 5, 3, 0, 0, 8311, 8313, 1, - 0, 0, 0, 8312, 8308, 1, 0, 0, 0, 8312, 8313, 1, 0, 0, 0, 8313, 8314, 1, - 0, 0, 0, 8314, 8315, 3, 1060, 530, 0, 8315, 931, 1, 0, 0, 0, 8316, 8317, - 5, 102, 0, 0, 8317, 8320, 5, 269, 0, 0, 8318, 8319, 5, 33, 0, 0, 8319, - 8321, 3, 1170, 585, 0, 8320, 8318, 1, 0, 0, 0, 8320, 8321, 1, 0, 0, 0, - 8321, 8323, 1, 0, 0, 0, 8322, 8324, 5, 93, 0, 0, 8323, 8322, 1, 0, 0, 0, - 8323, 8324, 1, 0, 0, 0, 8324, 8325, 1, 0, 0, 0, 8325, 8326, 5, 381, 0, - 0, 8326, 8327, 5, 345, 0, 0, 8327, 8328, 3, 952, 476, 0, 8328, 933, 1, - 0, 0, 0, 8329, 8330, 5, 102, 0, 0, 8330, 8332, 5, 269, 0, 0, 8331, 8333, - 5, 93, 0, 0, 8332, 8331, 1, 0, 0, 0, 8332, 8333, 1, 0, 0, 0, 8333, 8334, - 1, 0, 0, 0, 8334, 8335, 5, 201, 0, 0, 8335, 935, 1, 0, 0, 0, 8336, 8338, - 3, 988, 494, 0, 8337, 8336, 1, 0, 0, 0, 8337, 8338, 1, 0, 0, 0, 8338, 8339, - 1, 0, 0, 0, 8339, 8340, 5, 201, 0, 0, 8340, 8341, 5, 64, 0, 0, 8341, 8343, - 3, 1086, 543, 0, 8342, 8344, 3, 938, 469, 0, 8343, 8342, 1, 0, 0, 0, 8343, - 8344, 1, 0, 0, 0, 8344, 8346, 1, 0, 0, 0, 8345, 8347, 3, 1104, 552, 0, - 8346, 8345, 1, 0, 0, 0, 8346, 8347, 1, 0, 0, 0, 8347, 8349, 1, 0, 0, 0, - 8348, 8350, 3, 926, 463, 0, 8349, 8348, 1, 0, 0, 0, 8349, 8350, 1, 0, 0, - 0, 8350, 937, 1, 0, 0, 0, 8351, 8352, 5, 100, 0, 0, 8352, 8353, 3, 1064, - 532, 0, 8353, 939, 1, 0, 0, 0, 8354, 8356, 5, 266, 0, 0, 8355, 8357, 3, - 996, 498, 0, 8356, 8355, 1, 0, 0, 0, 8356, 8357, 1, 0, 0, 0, 8357, 8358, - 1, 0, 0, 0, 8358, 8360, 3, 1084, 542, 0, 8359, 8361, 3, 942, 471, 0, 8360, - 8359, 1, 0, 0, 0, 8360, 8361, 1, 0, 0, 0, 8361, 8363, 1, 0, 0, 0, 8362, - 8364, 3, 946, 473, 0, 8363, 8362, 1, 0, 0, 0, 8363, 8364, 1, 0, 0, 0, 8364, - 941, 1, 0, 0, 0, 8365, 8366, 5, 68, 0, 0, 8366, 8367, 3, 944, 472, 0, 8367, - 8368, 5, 275, 0, 0, 8368, 943, 1, 0, 0, 0, 8369, 8370, 5, 150, 0, 0, 8370, - 8382, 7, 40, 0, 0, 8371, 8372, 5, 428, 0, 0, 8372, 8382, 7, 40, 0, 0, 8373, - 8378, 5, 346, 0, 0, 8374, 8375, 5, 381, 0, 0, 8375, 8379, 5, 220, 0, 0, - 8376, 8377, 5, 428, 0, 0, 8377, 8379, 5, 220, 0, 0, 8378, 8374, 1, 0, 0, - 0, 8378, 8376, 1, 0, 0, 0, 8378, 8379, 1, 0, 0, 0, 8379, 8382, 1, 0, 0, - 0, 8380, 8382, 5, 220, 0, 0, 8381, 8369, 1, 0, 0, 0, 8381, 8371, 1, 0, - 0, 0, 8381, 8373, 1, 0, 0, 0, 8381, 8380, 1, 0, 0, 0, 8382, 945, 1, 0, - 0, 0, 8383, 8384, 5, 284, 0, 0, 8384, 947, 1, 0, 0, 0, 8385, 8389, 5, 284, - 0, 0, 8386, 8387, 5, 486, 0, 0, 8387, 8389, 5, 487, 0, 0, 8388, 8385, 1, - 0, 0, 0, 8388, 8386, 1, 0, 0, 0, 8389, 949, 1, 0, 0, 0, 8390, 8392, 3, - 988, 494, 0, 8391, 8390, 1, 0, 0, 0, 8391, 8392, 1, 0, 0, 0, 8392, 8393, - 1, 0, 0, 0, 8393, 8394, 5, 381, 0, 0, 8394, 8395, 3, 1086, 543, 0, 8395, - 8396, 5, 345, 0, 0, 8396, 8398, 3, 952, 476, 0, 8397, 8399, 3, 1062, 531, - 0, 8398, 8397, 1, 0, 0, 0, 8398, 8399, 1, 0, 0, 0, 8399, 8401, 1, 0, 0, - 0, 8400, 8402, 3, 1104, 552, 0, 8401, 8400, 1, 0, 0, 0, 8401, 8402, 1, - 0, 0, 0, 8402, 8404, 1, 0, 0, 0, 8403, 8405, 3, 926, 463, 0, 8404, 8403, - 1, 0, 0, 0, 8404, 8405, 1, 0, 0, 0, 8405, 951, 1, 0, 0, 0, 8406, 8411, - 3, 954, 477, 0, 8407, 8408, 5, 6, 0, 0, 8408, 8410, 3, 954, 477, 0, 8409, - 8407, 1, 0, 0, 0, 8410, 8413, 1, 0, 0, 0, 8411, 8409, 1, 0, 0, 0, 8411, - 8412, 1, 0, 0, 0, 8412, 953, 1, 0, 0, 0, 8413, 8411, 1, 0, 0, 0, 8414, - 8415, 3, 956, 478, 0, 8415, 8416, 5, 10, 0, 0, 8416, 8417, 3, 1170, 585, - 0, 8417, 8425, 1, 0, 0, 0, 8418, 8419, 5, 2, 0, 0, 8419, 8420, 3, 958, - 479, 0, 8420, 8421, 5, 3, 0, 0, 8421, 8422, 5, 10, 0, 0, 8422, 8423, 3, - 1170, 585, 0, 8423, 8425, 1, 0, 0, 0, 8424, 8414, 1, 0, 0, 0, 8424, 8418, - 1, 0, 0, 0, 8425, 955, 1, 0, 0, 0, 8426, 8427, 3, 1426, 713, 0, 8427, 8428, - 3, 1378, 689, 0, 8428, 957, 1, 0, 0, 0, 8429, 8434, 3, 956, 478, 0, 8430, - 8431, 5, 6, 0, 0, 8431, 8433, 3, 956, 478, 0, 8432, 8430, 1, 0, 0, 0, 8433, - 8436, 1, 0, 0, 0, 8434, 8432, 1, 0, 0, 0, 8434, 8435, 1, 0, 0, 0, 8435, - 959, 1, 0, 0, 0, 8436, 8434, 1, 0, 0, 0, 8437, 8438, 5, 197, 0, 0, 8438, - 8439, 3, 962, 481, 0, 8439, 8440, 3, 964, 482, 0, 8440, 8442, 5, 191, 0, - 0, 8441, 8443, 3, 966, 483, 0, 8442, 8441, 1, 0, 0, 0, 8442, 8443, 1, 0, - 0, 0, 8443, 8444, 1, 0, 0, 0, 8444, 8445, 5, 62, 0, 0, 8445, 8446, 3, 968, - 484, 0, 8446, 961, 1, 0, 0, 0, 8447, 8448, 3, 1394, 697, 0, 8448, 963, - 1, 0, 0, 0, 8449, 8450, 5, 281, 0, 0, 8450, 8455, 5, 336, 0, 0, 8451, 8455, - 5, 336, 0, 0, 8452, 8455, 5, 126, 0, 0, 8453, 8455, 5, 250, 0, 0, 8454, - 8449, 1, 0, 0, 0, 8454, 8451, 1, 0, 0, 0, 8454, 8452, 1, 0, 0, 0, 8454, - 8453, 1, 0, 0, 0, 8455, 8458, 1, 0, 0, 0, 8456, 8454, 1, 0, 0, 0, 8456, - 8457, 1, 0, 0, 0, 8457, 965, 1, 0, 0, 0, 8458, 8456, 1, 0, 0, 0, 8459, - 8460, 5, 105, 0, 0, 8460, 8464, 5, 236, 0, 0, 8461, 8462, 5, 391, 0, 0, - 8462, 8464, 5, 236, 0, 0, 8463, 8459, 1, 0, 0, 0, 8463, 8461, 1, 0, 0, - 0, 8464, 967, 1, 0, 0, 0, 8465, 8468, 3, 972, 486, 0, 8466, 8468, 3, 970, - 485, 0, 8467, 8465, 1, 0, 0, 0, 8467, 8466, 1, 0, 0, 0, 8468, 969, 1, 0, - 0, 0, 8469, 8470, 5, 2, 0, 0, 8470, 8471, 3, 972, 486, 0, 8471, 8472, 5, - 3, 0, 0, 8472, 8478, 1, 0, 0, 0, 8473, 8474, 5, 2, 0, 0, 8474, 8475, 3, - 970, 485, 0, 8475, 8476, 5, 3, 0, 0, 8476, 8478, 1, 0, 0, 0, 8477, 8469, - 1, 0, 0, 0, 8477, 8473, 1, 0, 0, 0, 8478, 971, 1, 0, 0, 0, 8479, 8481, - 3, 980, 490, 0, 8480, 8479, 1, 0, 0, 0, 8480, 8481, 1, 0, 0, 0, 8481, 8482, - 1, 0, 0, 0, 8482, 8484, 3, 974, 487, 0, 8483, 8485, 3, 1004, 502, 0, 8484, - 8483, 1, 0, 0, 0, 8484, 8485, 1, 0, 0, 0, 8485, 8494, 1, 0, 0, 0, 8486, - 8488, 3, 1048, 524, 0, 8487, 8489, 3, 1014, 507, 0, 8488, 8487, 1, 0, 0, - 0, 8488, 8489, 1, 0, 0, 0, 8489, 8495, 1, 0, 0, 0, 8490, 8492, 3, 1012, - 506, 0, 8491, 8493, 3, 1050, 525, 0, 8492, 8491, 1, 0, 0, 0, 8492, 8493, - 1, 0, 0, 0, 8493, 8495, 1, 0, 0, 0, 8494, 8486, 1, 0, 0, 0, 8494, 8490, - 1, 0, 0, 0, 8494, 8495, 1, 0, 0, 0, 8495, 973, 1, 0, 0, 0, 8496, 8504, - 3, 976, 488, 0, 8497, 8499, 7, 41, 0, 0, 8498, 8500, 3, 998, 499, 0, 8499, - 8498, 1, 0, 0, 0, 8499, 8500, 1, 0, 0, 0, 8500, 8501, 1, 0, 0, 0, 8501, - 8503, 3, 976, 488, 0, 8502, 8497, 1, 0, 0, 0, 8503, 8506, 1, 0, 0, 0, 8504, - 8502, 1, 0, 0, 0, 8504, 8505, 1, 0, 0, 0, 8505, 975, 1, 0, 0, 0, 8506, - 8504, 1, 0, 0, 0, 8507, 8515, 3, 978, 489, 0, 8508, 8510, 5, 70, 0, 0, - 8509, 8511, 3, 998, 499, 0, 8510, 8509, 1, 0, 0, 0, 8510, 8511, 1, 0, 0, - 0, 8511, 8512, 1, 0, 0, 0, 8512, 8514, 3, 978, 489, 0, 8513, 8508, 1, 0, - 0, 0, 8514, 8517, 1, 0, 0, 0, 8515, 8513, 1, 0, 0, 0, 8515, 8516, 1, 0, - 0, 0, 8516, 977, 1, 0, 0, 0, 8517, 8515, 1, 0, 0, 0, 8518, 8531, 5, 88, - 0, 0, 8519, 8521, 3, 1002, 501, 0, 8520, 8519, 1, 0, 0, 0, 8520, 8521, - 1, 0, 0, 0, 8521, 8523, 1, 0, 0, 0, 8522, 8524, 3, 990, 495, 0, 8523, 8522, - 1, 0, 0, 0, 8523, 8524, 1, 0, 0, 0, 8524, 8526, 1, 0, 0, 0, 8525, 8527, - 3, 1380, 690, 0, 8526, 8525, 1, 0, 0, 0, 8526, 8527, 1, 0, 0, 0, 8527, - 8532, 1, 0, 0, 0, 8528, 8529, 3, 1000, 500, 0, 8529, 8530, 3, 1382, 691, - 0, 8530, 8532, 1, 0, 0, 0, 8531, 8520, 1, 0, 0, 0, 8531, 8528, 1, 0, 0, - 0, 8532, 8534, 1, 0, 0, 0, 8533, 8535, 3, 990, 495, 0, 8534, 8533, 1, 0, - 0, 0, 8534, 8535, 1, 0, 0, 0, 8535, 8537, 1, 0, 0, 0, 8536, 8538, 3, 1062, - 531, 0, 8537, 8536, 1, 0, 0, 0, 8537, 8538, 1, 0, 0, 0, 8538, 8540, 1, - 0, 0, 0, 8539, 8541, 3, 1102, 551, 0, 8540, 8539, 1, 0, 0, 0, 8540, 8541, - 1, 0, 0, 0, 8541, 8543, 1, 0, 0, 0, 8542, 8544, 3, 1032, 516, 0, 8543, - 8542, 1, 0, 0, 0, 8543, 8544, 1, 0, 0, 0, 8544, 8546, 1, 0, 0, 0, 8545, - 8547, 3, 1046, 523, 0, 8546, 8545, 1, 0, 0, 0, 8546, 8547, 1, 0, 0, 0, - 8547, 8549, 1, 0, 0, 0, 8548, 8550, 3, 1292, 646, 0, 8549, 8548, 1, 0, - 0, 0, 8549, 8550, 1, 0, 0, 0, 8550, 8556, 1, 0, 0, 0, 8551, 8556, 3, 1060, - 530, 0, 8552, 8553, 5, 92, 0, 0, 8553, 8556, 3, 1082, 541, 0, 8554, 8556, - 3, 970, 485, 0, 8555, 8518, 1, 0, 0, 0, 8555, 8551, 1, 0, 0, 0, 8555, 8552, - 1, 0, 0, 0, 8555, 8554, 1, 0, 0, 0, 8556, 979, 1, 0, 0, 0, 8557, 8559, - 5, 105, 0, 0, 8558, 8560, 5, 315, 0, 0, 8559, 8558, 1, 0, 0, 0, 8559, 8560, - 1, 0, 0, 0, 8560, 8561, 1, 0, 0, 0, 8561, 8562, 3, 982, 491, 0, 8562, 981, - 1, 0, 0, 0, 8563, 8568, 3, 984, 492, 0, 8564, 8565, 5, 6, 0, 0, 8565, 8567, - 3, 984, 492, 0, 8566, 8564, 1, 0, 0, 0, 8567, 8570, 1, 0, 0, 0, 8568, 8566, - 1, 0, 0, 0, 8568, 8569, 1, 0, 0, 0, 8569, 983, 1, 0, 0, 0, 8570, 8568, - 1, 0, 0, 0, 8571, 8573, 3, 1394, 697, 0, 8572, 8574, 3, 878, 439, 0, 8573, - 8572, 1, 0, 0, 0, 8573, 8574, 1, 0, 0, 0, 8574, 8575, 1, 0, 0, 0, 8575, - 8577, 5, 36, 0, 0, 8576, 8578, 3, 986, 493, 0, 8577, 8576, 1, 0, 0, 0, - 8577, 8578, 1, 0, 0, 0, 8578, 8579, 1, 0, 0, 0, 8579, 8580, 5, 2, 0, 0, - 8580, 8581, 3, 902, 451, 0, 8581, 8582, 5, 3, 0, 0, 8582, 985, 1, 0, 0, - 0, 8583, 8587, 5, 270, 0, 0, 8584, 8585, 5, 77, 0, 0, 8585, 8587, 5, 270, - 0, 0, 8586, 8583, 1, 0, 0, 0, 8586, 8584, 1, 0, 0, 0, 8587, 987, 1, 0, - 0, 0, 8588, 8589, 3, 980, 490, 0, 8589, 989, 1, 0, 0, 0, 8590, 8596, 5, - 71, 0, 0, 8591, 8593, 3, 992, 496, 0, 8592, 8591, 1, 0, 0, 0, 8592, 8593, - 1, 0, 0, 0, 8593, 8594, 1, 0, 0, 0, 8594, 8597, 3, 994, 497, 0, 8595, 8597, - 3, 1620, 810, 0, 8596, 8592, 1, 0, 0, 0, 8596, 8595, 1, 0, 0, 0, 8597, - 991, 1, 0, 0, 0, 8598, 8599, 5, 358, 0, 0, 8599, 993, 1, 0, 0, 0, 8600, - 8602, 7, 42, 0, 0, 8601, 8600, 1, 0, 0, 0, 8601, 8602, 1, 0, 0, 0, 8602, - 8603, 1, 0, 0, 0, 8603, 8605, 7, 12, 0, 0, 8604, 8606, 3, 996, 498, 0, - 8605, 8604, 1, 0, 0, 0, 8605, 8606, 1, 0, 0, 0, 8606, 8607, 1, 0, 0, 0, - 8607, 8617, 3, 1390, 695, 0, 8608, 8610, 5, 379, 0, 0, 8609, 8611, 3, 996, - 498, 0, 8610, 8609, 1, 0, 0, 0, 8610, 8611, 1, 0, 0, 0, 8611, 8612, 1, - 0, 0, 0, 8612, 8617, 3, 1390, 695, 0, 8613, 8614, 5, 92, 0, 0, 8614, 8617, - 3, 1390, 695, 0, 8615, 8617, 3, 1390, 695, 0, 8616, 8601, 1, 0, 0, 0, 8616, - 8608, 1, 0, 0, 0, 8616, 8613, 1, 0, 0, 0, 8616, 8615, 1, 0, 0, 0, 8617, - 995, 1, 0, 0, 0, 8618, 8619, 5, 92, 0, 0, 8619, 997, 1, 0, 0, 0, 8620, - 8621, 7, 43, 0, 0, 8621, 999, 1, 0, 0, 0, 8622, 8628, 5, 56, 0, 0, 8623, - 8624, 5, 80, 0, 0, 8624, 8625, 5, 2, 0, 0, 8625, 8626, 3, 1332, 666, 0, - 8626, 8627, 5, 3, 0, 0, 8627, 8629, 1, 0, 0, 0, 8628, 8623, 1, 0, 0, 0, - 8628, 8629, 1, 0, 0, 0, 8629, 1001, 1, 0, 0, 0, 8630, 8631, 5, 30, 0, 0, - 8631, 1003, 1, 0, 0, 0, 8632, 8633, 3, 1006, 503, 0, 8633, 1005, 1, 0, - 0, 0, 8634, 8635, 5, 83, 0, 0, 8635, 8636, 5, 166, 0, 0, 8636, 8637, 3, - 1008, 504, 0, 8637, 1007, 1, 0, 0, 0, 8638, 8643, 3, 1010, 505, 0, 8639, - 8640, 5, 6, 0, 0, 8640, 8642, 3, 1010, 505, 0, 8641, 8639, 1, 0, 0, 0, - 8642, 8645, 1, 0, 0, 0, 8643, 8641, 1, 0, 0, 0, 8643, 8644, 1, 0, 0, 0, - 8644, 1009, 1, 0, 0, 0, 8645, 8643, 1, 0, 0, 0, 8646, 8652, 3, 1170, 585, - 0, 8647, 8648, 5, 100, 0, 0, 8648, 8653, 3, 1328, 664, 0, 8649, 8651, 3, - 618, 309, 0, 8650, 8649, 1, 0, 0, 0, 8650, 8651, 1, 0, 0, 0, 8651, 8653, - 1, 0, 0, 0, 8652, 8647, 1, 0, 0, 0, 8652, 8650, 1, 0, 0, 0, 8653, 8655, - 1, 0, 0, 0, 8654, 8656, 3, 620, 310, 0, 8655, 8654, 1, 0, 0, 0, 8655, 8656, - 1, 0, 0, 0, 8656, 1011, 1, 0, 0, 0, 8657, 8659, 3, 1016, 508, 0, 8658, - 8660, 3, 1018, 509, 0, 8659, 8658, 1, 0, 0, 0, 8659, 8660, 1, 0, 0, 0, - 8660, 8666, 1, 0, 0, 0, 8661, 8663, 3, 1018, 509, 0, 8662, 8664, 3, 1016, - 508, 0, 8663, 8662, 1, 0, 0, 0, 8663, 8664, 1, 0, 0, 0, 8664, 8666, 1, - 0, 0, 0, 8665, 8657, 1, 0, 0, 0, 8665, 8661, 1, 0, 0, 0, 8666, 1013, 1, - 0, 0, 0, 8667, 8668, 3, 1012, 506, 0, 8668, 1015, 1, 0, 0, 0, 8669, 8670, - 5, 74, 0, 0, 8670, 8673, 3, 1020, 510, 0, 8671, 8672, 5, 6, 0, 0, 8672, - 8674, 3, 1022, 511, 0, 8673, 8671, 1, 0, 0, 0, 8673, 8674, 1, 0, 0, 0, - 8674, 8693, 1, 0, 0, 0, 8675, 8676, 5, 61, 0, 0, 8676, 8690, 3, 1030, 515, - 0, 8677, 8678, 3, 1024, 512, 0, 8678, 8682, 3, 1028, 514, 0, 8679, 8683, - 5, 81, 0, 0, 8680, 8681, 5, 105, 0, 0, 8681, 8683, 5, 488, 0, 0, 8682, - 8679, 1, 0, 0, 0, 8682, 8680, 1, 0, 0, 0, 8683, 8691, 1, 0, 0, 0, 8684, - 8688, 3, 1028, 514, 0, 8685, 8689, 5, 81, 0, 0, 8686, 8687, 5, 105, 0, - 0, 8687, 8689, 5, 488, 0, 0, 8688, 8685, 1, 0, 0, 0, 8688, 8686, 1, 0, - 0, 0, 8689, 8691, 1, 0, 0, 0, 8690, 8677, 1, 0, 0, 0, 8690, 8684, 1, 0, - 0, 0, 8691, 8693, 1, 0, 0, 0, 8692, 8669, 1, 0, 0, 0, 8692, 8675, 1, 0, - 0, 0, 8693, 1017, 1, 0, 0, 0, 8694, 8699, 5, 79, 0, 0, 8695, 8700, 3, 1022, - 511, 0, 8696, 8697, 3, 1024, 512, 0, 8697, 8698, 3, 1028, 514, 0, 8698, - 8700, 1, 0, 0, 0, 8699, 8695, 1, 0, 0, 0, 8699, 8696, 1, 0, 0, 0, 8700, - 1019, 1, 0, 0, 0, 8701, 8704, 3, 1170, 585, 0, 8702, 8704, 5, 30, 0, 0, - 8703, 8701, 1, 0, 0, 0, 8703, 8702, 1, 0, 0, 0, 8704, 1021, 1, 0, 0, 0, - 8705, 8706, 3, 1170, 585, 0, 8706, 1023, 1, 0, 0, 0, 8707, 8713, 3, 1214, - 607, 0, 8708, 8709, 5, 12, 0, 0, 8709, 8713, 3, 1026, 513, 0, 8710, 8711, - 5, 13, 0, 0, 8711, 8713, 3, 1026, 513, 0, 8712, 8707, 1, 0, 0, 0, 8712, - 8708, 1, 0, 0, 0, 8712, 8710, 1, 0, 0, 0, 8713, 1025, 1, 0, 0, 0, 8714, - 8717, 3, 1410, 705, 0, 8715, 8717, 3, 1408, 704, 0, 8716, 8714, 1, 0, 0, - 0, 8716, 8715, 1, 0, 0, 0, 8717, 1027, 1, 0, 0, 0, 8718, 8719, 7, 44, 0, - 0, 8719, 1029, 1, 0, 0, 0, 8720, 8721, 7, 45, 0, 0, 8721, 1031, 1, 0, 0, - 0, 8722, 8723, 5, 66, 0, 0, 8723, 8724, 5, 166, 0, 0, 8724, 8725, 3, 1034, - 517, 0, 8725, 1033, 1, 0, 0, 0, 8726, 8731, 3, 1036, 518, 0, 8727, 8728, - 5, 6, 0, 0, 8728, 8730, 3, 1036, 518, 0, 8729, 8727, 1, 0, 0, 0, 8730, - 8733, 1, 0, 0, 0, 8731, 8729, 1, 0, 0, 0, 8731, 8732, 1, 0, 0, 0, 8732, - 1035, 1, 0, 0, 0, 8733, 8731, 1, 0, 0, 0, 8734, 8740, 3, 1170, 585, 0, - 8735, 8740, 3, 1038, 519, 0, 8736, 8740, 3, 1042, 521, 0, 8737, 8740, 3, - 1040, 520, 0, 8738, 8740, 3, 1044, 522, 0, 8739, 8734, 1, 0, 0, 0, 8739, - 8735, 1, 0, 0, 0, 8739, 8736, 1, 0, 0, 0, 8739, 8737, 1, 0, 0, 0, 8739, - 8738, 1, 0, 0, 0, 8740, 1037, 1, 0, 0, 0, 8741, 8742, 5, 2, 0, 0, 8742, - 8743, 5, 3, 0, 0, 8743, 1039, 1, 0, 0, 0, 8744, 8745, 5, 489, 0, 0, 8745, - 8746, 5, 2, 0, 0, 8746, 8747, 3, 1332, 666, 0, 8747, 8748, 5, 3, 0, 0, - 8748, 1041, 1, 0, 0, 0, 8749, 8750, 5, 490, 0, 0, 8750, 8751, 5, 2, 0, - 0, 8751, 8752, 3, 1332, 666, 0, 8752, 8753, 5, 3, 0, 0, 8753, 1043, 1, - 0, 0, 0, 8754, 8755, 5, 491, 0, 0, 8755, 8756, 5, 492, 0, 0, 8756, 8757, - 5, 2, 0, 0, 8757, 8758, 3, 1034, 517, 0, 8758, 8759, 5, 3, 0, 0, 8759, - 1045, 1, 0, 0, 0, 8760, 8761, 5, 67, 0, 0, 8761, 8762, 3, 1170, 585, 0, - 8762, 1047, 1, 0, 0, 0, 8763, 8768, 3, 1052, 526, 0, 8764, 8765, 5, 62, - 0, 0, 8765, 8766, 5, 312, 0, 0, 8766, 8768, 5, 81, 0, 0, 8767, 8763, 1, - 0, 0, 0, 8767, 8764, 1, 0, 0, 0, 8768, 1049, 1, 0, 0, 0, 8769, 8770, 3, - 1048, 524, 0, 8770, 1051, 1, 0, 0, 0, 8771, 8773, 3, 1054, 527, 0, 8772, - 8771, 1, 0, 0, 0, 8773, 8774, 1, 0, 0, 0, 8774, 8772, 1, 0, 0, 0, 8774, - 8775, 1, 0, 0, 0, 8775, 1053, 1, 0, 0, 0, 8776, 8778, 3, 1056, 528, 0, - 8777, 8779, 3, 1058, 529, 0, 8778, 8777, 1, 0, 0, 0, 8778, 8779, 1, 0, - 0, 0, 8779, 8781, 1, 0, 0, 0, 8780, 8782, 3, 948, 474, 0, 8781, 8780, 1, - 0, 0, 0, 8781, 8782, 1, 0, 0, 0, 8782, 1055, 1, 0, 0, 0, 8783, 8793, 5, - 62, 0, 0, 8784, 8785, 5, 281, 0, 0, 8785, 8787, 5, 255, 0, 0, 8786, 8784, - 1, 0, 0, 0, 8786, 8787, 1, 0, 0, 0, 8787, 8788, 1, 0, 0, 0, 8788, 8794, - 5, 381, 0, 0, 8789, 8791, 5, 255, 0, 0, 8790, 8789, 1, 0, 0, 0, 8790, 8791, - 1, 0, 0, 0, 8791, 8792, 1, 0, 0, 0, 8792, 8794, 5, 346, 0, 0, 8793, 8786, - 1, 0, 0, 0, 8793, 8790, 1, 0, 0, 0, 8794, 1057, 1, 0, 0, 0, 8795, 8796, - 5, 287, 0, 0, 8796, 8797, 3, 1388, 694, 0, 8797, 1059, 1, 0, 0, 0, 8798, - 8799, 5, 436, 0, 0, 8799, 8800, 5, 2, 0, 0, 8800, 8801, 3, 1332, 666, 0, - 8801, 8809, 5, 3, 0, 0, 8802, 8803, 5, 6, 0, 0, 8803, 8804, 5, 2, 0, 0, - 8804, 8805, 3, 1332, 666, 0, 8805, 8806, 5, 3, 0, 0, 8806, 8808, 1, 0, - 0, 0, 8807, 8802, 1, 0, 0, 0, 8808, 8811, 1, 0, 0, 0, 8809, 8807, 1, 0, - 0, 0, 8809, 8810, 1, 0, 0, 0, 8810, 1061, 1, 0, 0, 0, 8811, 8809, 1, 0, - 0, 0, 8812, 8813, 5, 64, 0, 0, 8813, 8814, 3, 1064, 532, 0, 8814, 1063, - 1, 0, 0, 0, 8815, 8820, 3, 1066, 533, 0, 8816, 8817, 5, 6, 0, 0, 8817, - 8819, 3, 1066, 533, 0, 8818, 8816, 1, 0, 0, 0, 8819, 8822, 1, 0, 0, 0, - 8820, 8818, 1, 0, 0, 0, 8820, 8821, 1, 0, 0, 0, 8821, 1065, 1, 0, 0, 0, - 8822, 8820, 1, 0, 0, 0, 8823, 8825, 3, 1082, 541, 0, 8824, 8826, 3, 1072, - 536, 0, 8825, 8824, 1, 0, 0, 0, 8825, 8826, 1, 0, 0, 0, 8826, 8828, 1, - 0, 0, 0, 8827, 8829, 3, 1088, 544, 0, 8828, 8827, 1, 0, 0, 0, 8828, 8829, - 1, 0, 0, 0, 8829, 8867, 1, 0, 0, 0, 8830, 8832, 3, 1092, 546, 0, 8831, - 8833, 3, 1076, 538, 0, 8832, 8831, 1, 0, 0, 0, 8832, 8833, 1, 0, 0, 0, - 8833, 8867, 1, 0, 0, 0, 8834, 8836, 3, 1112, 556, 0, 8835, 8837, 3, 1072, - 536, 0, 8836, 8835, 1, 0, 0, 0, 8836, 8837, 1, 0, 0, 0, 8837, 8867, 1, - 0, 0, 0, 8838, 8840, 3, 970, 485, 0, 8839, 8841, 3, 1072, 536, 0, 8840, - 8839, 1, 0, 0, 0, 8840, 8841, 1, 0, 0, 0, 8841, 8867, 1, 0, 0, 0, 8842, - 8855, 5, 72, 0, 0, 8843, 8845, 3, 1112, 556, 0, 8844, 8846, 3, 1072, 536, - 0, 8845, 8844, 1, 0, 0, 0, 8845, 8846, 1, 0, 0, 0, 8846, 8856, 1, 0, 0, - 0, 8847, 8849, 3, 1092, 546, 0, 8848, 8850, 3, 1076, 538, 0, 8849, 8848, - 1, 0, 0, 0, 8849, 8850, 1, 0, 0, 0, 8850, 8856, 1, 0, 0, 0, 8851, 8853, - 3, 970, 485, 0, 8852, 8854, 3, 1072, 536, 0, 8853, 8852, 1, 0, 0, 0, 8853, - 8854, 1, 0, 0, 0, 8854, 8856, 1, 0, 0, 0, 8855, 8843, 1, 0, 0, 0, 8855, - 8847, 1, 0, 0, 0, 8855, 8851, 1, 0, 0, 0, 8856, 8867, 1, 0, 0, 0, 8857, - 8858, 5, 2, 0, 0, 8858, 8860, 3, 1066, 533, 0, 8859, 8861, 3, 1068, 534, - 0, 8860, 8859, 1, 0, 0, 0, 8860, 8861, 1, 0, 0, 0, 8861, 8862, 1, 0, 0, - 0, 8862, 8864, 5, 3, 0, 0, 8863, 8865, 3, 1072, 536, 0, 8864, 8863, 1, - 0, 0, 0, 8864, 8865, 1, 0, 0, 0, 8865, 8867, 1, 0, 0, 0, 8866, 8823, 1, - 0, 0, 0, 8866, 8830, 1, 0, 0, 0, 8866, 8834, 1, 0, 0, 0, 8866, 8838, 1, - 0, 0, 0, 8866, 8842, 1, 0, 0, 0, 8866, 8857, 1, 0, 0, 0, 8867, 8871, 1, - 0, 0, 0, 8868, 8870, 3, 1068, 534, 0, 8869, 8868, 1, 0, 0, 0, 8870, 8873, - 1, 0, 0, 0, 8871, 8869, 1, 0, 0, 0, 8871, 8872, 1, 0, 0, 0, 8872, 1067, - 1, 0, 0, 0, 8873, 8871, 1, 0, 0, 0, 8874, 8875, 5, 129, 0, 0, 8875, 8876, - 5, 137, 0, 0, 8876, 8891, 3, 1066, 533, 0, 8877, 8879, 5, 140, 0, 0, 8878, - 8880, 3, 1078, 539, 0, 8879, 8878, 1, 0, 0, 0, 8879, 8880, 1, 0, 0, 0, - 8880, 8881, 1, 0, 0, 0, 8881, 8882, 5, 137, 0, 0, 8882, 8891, 3, 1066, - 533, 0, 8883, 8885, 3, 1078, 539, 0, 8884, 8883, 1, 0, 0, 0, 8884, 8885, - 1, 0, 0, 0, 8885, 8886, 1, 0, 0, 0, 8886, 8887, 5, 137, 0, 0, 8887, 8888, - 3, 1066, 533, 0, 8888, 8889, 3, 1080, 540, 0, 8889, 8891, 1, 0, 0, 0, 8890, - 8874, 1, 0, 0, 0, 8890, 8877, 1, 0, 0, 0, 8890, 8884, 1, 0, 0, 0, 8891, - 1069, 1, 0, 0, 0, 8892, 8894, 5, 36, 0, 0, 8893, 8892, 1, 0, 0, 0, 8893, - 8894, 1, 0, 0, 0, 8894, 8895, 1, 0, 0, 0, 8895, 8900, 3, 1426, 713, 0, - 8896, 8897, 5, 2, 0, 0, 8897, 8898, 3, 1392, 696, 0, 8898, 8899, 5, 3, - 0, 0, 8899, 8901, 1, 0, 0, 0, 8900, 8896, 1, 0, 0, 0, 8900, 8901, 1, 0, - 0, 0, 8901, 1071, 1, 0, 0, 0, 8902, 8903, 3, 1074, 537, 0, 8903, 1073, - 1, 0, 0, 0, 8904, 8906, 5, 36, 0, 0, 8905, 8904, 1, 0, 0, 0, 8905, 8906, - 1, 0, 0, 0, 8906, 8907, 1, 0, 0, 0, 8907, 8912, 3, 1428, 714, 0, 8908, - 8909, 5, 2, 0, 0, 8909, 8910, 3, 1392, 696, 0, 8910, 8911, 5, 3, 0, 0, - 8911, 8913, 1, 0, 0, 0, 8912, 8908, 1, 0, 0, 0, 8912, 8913, 1, 0, 0, 0, - 8913, 1075, 1, 0, 0, 0, 8914, 8927, 3, 1070, 535, 0, 8915, 8917, 5, 36, - 0, 0, 8916, 8918, 3, 1426, 713, 0, 8917, 8916, 1, 0, 0, 0, 8917, 8918, - 1, 0, 0, 0, 8918, 8921, 1, 0, 0, 0, 8919, 8921, 3, 1426, 713, 0, 8920, - 8915, 1, 0, 0, 0, 8920, 8919, 1, 0, 0, 0, 8921, 8922, 1, 0, 0, 0, 8922, - 8923, 5, 2, 0, 0, 8923, 8924, 3, 1108, 554, 0, 8924, 8925, 5, 3, 0, 0, - 8925, 8927, 1, 0, 0, 0, 8926, 8914, 1, 0, 0, 0, 8926, 8920, 1, 0, 0, 0, - 8927, 1077, 1, 0, 0, 0, 8928, 8930, 7, 46, 0, 0, 8929, 8931, 5, 142, 0, - 0, 8930, 8929, 1, 0, 0, 0, 8930, 8931, 1, 0, 0, 0, 8931, 1079, 1, 0, 0, - 0, 8932, 8933, 5, 100, 0, 0, 8933, 8934, 5, 2, 0, 0, 8934, 8935, 3, 1392, - 696, 0, 8935, 8936, 5, 3, 0, 0, 8936, 8940, 1, 0, 0, 0, 8937, 8938, 5, - 80, 0, 0, 8938, 8940, 3, 1170, 585, 0, 8939, 8932, 1, 0, 0, 0, 8939, 8937, - 1, 0, 0, 0, 8940, 1081, 1, 0, 0, 0, 8941, 8943, 3, 1390, 695, 0, 8942, - 8944, 5, 9, 0, 0, 8943, 8942, 1, 0, 0, 0, 8943, 8944, 1, 0, 0, 0, 8944, - 8954, 1, 0, 0, 0, 8945, 8951, 5, 81, 0, 0, 8946, 8952, 3, 1390, 695, 0, - 8947, 8948, 5, 2, 0, 0, 8948, 8949, 3, 1390, 695, 0, 8949, 8950, 5, 3, - 0, 0, 8950, 8952, 1, 0, 0, 0, 8951, 8946, 1, 0, 0, 0, 8951, 8947, 1, 0, - 0, 0, 8952, 8954, 1, 0, 0, 0, 8953, 8941, 1, 0, 0, 0, 8953, 8945, 1, 0, - 0, 0, 8954, 1083, 1, 0, 0, 0, 8955, 8960, 3, 1082, 541, 0, 8956, 8957, - 5, 6, 0, 0, 8957, 8959, 3, 1082, 541, 0, 8958, 8956, 1, 0, 0, 0, 8959, - 8962, 1, 0, 0, 0, 8960, 8958, 1, 0, 0, 0, 8960, 8961, 1, 0, 0, 0, 8961, - 1085, 1, 0, 0, 0, 8962, 8960, 1, 0, 0, 0, 8963, 8968, 3, 1082, 541, 0, - 8964, 8966, 5, 36, 0, 0, 8965, 8964, 1, 0, 0, 0, 8965, 8966, 1, 0, 0, 0, - 8966, 8967, 1, 0, 0, 0, 8967, 8969, 3, 1426, 713, 0, 8968, 8965, 1, 0, - 0, 0, 8968, 8969, 1, 0, 0, 0, 8969, 1087, 1, 0, 0, 0, 8970, 8971, 5, 493, - 0, 0, 8971, 8972, 3, 1400, 700, 0, 8972, 8973, 5, 2, 0, 0, 8973, 8974, - 3, 1332, 666, 0, 8974, 8976, 5, 3, 0, 0, 8975, 8977, 3, 1090, 545, 0, 8976, - 8975, 1, 0, 0, 0, 8976, 8977, 1, 0, 0, 0, 8977, 1089, 1, 0, 0, 0, 8978, - 8979, 5, 322, 0, 0, 8979, 8980, 5, 2, 0, 0, 8980, 8981, 3, 1170, 585, 0, - 8981, 8982, 5, 3, 0, 0, 8982, 1091, 1, 0, 0, 0, 8983, 8985, 3, 1222, 611, - 0, 8984, 8986, 3, 1100, 550, 0, 8985, 8984, 1, 0, 0, 0, 8985, 8986, 1, - 0, 0, 0, 8986, 8996, 1, 0, 0, 0, 8987, 8988, 5, 332, 0, 0, 8988, 8989, - 5, 64, 0, 0, 8989, 8990, 5, 2, 0, 0, 8990, 8991, 3, 1096, 548, 0, 8991, - 8993, 5, 3, 0, 0, 8992, 8994, 3, 1100, 550, 0, 8993, 8992, 1, 0, 0, 0, - 8993, 8994, 1, 0, 0, 0, 8994, 8996, 1, 0, 0, 0, 8995, 8983, 1, 0, 0, 0, - 8995, 8987, 1, 0, 0, 0, 8996, 1093, 1, 0, 0, 0, 8997, 8999, 3, 1222, 611, - 0, 8998, 9000, 3, 1098, 549, 0, 8999, 8998, 1, 0, 0, 0, 8999, 9000, 1, - 0, 0, 0, 9000, 1095, 1, 0, 0, 0, 9001, 9006, 3, 1094, 547, 0, 9002, 9003, - 5, 6, 0, 0, 9003, 9005, 3, 1094, 547, 0, 9004, 9002, 1, 0, 0, 0, 9005, - 9008, 1, 0, 0, 0, 9006, 9004, 1, 0, 0, 0, 9006, 9007, 1, 0, 0, 0, 9007, - 1097, 1, 0, 0, 0, 9008, 9006, 1, 0, 0, 0, 9009, 9010, 5, 36, 0, 0, 9010, - 9011, 5, 2, 0, 0, 9011, 9012, 3, 1108, 554, 0, 9012, 9013, 5, 3, 0, 0, - 9013, 1099, 1, 0, 0, 0, 9014, 9015, 5, 105, 0, 0, 9015, 9016, 5, 494, 0, - 0, 9016, 1101, 1, 0, 0, 0, 9017, 9018, 5, 103, 0, 0, 9018, 9019, 3, 1170, - 585, 0, 9019, 1103, 1, 0, 0, 0, 9020, 9025, 5, 103, 0, 0, 9021, 9022, 5, - 455, 0, 0, 9022, 9023, 5, 287, 0, 0, 9023, 9026, 3, 962, 481, 0, 9024, - 9026, 3, 1170, 585, 0, 9025, 9021, 1, 0, 0, 0, 9025, 9024, 1, 0, 0, 0, - 9026, 1105, 1, 0, 0, 0, 9027, 9028, 3, 1108, 554, 0, 9028, 1107, 1, 0, - 0, 0, 9029, 9034, 3, 1110, 555, 0, 9030, 9031, 5, 6, 0, 0, 9031, 9033, - 3, 1110, 555, 0, 9032, 9030, 1, 0, 0, 0, 9033, 9036, 1, 0, 0, 0, 9034, - 9032, 1, 0, 0, 0, 9034, 9035, 1, 0, 0, 0, 9035, 1109, 1, 0, 0, 0, 9036, - 9034, 1, 0, 0, 0, 9037, 9038, 3, 1426, 713, 0, 9038, 9040, 3, 1126, 563, - 0, 9039, 9041, 3, 110, 55, 0, 9040, 9039, 1, 0, 0, 0, 9040, 9041, 1, 0, - 0, 0, 9041, 1111, 1, 0, 0, 0, 9042, 9043, 5, 495, 0, 0, 9043, 9059, 5, - 2, 0, 0, 9044, 9045, 3, 1214, 607, 0, 9045, 9046, 3, 1284, 642, 0, 9046, - 9047, 5, 496, 0, 0, 9047, 9048, 3, 1114, 557, 0, 9048, 9060, 1, 0, 0, 0, - 9049, 9050, 5, 497, 0, 0, 9050, 9051, 5, 2, 0, 0, 9051, 9052, 3, 1122, - 561, 0, 9052, 9053, 5, 3, 0, 0, 9053, 9054, 5, 6, 0, 0, 9054, 9055, 3, - 1214, 607, 0, 9055, 9056, 3, 1284, 642, 0, 9056, 9057, 5, 496, 0, 0, 9057, - 9058, 3, 1114, 557, 0, 9058, 9060, 1, 0, 0, 0, 9059, 9044, 1, 0, 0, 0, - 9059, 9049, 1, 0, 0, 0, 9060, 9061, 1, 0, 0, 0, 9061, 9062, 5, 3, 0, 0, - 9062, 1113, 1, 0, 0, 0, 9063, 9068, 3, 1116, 558, 0, 9064, 9065, 5, 6, - 0, 0, 9065, 9067, 3, 1116, 558, 0, 9066, 9064, 1, 0, 0, 0, 9067, 9070, - 1, 0, 0, 0, 9068, 9066, 1, 0, 0, 0, 9068, 9069, 1, 0, 0, 0, 9069, 1115, - 1, 0, 0, 0, 9070, 9068, 1, 0, 0, 0, 9071, 9078, 3, 1426, 713, 0, 9072, - 9074, 3, 1126, 563, 0, 9073, 9075, 3, 1118, 559, 0, 9074, 9073, 1, 0, 0, - 0, 9074, 9075, 1, 0, 0, 0, 9075, 9079, 1, 0, 0, 0, 9076, 9077, 5, 62, 0, - 0, 9077, 9079, 5, 494, 0, 0, 9078, 9072, 1, 0, 0, 0, 9078, 9076, 1, 0, - 0, 0, 9079, 1117, 1, 0, 0, 0, 9080, 9082, 3, 1120, 560, 0, 9081, 9080, - 1, 0, 0, 0, 9082, 9083, 1, 0, 0, 0, 9083, 9081, 1, 0, 0, 0, 9083, 9084, - 1, 0, 0, 0, 9084, 1119, 1, 0, 0, 0, 9085, 9086, 5, 53, 0, 0, 9086, 9094, - 3, 1170, 585, 0, 9087, 9088, 3, 1436, 718, 0, 9088, 9089, 3, 1170, 585, - 0, 9089, 9094, 1, 0, 0, 0, 9090, 9091, 5, 77, 0, 0, 9091, 9094, 5, 78, - 0, 0, 9092, 9094, 5, 78, 0, 0, 9093, 9085, 1, 0, 0, 0, 9093, 9087, 1, 0, - 0, 0, 9093, 9090, 1, 0, 0, 0, 9093, 9092, 1, 0, 0, 0, 9094, 1121, 1, 0, - 0, 0, 9095, 9100, 3, 1124, 562, 0, 9096, 9097, 5, 6, 0, 0, 9097, 9099, - 3, 1124, 562, 0, 9098, 9096, 1, 0, 0, 0, 9099, 9102, 1, 0, 0, 0, 9100, - 9098, 1, 0, 0, 0, 9100, 9101, 1, 0, 0, 0, 9101, 1123, 1, 0, 0, 0, 9102, - 9100, 1, 0, 0, 0, 9103, 9104, 3, 1212, 606, 0, 9104, 9105, 5, 36, 0, 0, - 9105, 9106, 3, 1434, 717, 0, 9106, 9110, 1, 0, 0, 0, 9107, 9108, 5, 53, - 0, 0, 9108, 9110, 3, 1212, 606, 0, 9109, 9103, 1, 0, 0, 0, 9109, 9107, - 1, 0, 0, 0, 9110, 1125, 1, 0, 0, 0, 9111, 9113, 5, 429, 0, 0, 9112, 9111, - 1, 0, 0, 0, 9112, 9113, 1, 0, 0, 0, 9113, 9114, 1, 0, 0, 0, 9114, 9123, - 3, 1130, 565, 0, 9115, 9124, 3, 1128, 564, 0, 9116, 9121, 5, 35, 0, 0, - 9117, 9118, 5, 4, 0, 0, 9118, 9119, 3, 1410, 705, 0, 9119, 9120, 5, 5, - 0, 0, 9120, 9122, 1, 0, 0, 0, 9121, 9117, 1, 0, 0, 0, 9121, 9122, 1, 0, - 0, 0, 9122, 9124, 1, 0, 0, 0, 9123, 9115, 1, 0, 0, 0, 9123, 9116, 1, 0, - 0, 0, 9124, 9130, 1, 0, 0, 0, 9125, 9126, 3, 1390, 695, 0, 9126, 9127, - 5, 27, 0, 0, 9127, 9128, 7, 47, 0, 0, 9128, 9130, 1, 0, 0, 0, 9129, 9112, - 1, 0, 0, 0, 9129, 9125, 1, 0, 0, 0, 9130, 1127, 1, 0, 0, 0, 9131, 9133, - 5, 4, 0, 0, 9132, 9134, 3, 1410, 705, 0, 9133, 9132, 1, 0, 0, 0, 9133, - 9134, 1, 0, 0, 0, 9134, 9135, 1, 0, 0, 0, 9135, 9137, 5, 5, 0, 0, 9136, - 9131, 1, 0, 0, 0, 9137, 9140, 1, 0, 0, 0, 9138, 9136, 1, 0, 0, 0, 9138, - 9139, 1, 0, 0, 0, 9139, 1129, 1, 0, 0, 0, 9140, 9138, 1, 0, 0, 0, 9141, - 9157, 3, 1134, 567, 0, 9142, 9157, 3, 1138, 569, 0, 9143, 9157, 3, 1142, - 571, 0, 9144, 9157, 3, 1150, 575, 0, 9145, 9157, 3, 1158, 579, 0, 9146, - 9154, 3, 1160, 580, 0, 9147, 9149, 3, 1164, 582, 0, 9148, 9147, 1, 0, 0, - 0, 9148, 9149, 1, 0, 0, 0, 9149, 9155, 1, 0, 0, 0, 9150, 9151, 5, 2, 0, - 0, 9151, 9152, 3, 1410, 705, 0, 9152, 9153, 5, 3, 0, 0, 9153, 9155, 1, - 0, 0, 0, 9154, 9148, 1, 0, 0, 0, 9154, 9150, 1, 0, 0, 0, 9155, 9157, 1, - 0, 0, 0, 9156, 9141, 1, 0, 0, 0, 9156, 9142, 1, 0, 0, 0, 9156, 9143, 1, - 0, 0, 0, 9156, 9144, 1, 0, 0, 0, 9156, 9145, 1, 0, 0, 0, 9156, 9146, 1, - 0, 0, 0, 9157, 1131, 1, 0, 0, 0, 9158, 9163, 3, 1138, 569, 0, 9159, 9163, - 3, 1144, 572, 0, 9160, 9163, 3, 1152, 576, 0, 9161, 9163, 3, 1158, 579, - 0, 9162, 9158, 1, 0, 0, 0, 9162, 9159, 1, 0, 0, 0, 9162, 9160, 1, 0, 0, - 0, 9162, 9161, 1, 0, 0, 0, 9163, 1133, 1, 0, 0, 0, 9164, 9169, 3, 1448, - 724, 0, 9165, 9169, 3, 1430, 715, 0, 9166, 9169, 5, 138, 0, 0, 9167, 9169, - 5, 145, 0, 0, 9168, 9164, 1, 0, 0, 0, 9168, 9165, 1, 0, 0, 0, 9168, 9166, - 1, 0, 0, 0, 9168, 9167, 1, 0, 0, 0, 9169, 9171, 1, 0, 0, 0, 9170, 9172, - 3, 528, 264, 0, 9171, 9170, 1, 0, 0, 0, 9171, 9172, 1, 0, 0, 0, 9172, 9174, - 1, 0, 0, 0, 9173, 9175, 3, 1136, 568, 0, 9174, 9173, 1, 0, 0, 0, 9174, - 9175, 1, 0, 0, 0, 9175, 1135, 1, 0, 0, 0, 9176, 9177, 5, 2, 0, 0, 9177, - 9178, 3, 1332, 666, 0, 9178, 9179, 5, 3, 0, 0, 9179, 1137, 1, 0, 0, 0, - 9180, 9205, 5, 414, 0, 0, 9181, 9205, 5, 415, 0, 0, 9182, 9205, 5, 430, - 0, 0, 9183, 9205, 5, 401, 0, 0, 9184, 9205, 5, 427, 0, 0, 9185, 9187, 5, - 411, 0, 0, 9186, 9188, 3, 1140, 570, 0, 9187, 9186, 1, 0, 0, 0, 9187, 9188, - 1, 0, 0, 0, 9188, 9205, 1, 0, 0, 0, 9189, 9190, 5, 209, 0, 0, 9190, 9205, - 5, 426, 0, 0, 9191, 9193, 5, 408, 0, 0, 9192, 9194, 3, 1136, 568, 0, 9193, - 9192, 1, 0, 0, 0, 9193, 9194, 1, 0, 0, 0, 9194, 9205, 1, 0, 0, 0, 9195, - 9197, 5, 407, 0, 0, 9196, 9198, 3, 1136, 568, 0, 9197, 9196, 1, 0, 0, 0, - 9197, 9198, 1, 0, 0, 0, 9198, 9205, 1, 0, 0, 0, 9199, 9201, 5, 422, 0, - 0, 9200, 9202, 3, 1136, 568, 0, 9201, 9200, 1, 0, 0, 0, 9201, 9202, 1, - 0, 0, 0, 9202, 9205, 1, 0, 0, 0, 9203, 9205, 5, 403, 0, 0, 9204, 9180, - 1, 0, 0, 0, 9204, 9181, 1, 0, 0, 0, 9204, 9182, 1, 0, 0, 0, 9204, 9183, - 1, 0, 0, 0, 9204, 9184, 1, 0, 0, 0, 9204, 9185, 1, 0, 0, 0, 9204, 9189, - 1, 0, 0, 0, 9204, 9191, 1, 0, 0, 0, 9204, 9195, 1, 0, 0, 0, 9204, 9199, - 1, 0, 0, 0, 9204, 9203, 1, 0, 0, 0, 9205, 1139, 1, 0, 0, 0, 9206, 9207, - 5, 2, 0, 0, 9207, 9208, 3, 1410, 705, 0, 9208, 9209, 5, 3, 0, 0, 9209, - 1141, 1, 0, 0, 0, 9210, 9213, 3, 1146, 573, 0, 9211, 9213, 3, 1148, 574, - 0, 9212, 9210, 1, 0, 0, 0, 9212, 9211, 1, 0, 0, 0, 9213, 1143, 1, 0, 0, - 0, 9214, 9217, 3, 1146, 573, 0, 9215, 9217, 3, 1148, 574, 0, 9216, 9214, - 1, 0, 0, 0, 9216, 9215, 1, 0, 0, 0, 9217, 1145, 1, 0, 0, 0, 9218, 9220, - 5, 402, 0, 0, 9219, 9221, 3, 1156, 578, 0, 9220, 9219, 1, 0, 0, 0, 9220, - 9221, 1, 0, 0, 0, 9221, 9222, 1, 0, 0, 0, 9222, 9223, 5, 2, 0, 0, 9223, - 9224, 3, 1332, 666, 0, 9224, 9225, 5, 3, 0, 0, 9225, 1147, 1, 0, 0, 0, - 9226, 9228, 5, 402, 0, 0, 9227, 9229, 3, 1156, 578, 0, 9228, 9227, 1, 0, - 0, 0, 9228, 9229, 1, 0, 0, 0, 9229, 1149, 1, 0, 0, 0, 9230, 9235, 3, 1154, - 577, 0, 9231, 9232, 5, 2, 0, 0, 9232, 9233, 3, 1410, 705, 0, 9233, 9234, - 5, 3, 0, 0, 9234, 9236, 1, 0, 0, 0, 9235, 9231, 1, 0, 0, 0, 9235, 9236, - 1, 0, 0, 0, 9236, 1151, 1, 0, 0, 0, 9237, 9242, 3, 1154, 577, 0, 9238, - 9239, 5, 2, 0, 0, 9239, 9240, 3, 1410, 705, 0, 9240, 9241, 5, 3, 0, 0, - 9241, 9243, 1, 0, 0, 0, 9242, 9238, 1, 0, 0, 0, 9242, 9243, 1, 0, 0, 0, - 9243, 1153, 1, 0, 0, 0, 9244, 9246, 7, 48, 0, 0, 9245, 9247, 3, 1156, 578, - 0, 9246, 9245, 1, 0, 0, 0, 9246, 9247, 1, 0, 0, 0, 9247, 9255, 1, 0, 0, - 0, 9248, 9255, 5, 437, 0, 0, 9249, 9250, 5, 418, 0, 0, 9250, 9252, 7, 49, - 0, 0, 9251, 9253, 3, 1156, 578, 0, 9252, 9251, 1, 0, 0, 0, 9252, 9253, - 1, 0, 0, 0, 9253, 9255, 1, 0, 0, 0, 9254, 9244, 1, 0, 0, 0, 9254, 9248, - 1, 0, 0, 0, 9254, 9249, 1, 0, 0, 0, 9255, 1155, 1, 0, 0, 0, 9256, 9257, - 5, 386, 0, 0, 9257, 1157, 1, 0, 0, 0, 9258, 9263, 7, 50, 0, 0, 9259, 9260, - 5, 2, 0, 0, 9260, 9261, 3, 1410, 705, 0, 9261, 9262, 5, 3, 0, 0, 9262, - 9264, 1, 0, 0, 0, 9263, 9259, 1, 0, 0, 0, 9263, 9264, 1, 0, 0, 0, 9264, - 9266, 1, 0, 0, 0, 9265, 9267, 3, 1162, 581, 0, 9266, 9265, 1, 0, 0, 0, - 9266, 9267, 1, 0, 0, 0, 9267, 1159, 1, 0, 0, 0, 9268, 9269, 5, 416, 0, - 0, 9269, 1161, 1, 0, 0, 0, 9270, 9271, 5, 105, 0, 0, 9271, 9272, 5, 432, - 0, 0, 9272, 9277, 5, 398, 0, 0, 9273, 9274, 5, 391, 0, 0, 9274, 9275, 5, - 432, 0, 0, 9275, 9277, 5, 398, 0, 0, 9276, 9270, 1, 0, 0, 0, 9276, 9273, - 1, 0, 0, 0, 9277, 1163, 1, 0, 0, 0, 9278, 9304, 5, 396, 0, 0, 9279, 9304, - 5, 276, 0, 0, 9280, 9304, 5, 195, 0, 0, 9281, 9304, 5, 237, 0, 0, 9282, - 9304, 5, 273, 0, 0, 9283, 9304, 3, 1166, 583, 0, 9284, 9285, 5, 396, 0, - 0, 9285, 9286, 5, 94, 0, 0, 9286, 9304, 5, 276, 0, 0, 9287, 9288, 5, 195, - 0, 0, 9288, 9292, 5, 94, 0, 0, 9289, 9293, 5, 237, 0, 0, 9290, 9293, 5, - 273, 0, 0, 9291, 9293, 3, 1166, 583, 0, 9292, 9289, 1, 0, 0, 0, 9292, 9290, - 1, 0, 0, 0, 9292, 9291, 1, 0, 0, 0, 9293, 9304, 1, 0, 0, 0, 9294, 9295, - 5, 237, 0, 0, 9295, 9298, 5, 94, 0, 0, 9296, 9299, 5, 273, 0, 0, 9297, - 9299, 3, 1166, 583, 0, 9298, 9296, 1, 0, 0, 0, 9298, 9297, 1, 0, 0, 0, - 9299, 9304, 1, 0, 0, 0, 9300, 9301, 5, 273, 0, 0, 9301, 9302, 5, 94, 0, - 0, 9302, 9304, 3, 1166, 583, 0, 9303, 9278, 1, 0, 0, 0, 9303, 9279, 1, - 0, 0, 0, 9303, 9280, 1, 0, 0, 0, 9303, 9281, 1, 0, 0, 0, 9303, 9282, 1, - 0, 0, 0, 9303, 9283, 1, 0, 0, 0, 9303, 9284, 1, 0, 0, 0, 9303, 9287, 1, - 0, 0, 0, 9303, 9294, 1, 0, 0, 0, 9303, 9300, 1, 0, 0, 0, 9304, 1165, 1, - 0, 0, 0, 9305, 9310, 5, 338, 0, 0, 9306, 9307, 5, 2, 0, 0, 9307, 9308, - 3, 1410, 705, 0, 9308, 9309, 5, 3, 0, 0, 9309, 9311, 1, 0, 0, 0, 9310, - 9306, 1, 0, 0, 0, 9310, 9311, 1, 0, 0, 0, 9311, 1167, 1, 0, 0, 0, 9312, - 9313, 5, 216, 0, 0, 9313, 9314, 3, 1170, 585, 0, 9314, 1169, 1, 0, 0, 0, - 9315, 9316, 3, 1172, 586, 0, 9316, 1171, 1, 0, 0, 0, 9317, 9319, 3, 1174, - 587, 0, 9318, 9320, 3, 1326, 663, 0, 9319, 9318, 1, 0, 0, 0, 9319, 9320, - 1, 0, 0, 0, 9320, 1173, 1, 0, 0, 0, 9321, 9326, 3, 1176, 588, 0, 9322, - 9323, 7, 51, 0, 0, 9323, 9325, 3, 1176, 588, 0, 9324, 9322, 1, 0, 0, 0, - 9325, 9328, 1, 0, 0, 0, 9326, 9324, 1, 0, 0, 0, 9326, 9327, 1, 0, 0, 0, - 9327, 1175, 1, 0, 0, 0, 9328, 9326, 1, 0, 0, 0, 9329, 9334, 3, 1178, 589, - 0, 9330, 9331, 5, 82, 0, 0, 9331, 9333, 3, 1178, 589, 0, 9332, 9330, 1, - 0, 0, 0, 9333, 9336, 1, 0, 0, 0, 9334, 9332, 1, 0, 0, 0, 9334, 9335, 1, - 0, 0, 0, 9335, 1177, 1, 0, 0, 0, 9336, 9334, 1, 0, 0, 0, 9337, 9342, 3, - 1180, 590, 0, 9338, 9339, 5, 33, 0, 0, 9339, 9341, 3, 1180, 590, 0, 9340, - 9338, 1, 0, 0, 0, 9341, 9344, 1, 0, 0, 0, 9342, 9340, 1, 0, 0, 0, 9342, - 9343, 1, 0, 0, 0, 9343, 1179, 1, 0, 0, 0, 9344, 9342, 1, 0, 0, 0, 9345, - 9357, 3, 1182, 591, 0, 9346, 9348, 5, 77, 0, 0, 9347, 9346, 1, 0, 0, 0, - 9347, 9348, 1, 0, 0, 0, 9348, 9349, 1, 0, 0, 0, 9349, 9351, 5, 400, 0, - 0, 9350, 9352, 5, 91, 0, 0, 9351, 9350, 1, 0, 0, 0, 9351, 9352, 1, 0, 0, - 0, 9352, 9353, 1, 0, 0, 0, 9353, 9354, 3, 1182, 591, 0, 9354, 9355, 5, - 33, 0, 0, 9355, 9356, 3, 1182, 591, 0, 9356, 9358, 1, 0, 0, 0, 9357, 9347, - 1, 0, 0, 0, 9357, 9358, 1, 0, 0, 0, 9358, 1181, 1, 0, 0, 0, 9359, 9365, - 3, 1184, 592, 0, 9360, 9362, 5, 77, 0, 0, 9361, 9360, 1, 0, 0, 0, 9361, - 9362, 1, 0, 0, 0, 9362, 9363, 1, 0, 0, 0, 9363, 9364, 5, 68, 0, 0, 9364, - 9366, 3, 1358, 679, 0, 9365, 9361, 1, 0, 0, 0, 9365, 9366, 1, 0, 0, 0, - 9366, 1183, 1, 0, 0, 0, 9367, 9369, 5, 77, 0, 0, 9368, 9367, 1, 0, 0, 0, - 9368, 9369, 1, 0, 0, 0, 9369, 9370, 1, 0, 0, 0, 9370, 9371, 3, 1186, 593, - 0, 9371, 1185, 1, 0, 0, 0, 9372, 9374, 3, 1188, 594, 0, 9373, 9375, 7, - 52, 0, 0, 9374, 9373, 1, 0, 0, 0, 9374, 9375, 1, 0, 0, 0, 9375, 1187, 1, - 0, 0, 0, 9376, 9400, 3, 1190, 595, 0, 9377, 9379, 5, 135, 0, 0, 9378, 9380, - 5, 77, 0, 0, 9379, 9378, 1, 0, 0, 0, 9379, 9380, 1, 0, 0, 0, 9380, 9398, - 1, 0, 0, 0, 9381, 9399, 5, 78, 0, 0, 9382, 9399, 5, 96, 0, 0, 9383, 9399, - 5, 60, 0, 0, 9384, 9399, 5, 377, 0, 0, 9385, 9386, 5, 56, 0, 0, 9386, 9387, - 5, 64, 0, 0, 9387, 9399, 3, 1170, 585, 0, 9388, 9389, 5, 287, 0, 0, 9389, - 9390, 5, 2, 0, 0, 9390, 9391, 3, 1338, 669, 0, 9391, 9392, 5, 3, 0, 0, - 9392, 9399, 1, 0, 0, 0, 9393, 9399, 5, 207, 0, 0, 9394, 9396, 3, 1348, - 674, 0, 9395, 9394, 1, 0, 0, 0, 9395, 9396, 1, 0, 0, 0, 9396, 9397, 1, - 0, 0, 0, 9397, 9399, 5, 499, 0, 0, 9398, 9381, 1, 0, 0, 0, 9398, 9382, - 1, 0, 0, 0, 9398, 9383, 1, 0, 0, 0, 9398, 9384, 1, 0, 0, 0, 9398, 9385, - 1, 0, 0, 0, 9398, 9388, 1, 0, 0, 0, 9398, 9393, 1, 0, 0, 0, 9398, 9395, - 1, 0, 0, 0, 9399, 9401, 1, 0, 0, 0, 9400, 9377, 1, 0, 0, 0, 9400, 9401, - 1, 0, 0, 0, 9401, 1189, 1, 0, 0, 0, 9402, 9414, 3, 1192, 596, 0, 9403, - 9404, 7, 53, 0, 0, 9404, 9415, 3, 1192, 596, 0, 9405, 9406, 3, 1330, 665, - 0, 9406, 9412, 3, 1320, 660, 0, 9407, 9413, 3, 970, 485, 0, 9408, 9409, - 5, 2, 0, 0, 9409, 9410, 3, 1170, 585, 0, 9410, 9411, 5, 3, 0, 0, 9411, - 9413, 1, 0, 0, 0, 9412, 9407, 1, 0, 0, 0, 9412, 9408, 1, 0, 0, 0, 9413, - 9415, 1, 0, 0, 0, 9414, 9403, 1, 0, 0, 0, 9414, 9405, 1, 0, 0, 0, 9414, - 9415, 1, 0, 0, 0, 9415, 1191, 1, 0, 0, 0, 9416, 9430, 3, 1194, 597, 0, - 9417, 9419, 5, 77, 0, 0, 9418, 9417, 1, 0, 0, 0, 9418, 9419, 1, 0, 0, 0, - 9419, 9424, 1, 0, 0, 0, 9420, 9425, 5, 139, 0, 0, 9421, 9425, 5, 133, 0, - 0, 9422, 9423, 5, 146, 0, 0, 9423, 9425, 5, 94, 0, 0, 9424, 9420, 1, 0, - 0, 0, 9424, 9421, 1, 0, 0, 0, 9424, 9422, 1, 0, 0, 0, 9425, 9426, 1, 0, - 0, 0, 9426, 9428, 3, 1194, 597, 0, 9427, 9429, 3, 1168, 584, 0, 9428, 9427, - 1, 0, 0, 0, 9428, 9429, 1, 0, 0, 0, 9429, 9431, 1, 0, 0, 0, 9430, 9418, - 1, 0, 0, 0, 9430, 9431, 1, 0, 0, 0, 9431, 1193, 1, 0, 0, 0, 9432, 9438, - 3, 1196, 598, 0, 9433, 9434, 3, 1326, 663, 0, 9434, 9435, 3, 1196, 598, - 0, 9435, 9437, 1, 0, 0, 0, 9436, 9433, 1, 0, 0, 0, 9437, 9440, 1, 0, 0, - 0, 9438, 9436, 1, 0, 0, 0, 9438, 9439, 1, 0, 0, 0, 9439, 1195, 1, 0, 0, - 0, 9440, 9438, 1, 0, 0, 0, 9441, 9443, 3, 1326, 663, 0, 9442, 9441, 1, - 0, 0, 0, 9442, 9443, 1, 0, 0, 0, 9443, 9444, 1, 0, 0, 0, 9444, 9445, 3, - 1198, 599, 0, 9445, 1197, 1, 0, 0, 0, 9446, 9451, 3, 1200, 600, 0, 9447, - 9448, 7, 54, 0, 0, 9448, 9450, 3, 1200, 600, 0, 9449, 9447, 1, 0, 0, 0, - 9450, 9453, 1, 0, 0, 0, 9451, 9449, 1, 0, 0, 0, 9451, 9452, 1, 0, 0, 0, - 9452, 1199, 1, 0, 0, 0, 9453, 9451, 1, 0, 0, 0, 9454, 9459, 3, 1202, 601, - 0, 9455, 9456, 7, 55, 0, 0, 9456, 9458, 3, 1202, 601, 0, 9457, 9455, 1, - 0, 0, 0, 9458, 9461, 1, 0, 0, 0, 9459, 9457, 1, 0, 0, 0, 9459, 9460, 1, - 0, 0, 0, 9460, 1201, 1, 0, 0, 0, 9461, 9459, 1, 0, 0, 0, 9462, 9465, 3, - 1204, 602, 0, 9463, 9464, 5, 15, 0, 0, 9464, 9466, 3, 1170, 585, 0, 9465, - 9463, 1, 0, 0, 0, 9465, 9466, 1, 0, 0, 0, 9466, 1203, 1, 0, 0, 0, 9467, - 9469, 7, 54, 0, 0, 9468, 9467, 1, 0, 0, 0, 9468, 9469, 1, 0, 0, 0, 9469, - 9470, 1, 0, 0, 0, 9470, 9471, 3, 1206, 603, 0, 9471, 1205, 1, 0, 0, 0, - 9472, 9477, 3, 1208, 604, 0, 9473, 9474, 5, 161, 0, 0, 9474, 9475, 5, 432, - 0, 0, 9475, 9476, 5, 398, 0, 0, 9476, 9478, 3, 1170, 585, 0, 9477, 9473, - 1, 0, 0, 0, 9477, 9478, 1, 0, 0, 0, 9478, 1207, 1, 0, 0, 0, 9479, 9482, - 3, 1210, 605, 0, 9480, 9481, 5, 43, 0, 0, 9481, 9483, 3, 526, 263, 0, 9482, - 9480, 1, 0, 0, 0, 9482, 9483, 1, 0, 0, 0, 9483, 1209, 1, 0, 0, 0, 9484, - 9489, 3, 1214, 607, 0, 9485, 9486, 5, 26, 0, 0, 9486, 9488, 3, 1126, 563, - 0, 9487, 9485, 1, 0, 0, 0, 9488, 9491, 1, 0, 0, 0, 9489, 9487, 1, 0, 0, - 0, 9489, 9490, 1, 0, 0, 0, 9490, 1211, 1, 0, 0, 0, 9491, 9489, 1, 0, 0, - 0, 9492, 9493, 6, 606, -1, 0, 9493, 9500, 3, 1214, 607, 0, 9494, 9495, - 7, 54, 0, 0, 9495, 9500, 3, 1212, 606, 9, 9496, 9497, 3, 1326, 663, 0, - 9497, 9498, 3, 1212, 606, 3, 9498, 9500, 1, 0, 0, 0, 9499, 9492, 1, 0, - 0, 0, 9499, 9494, 1, 0, 0, 0, 9499, 9496, 1, 0, 0, 0, 9500, 9540, 1, 0, - 0, 0, 9501, 9502, 10, 8, 0, 0, 9502, 9503, 5, 15, 0, 0, 9503, 9539, 3, - 1212, 606, 9, 9504, 9505, 10, 7, 0, 0, 9505, 9506, 7, 55, 0, 0, 9506, 9539, - 3, 1212, 606, 8, 9507, 9508, 10, 6, 0, 0, 9508, 9509, 7, 54, 0, 0, 9509, - 9539, 3, 1212, 606, 7, 9510, 9511, 10, 5, 0, 0, 9511, 9512, 3, 1326, 663, - 0, 9512, 9513, 3, 1212, 606, 6, 9513, 9539, 1, 0, 0, 0, 9514, 9515, 10, - 4, 0, 0, 9515, 9516, 7, 53, 0, 0, 9516, 9539, 3, 1212, 606, 5, 9517, 9518, - 10, 10, 0, 0, 9518, 9519, 5, 26, 0, 0, 9519, 9539, 3, 1126, 563, 0, 9520, - 9521, 10, 2, 0, 0, 9521, 9539, 3, 1326, 663, 0, 9522, 9523, 10, 1, 0, 0, - 9523, 9525, 5, 135, 0, 0, 9524, 9526, 5, 77, 0, 0, 9525, 9524, 1, 0, 0, - 0, 9525, 9526, 1, 0, 0, 0, 9526, 9536, 1, 0, 0, 0, 9527, 9528, 5, 56, 0, - 0, 9528, 9529, 5, 64, 0, 0, 9529, 9537, 3, 1212, 606, 0, 9530, 9531, 5, - 287, 0, 0, 9531, 9532, 5, 2, 0, 0, 9532, 9533, 3, 1338, 669, 0, 9533, 9534, - 5, 3, 0, 0, 9534, 9537, 1, 0, 0, 0, 9535, 9537, 5, 207, 0, 0, 9536, 9527, - 1, 0, 0, 0, 9536, 9530, 1, 0, 0, 0, 9536, 9535, 1, 0, 0, 0, 9537, 9539, - 1, 0, 0, 0, 9538, 9501, 1, 0, 0, 0, 9538, 9504, 1, 0, 0, 0, 9538, 9507, - 1, 0, 0, 0, 9538, 9510, 1, 0, 0, 0, 9538, 9514, 1, 0, 0, 0, 9538, 9517, - 1, 0, 0, 0, 9538, 9520, 1, 0, 0, 0, 9538, 9522, 1, 0, 0, 0, 9539, 9542, - 1, 0, 0, 0, 9540, 9538, 1, 0, 0, 0, 9540, 9541, 1, 0, 0, 0, 9541, 1213, - 1, 0, 0, 0, 9542, 9540, 1, 0, 0, 0, 9543, 9544, 5, 409, 0, 0, 9544, 9580, - 3, 970, 485, 0, 9545, 9548, 5, 35, 0, 0, 9546, 9549, 3, 970, 485, 0, 9547, - 9549, 3, 1340, 670, 0, 9548, 9546, 1, 0, 0, 0, 9548, 9547, 1, 0, 0, 0, - 9549, 9580, 1, 0, 0, 0, 9550, 9551, 5, 28, 0, 0, 9551, 9580, 3, 1378, 689, - 0, 9552, 9553, 5, 491, 0, 0, 9553, 9554, 5, 2, 0, 0, 9554, 9555, 3, 1332, - 666, 0, 9555, 9556, 5, 3, 0, 0, 9556, 9580, 1, 0, 0, 0, 9557, 9558, 5, - 98, 0, 0, 9558, 9580, 3, 970, 485, 0, 9559, 9580, 3, 1370, 685, 0, 9560, - 9580, 3, 1402, 701, 0, 9561, 9580, 3, 1216, 608, 0, 9562, 9563, 5, 2, 0, - 0, 9563, 9564, 3, 1170, 585, 0, 9564, 9565, 5, 3, 0, 0, 9565, 9566, 3, - 1378, 689, 0, 9566, 9580, 1, 0, 0, 0, 9567, 9580, 3, 1360, 680, 0, 9568, - 9580, 3, 1220, 610, 0, 9569, 9571, 3, 970, 485, 0, 9570, 9572, 3, 1376, - 688, 0, 9571, 9570, 1, 0, 0, 0, 9571, 9572, 1, 0, 0, 0, 9572, 9580, 1, - 0, 0, 0, 9573, 9580, 3, 1316, 658, 0, 9574, 9580, 3, 1318, 659, 0, 9575, - 9576, 3, 1314, 657, 0, 9576, 9577, 5, 144, 0, 0, 9577, 9578, 3, 1314, 657, - 0, 9578, 9580, 1, 0, 0, 0, 9579, 9543, 1, 0, 0, 0, 9579, 9545, 1, 0, 0, - 0, 9579, 9550, 1, 0, 0, 0, 9579, 9552, 1, 0, 0, 0, 9579, 9557, 1, 0, 0, - 0, 9579, 9559, 1, 0, 0, 0, 9579, 9560, 1, 0, 0, 0, 9579, 9561, 1, 0, 0, - 0, 9579, 9562, 1, 0, 0, 0, 9579, 9567, 1, 0, 0, 0, 9579, 9568, 1, 0, 0, - 0, 9579, 9569, 1, 0, 0, 0, 9579, 9573, 1, 0, 0, 0, 9579, 9574, 1, 0, 0, - 0, 9579, 9575, 1, 0, 0, 0, 9580, 1215, 1, 0, 0, 0, 9581, 9582, 5, 689, - 0, 0, 9582, 1217, 1, 0, 0, 0, 9583, 9584, 3, 1400, 700, 0, 9584, 9606, - 5, 2, 0, 0, 9585, 9589, 3, 1334, 667, 0, 9586, 9587, 5, 6, 0, 0, 9587, - 9588, 5, 101, 0, 0, 9588, 9590, 3, 1336, 668, 0, 9589, 9586, 1, 0, 0, 0, - 9589, 9590, 1, 0, 0, 0, 9590, 9592, 1, 0, 0, 0, 9591, 9593, 3, 1004, 502, - 0, 9592, 9591, 1, 0, 0, 0, 9592, 9593, 1, 0, 0, 0, 9593, 9607, 1, 0, 0, - 0, 9594, 9595, 5, 101, 0, 0, 9595, 9597, 3, 1336, 668, 0, 9596, 9598, 3, - 1004, 502, 0, 9597, 9596, 1, 0, 0, 0, 9597, 9598, 1, 0, 0, 0, 9598, 9607, - 1, 0, 0, 0, 9599, 9600, 7, 43, 0, 0, 9600, 9602, 3, 1334, 667, 0, 9601, - 9603, 3, 1004, 502, 0, 9602, 9601, 1, 0, 0, 0, 9602, 9603, 1, 0, 0, 0, - 9603, 9607, 1, 0, 0, 0, 9604, 9607, 5, 9, 0, 0, 9605, 9607, 1, 0, 0, 0, - 9606, 9585, 1, 0, 0, 0, 9606, 9594, 1, 0, 0, 0, 9606, 9599, 1, 0, 0, 0, - 9606, 9604, 1, 0, 0, 0, 9606, 9605, 1, 0, 0, 0, 9607, 9608, 1, 0, 0, 0, - 9608, 9609, 5, 3, 0, 0, 9609, 1219, 1, 0, 0, 0, 9610, 9612, 3, 1218, 609, - 0, 9611, 9613, 3, 1288, 644, 0, 9612, 9611, 1, 0, 0, 0, 9612, 9613, 1, - 0, 0, 0, 9613, 9615, 1, 0, 0, 0, 9614, 9616, 3, 1290, 645, 0, 9615, 9614, - 1, 0, 0, 0, 9615, 9616, 1, 0, 0, 0, 9616, 9618, 1, 0, 0, 0, 9617, 9619, - 3, 1298, 649, 0, 9618, 9617, 1, 0, 0, 0, 9618, 9619, 1, 0, 0, 0, 9619, - 9629, 1, 0, 0, 0, 9620, 9622, 3, 1224, 612, 0, 9621, 9623, 3, 1290, 645, - 0, 9622, 9621, 1, 0, 0, 0, 9622, 9623, 1, 0, 0, 0, 9623, 9625, 1, 0, 0, - 0, 9624, 9626, 3, 1298, 649, 0, 9625, 9624, 1, 0, 0, 0, 9625, 9626, 1, - 0, 0, 0, 9626, 9629, 1, 0, 0, 0, 9627, 9629, 3, 1230, 615, 0, 9628, 9610, - 1, 0, 0, 0, 9628, 9620, 1, 0, 0, 0, 9628, 9627, 1, 0, 0, 0, 9629, 1221, - 1, 0, 0, 0, 9630, 9634, 3, 1218, 609, 0, 9631, 9634, 3, 1230, 615, 0, 9632, - 9634, 3, 1224, 612, 0, 9633, 9630, 1, 0, 0, 0, 9633, 9631, 1, 0, 0, 0, - 9633, 9632, 1, 0, 0, 0, 9634, 1223, 1, 0, 0, 0, 9635, 9636, 5, 663, 0, - 0, 9636, 9637, 5, 2, 0, 0, 9637, 9639, 3, 1264, 632, 0, 9638, 9640, 3, - 1260, 630, 0, 9639, 9638, 1, 0, 0, 0, 9639, 9640, 1, 0, 0, 0, 9640, 9642, - 1, 0, 0, 0, 9641, 9643, 3, 1256, 628, 0, 9642, 9641, 1, 0, 0, 0, 9642, - 9643, 1, 0, 0, 0, 9643, 9645, 1, 0, 0, 0, 9644, 9646, 3, 1226, 613, 0, - 9645, 9644, 1, 0, 0, 0, 9645, 9646, 1, 0, 0, 0, 9646, 9647, 1, 0, 0, 0, - 9647, 9648, 5, 3, 0, 0, 9648, 9664, 1, 0, 0, 0, 9649, 9650, 5, 662, 0, - 0, 9650, 9651, 5, 2, 0, 0, 9651, 9653, 3, 1266, 633, 0, 9652, 9654, 3, - 1228, 614, 0, 9653, 9652, 1, 0, 0, 0, 9653, 9654, 1, 0, 0, 0, 9654, 9656, - 1, 0, 0, 0, 9655, 9657, 3, 1258, 629, 0, 9656, 9655, 1, 0, 0, 0, 9656, - 9657, 1, 0, 0, 0, 9657, 9659, 1, 0, 0, 0, 9658, 9660, 3, 1226, 613, 0, - 9659, 9658, 1, 0, 0, 0, 9659, 9660, 1, 0, 0, 0, 9660, 9661, 1, 0, 0, 0, - 9661, 9662, 5, 3, 0, 0, 9662, 9664, 1, 0, 0, 0, 9663, 9635, 1, 0, 0, 0, - 9663, 9649, 1, 0, 0, 0, 9664, 1225, 1, 0, 0, 0, 9665, 9666, 5, 87, 0, 0, - 9666, 9668, 3, 1126, 563, 0, 9667, 9669, 3, 1268, 634, 0, 9668, 9667, 1, - 0, 0, 0, 9668, 9669, 1, 0, 0, 0, 9669, 1227, 1, 0, 0, 0, 9670, 9671, 5, - 83, 0, 0, 9671, 9672, 5, 166, 0, 0, 9672, 9673, 3, 1008, 504, 0, 9673, - 1229, 1, 0, 0, 0, 9674, 9675, 5, 127, 0, 0, 9675, 9676, 5, 62, 0, 0, 9676, - 9677, 5, 2, 0, 0, 9677, 9678, 3, 1170, 585, 0, 9678, 9679, 5, 3, 0, 0, - 9679, 9984, 1, 0, 0, 0, 9680, 9984, 5, 48, 0, 0, 9681, 9686, 5, 50, 0, - 0, 9682, 9683, 5, 2, 0, 0, 9683, 9684, 3, 1410, 705, 0, 9684, 9685, 5, - 3, 0, 0, 9685, 9687, 1, 0, 0, 0, 9686, 9682, 1, 0, 0, 0, 9686, 9687, 1, - 0, 0, 0, 9687, 9984, 1, 0, 0, 0, 9688, 9693, 5, 51, 0, 0, 9689, 9690, 5, - 2, 0, 0, 9690, 9691, 3, 1410, 705, 0, 9691, 9692, 5, 3, 0, 0, 9692, 9694, - 1, 0, 0, 0, 9693, 9689, 1, 0, 0, 0, 9693, 9694, 1, 0, 0, 0, 9694, 9984, - 1, 0, 0, 0, 9695, 9700, 5, 75, 0, 0, 9696, 9697, 5, 2, 0, 0, 9697, 9698, - 3, 1410, 705, 0, 9698, 9699, 5, 3, 0, 0, 9699, 9701, 1, 0, 0, 0, 9700, - 9696, 1, 0, 0, 0, 9700, 9701, 1, 0, 0, 0, 9701, 9984, 1, 0, 0, 0, 9702, - 9707, 5, 76, 0, 0, 9703, 9704, 5, 2, 0, 0, 9704, 9705, 3, 1410, 705, 0, - 9705, 9706, 5, 3, 0, 0, 9706, 9708, 1, 0, 0, 0, 9707, 9703, 1, 0, 0, 0, - 9707, 9708, 1, 0, 0, 0, 9708, 9984, 1, 0, 0, 0, 9709, 9984, 5, 49, 0, 0, - 9710, 9984, 5, 52, 0, 0, 9711, 9984, 5, 89, 0, 0, 9712, 9984, 5, 99, 0, - 0, 9713, 9984, 5, 47, 0, 0, 9714, 9984, 5, 130, 0, 0, 9715, 9716, 5, 41, - 0, 0, 9716, 9717, 5, 2, 0, 0, 9717, 9718, 3, 1170, 585, 0, 9718, 9719, - 5, 36, 0, 0, 9719, 9720, 3, 1126, 563, 0, 9720, 9721, 5, 3, 0, 0, 9721, - 9984, 1, 0, 0, 0, 9722, 9723, 5, 410, 0, 0, 9723, 9725, 5, 2, 0, 0, 9724, - 9726, 3, 1344, 672, 0, 9725, 9724, 1, 0, 0, 0, 9725, 9726, 1, 0, 0, 0, - 9726, 9727, 1, 0, 0, 0, 9727, 9984, 5, 3, 0, 0, 9728, 9729, 5, 510, 0, - 0, 9729, 9730, 5, 2, 0, 0, 9730, 9733, 3, 1170, 585, 0, 9731, 9732, 5, - 6, 0, 0, 9732, 9734, 3, 1348, 674, 0, 9733, 9731, 1, 0, 0, 0, 9733, 9734, - 1, 0, 0, 0, 9734, 9735, 1, 0, 0, 0, 9735, 9736, 5, 3, 0, 0, 9736, 9984, - 1, 0, 0, 0, 9737, 9738, 5, 423, 0, 0, 9738, 9739, 5, 2, 0, 0, 9739, 9740, - 3, 1350, 675, 0, 9740, 9741, 5, 3, 0, 0, 9741, 9984, 1, 0, 0, 0, 9742, - 9743, 5, 425, 0, 0, 9743, 9745, 5, 2, 0, 0, 9744, 9746, 3, 1352, 676, 0, - 9745, 9744, 1, 0, 0, 0, 9745, 9746, 1, 0, 0, 0, 9746, 9747, 1, 0, 0, 0, - 9747, 9984, 5, 3, 0, 0, 9748, 9749, 5, 431, 0, 0, 9749, 9750, 5, 2, 0, - 0, 9750, 9751, 3, 1354, 677, 0, 9751, 9752, 5, 3, 0, 0, 9752, 9984, 1, - 0, 0, 0, 9753, 9754, 5, 434, 0, 0, 9754, 9755, 5, 2, 0, 0, 9755, 9756, - 3, 1170, 585, 0, 9756, 9757, 5, 36, 0, 0, 9757, 9758, 3, 1126, 563, 0, - 9758, 9759, 5, 3, 0, 0, 9759, 9984, 1, 0, 0, 0, 9760, 9761, 5, 435, 0, - 0, 9761, 9763, 5, 2, 0, 0, 9762, 9764, 7, 56, 0, 0, 9763, 9762, 1, 0, 0, - 0, 9763, 9764, 1, 0, 0, 0, 9764, 9765, 1, 0, 0, 0, 9765, 9766, 3, 1356, - 678, 0, 9766, 9767, 5, 3, 0, 0, 9767, 9984, 1, 0, 0, 0, 9768, 9769, 5, - 421, 0, 0, 9769, 9770, 5, 2, 0, 0, 9770, 9771, 3, 1170, 585, 0, 9771, 9772, - 5, 6, 0, 0, 9772, 9773, 3, 1170, 585, 0, 9773, 9774, 5, 3, 0, 0, 9774, - 9984, 1, 0, 0, 0, 9775, 9776, 5, 406, 0, 0, 9776, 9777, 5, 2, 0, 0, 9777, - 9778, 3, 1332, 666, 0, 9778, 9779, 5, 3, 0, 0, 9779, 9984, 1, 0, 0, 0, - 9780, 9781, 5, 412, 0, 0, 9781, 9782, 5, 2, 0, 0, 9782, 9783, 3, 1332, - 666, 0, 9783, 9784, 5, 3, 0, 0, 9784, 9984, 1, 0, 0, 0, 9785, 9786, 5, - 417, 0, 0, 9786, 9787, 5, 2, 0, 0, 9787, 9788, 3, 1332, 666, 0, 9788, 9789, - 5, 3, 0, 0, 9789, 9984, 1, 0, 0, 0, 9790, 9791, 5, 446, 0, 0, 9791, 9792, - 5, 2, 0, 0, 9792, 9793, 3, 1332, 666, 0, 9793, 9794, 5, 3, 0, 0, 9794, - 9984, 1, 0, 0, 0, 9795, 9796, 5, 447, 0, 0, 9796, 9797, 5, 2, 0, 0, 9797, - 9798, 5, 278, 0, 0, 9798, 9804, 3, 1434, 717, 0, 9799, 9802, 5, 6, 0, 0, - 9800, 9803, 3, 1274, 637, 0, 9801, 9803, 3, 1332, 666, 0, 9802, 9800, 1, - 0, 0, 0, 9802, 9801, 1, 0, 0, 0, 9803, 9805, 1, 0, 0, 0, 9804, 9799, 1, - 0, 0, 0, 9804, 9805, 1, 0, 0, 0, 9805, 9806, 1, 0, 0, 0, 9806, 9807, 5, - 3, 0, 0, 9807, 9984, 1, 0, 0, 0, 9808, 9809, 5, 448, 0, 0, 9809, 9810, - 5, 2, 0, 0, 9810, 9811, 3, 1214, 607, 0, 9811, 9812, 3, 1284, 642, 0, 9812, - 9813, 5, 3, 0, 0, 9813, 9984, 1, 0, 0, 0, 9814, 9815, 5, 449, 0, 0, 9815, - 9816, 5, 2, 0, 0, 9816, 9817, 3, 1276, 638, 0, 9817, 9818, 5, 3, 0, 0, - 9818, 9984, 1, 0, 0, 0, 9819, 9820, 5, 450, 0, 0, 9820, 9821, 5, 2, 0, - 0, 9821, 9822, 3, 1280, 640, 0, 9822, 9824, 3, 1170, 585, 0, 9823, 9825, - 3, 1282, 641, 0, 9824, 9823, 1, 0, 0, 0, 9824, 9825, 1, 0, 0, 0, 9825, - 9826, 1, 0, 0, 0, 9826, 9827, 5, 3, 0, 0, 9827, 9984, 1, 0, 0, 0, 9828, - 9829, 5, 451, 0, 0, 9829, 9830, 5, 2, 0, 0, 9830, 9831, 5, 278, 0, 0, 9831, - 9834, 3, 1434, 717, 0, 9832, 9833, 5, 6, 0, 0, 9833, 9835, 3, 1170, 585, - 0, 9834, 9832, 1, 0, 0, 0, 9834, 9835, 1, 0, 0, 0, 9835, 9836, 1, 0, 0, - 0, 9836, 9837, 5, 3, 0, 0, 9837, 9984, 1, 0, 0, 0, 9838, 9839, 5, 452, - 0, 0, 9839, 9840, 5, 2, 0, 0, 9840, 9841, 5, 395, 0, 0, 9841, 9842, 3, - 1170, 585, 0, 9842, 9843, 5, 6, 0, 0, 9843, 9845, 3, 1270, 635, 0, 9844, - 9846, 3, 1272, 636, 0, 9845, 9844, 1, 0, 0, 0, 9845, 9846, 1, 0, 0, 0, - 9846, 9847, 1, 0, 0, 0, 9847, 9848, 5, 3, 0, 0, 9848, 9984, 1, 0, 0, 0, - 9849, 9850, 5, 453, 0, 0, 9850, 9851, 5, 2, 0, 0, 9851, 9852, 3, 1280, - 640, 0, 9852, 9853, 3, 1170, 585, 0, 9853, 9854, 5, 36, 0, 0, 9854, 9855, - 3, 1130, 565, 0, 9855, 9856, 5, 3, 0, 0, 9856, 9984, 1, 0, 0, 0, 9857, - 9858, 5, 106, 0, 0, 9858, 9859, 5, 2, 0, 0, 9859, 9860, 3, 1334, 667, 0, - 9860, 9861, 5, 3, 0, 0, 9861, 9984, 1, 0, 0, 0, 9862, 9863, 5, 106, 0, - 0, 9863, 9864, 5, 2, 0, 0, 9864, 9866, 3, 1262, 631, 0, 9865, 9867, 3, - 1260, 630, 0, 9866, 9865, 1, 0, 0, 0, 9866, 9867, 1, 0, 0, 0, 9867, 9869, - 1, 0, 0, 0, 9868, 9870, 3, 1256, 628, 0, 9869, 9868, 1, 0, 0, 0, 9869, - 9870, 1, 0, 0, 0, 9870, 9872, 1, 0, 0, 0, 9871, 9873, 3, 1254, 627, 0, - 9872, 9871, 1, 0, 0, 0, 9872, 9873, 1, 0, 0, 0, 9873, 9874, 1, 0, 0, 0, - 9874, 9875, 5, 3, 0, 0, 9875, 9984, 1, 0, 0, 0, 9876, 9877, 5, 106, 0, - 0, 9877, 9879, 5, 2, 0, 0, 9878, 9880, 3, 1254, 627, 0, 9879, 9878, 1, - 0, 0, 0, 9879, 9880, 1, 0, 0, 0, 9880, 9881, 1, 0, 0, 0, 9881, 9984, 5, - 3, 0, 0, 9882, 9883, 5, 107, 0, 0, 9883, 9884, 5, 2, 0, 0, 9884, 9886, - 3, 1252, 626, 0, 9885, 9887, 3, 1258, 629, 0, 9886, 9885, 1, 0, 0, 0, 9886, - 9887, 1, 0, 0, 0, 9887, 9889, 1, 0, 0, 0, 9888, 9890, 3, 1254, 627, 0, - 9889, 9888, 1, 0, 0, 0, 9889, 9890, 1, 0, 0, 0, 9890, 9891, 1, 0, 0, 0, - 9891, 9892, 5, 3, 0, 0, 9892, 9984, 1, 0, 0, 0, 9893, 9894, 5, 107, 0, - 0, 9894, 9895, 5, 2, 0, 0, 9895, 9897, 3, 972, 486, 0, 9896, 9898, 3, 1250, - 625, 0, 9897, 9896, 1, 0, 0, 0, 9897, 9898, 1, 0, 0, 0, 9898, 9900, 1, - 0, 0, 0, 9899, 9901, 3, 1254, 627, 0, 9900, 9899, 1, 0, 0, 0, 9900, 9901, - 1, 0, 0, 0, 9901, 9902, 1, 0, 0, 0, 9902, 9903, 5, 3, 0, 0, 9903, 9984, - 1, 0, 0, 0, 9904, 9905, 5, 107, 0, 0, 9905, 9907, 5, 2, 0, 0, 9906, 9908, - 3, 1254, 627, 0, 9907, 9906, 1, 0, 0, 0, 9907, 9908, 1, 0, 0, 0, 9908, - 9909, 1, 0, 0, 0, 9909, 9984, 5, 3, 0, 0, 9910, 9911, 5, 108, 0, 0, 9911, - 9912, 5, 2, 0, 0, 9912, 9914, 3, 1266, 633, 0, 9913, 9915, 3, 1256, 628, - 0, 9914, 9913, 1, 0, 0, 0, 9914, 9915, 1, 0, 0, 0, 9915, 9916, 1, 0, 0, - 0, 9916, 9917, 5, 3, 0, 0, 9917, 9984, 1, 0, 0, 0, 9918, 9919, 5, 109, - 0, 0, 9919, 9920, 5, 2, 0, 0, 9920, 9921, 3, 1170, 585, 0, 9921, 9922, - 5, 3, 0, 0, 9922, 9984, 1, 0, 0, 0, 9923, 9924, 5, 110, 0, 0, 9924, 9925, - 5, 2, 0, 0, 9925, 9927, 3, 1266, 633, 0, 9926, 9928, 3, 1254, 627, 0, 9927, - 9926, 1, 0, 0, 0, 9927, 9928, 1, 0, 0, 0, 9928, 9929, 1, 0, 0, 0, 9929, - 9930, 5, 3, 0, 0, 9930, 9984, 1, 0, 0, 0, 9931, 9932, 5, 111, 0, 0, 9932, - 9933, 5, 2, 0, 0, 9933, 9984, 5, 3, 0, 0, 9934, 9935, 5, 112, 0, 0, 9935, - 9936, 5, 2, 0, 0, 9936, 9937, 3, 1266, 633, 0, 9937, 9938, 5, 6, 0, 0, - 9938, 9940, 3, 1170, 585, 0, 9939, 9941, 3, 1244, 622, 0, 9940, 9939, 1, - 0, 0, 0, 9940, 9941, 1, 0, 0, 0, 9941, 9943, 1, 0, 0, 0, 9942, 9944, 3, - 1254, 627, 0, 9943, 9942, 1, 0, 0, 0, 9943, 9944, 1, 0, 0, 0, 9944, 9945, - 1, 0, 0, 0, 9945, 9947, 3, 1242, 621, 0, 9946, 9948, 3, 1240, 620, 0, 9947, - 9946, 1, 0, 0, 0, 9947, 9948, 1, 0, 0, 0, 9948, 9950, 1, 0, 0, 0, 9949, - 9951, 3, 1234, 617, 0, 9950, 9949, 1, 0, 0, 0, 9950, 9951, 1, 0, 0, 0, - 9951, 9952, 1, 0, 0, 0, 9952, 9953, 5, 3, 0, 0, 9953, 9984, 1, 0, 0, 0, - 9954, 9955, 5, 113, 0, 0, 9955, 9956, 5, 2, 0, 0, 9956, 9957, 3, 1266, - 633, 0, 9957, 9958, 5, 6, 0, 0, 9958, 9960, 3, 1170, 585, 0, 9959, 9961, - 3, 1244, 622, 0, 9960, 9959, 1, 0, 0, 0, 9960, 9961, 1, 0, 0, 0, 9961, - 9963, 1, 0, 0, 0, 9962, 9964, 3, 1232, 616, 0, 9963, 9962, 1, 0, 0, 0, - 9963, 9964, 1, 0, 0, 0, 9964, 9965, 1, 0, 0, 0, 9965, 9966, 5, 3, 0, 0, - 9966, 9984, 1, 0, 0, 0, 9967, 9968, 5, 114, 0, 0, 9968, 9969, 5, 2, 0, - 0, 9969, 9970, 3, 1266, 633, 0, 9970, 9971, 5, 6, 0, 0, 9971, 9973, 3, - 1170, 585, 0, 9972, 9974, 3, 1244, 622, 0, 9973, 9972, 1, 0, 0, 0, 9973, - 9974, 1, 0, 0, 0, 9974, 9976, 1, 0, 0, 0, 9975, 9977, 3, 1254, 627, 0, - 9976, 9975, 1, 0, 0, 0, 9976, 9977, 1, 0, 0, 0, 9977, 9979, 1, 0, 0, 0, - 9978, 9980, 3, 1234, 617, 0, 9979, 9978, 1, 0, 0, 0, 9979, 9980, 1, 0, - 0, 0, 9980, 9981, 1, 0, 0, 0, 9981, 9982, 5, 3, 0, 0, 9982, 9984, 1, 0, - 0, 0, 9983, 9674, 1, 0, 0, 0, 9983, 9680, 1, 0, 0, 0, 9983, 9681, 1, 0, - 0, 0, 9983, 9688, 1, 0, 0, 0, 9983, 9695, 1, 0, 0, 0, 9983, 9702, 1, 0, - 0, 0, 9983, 9709, 1, 0, 0, 0, 9983, 9710, 1, 0, 0, 0, 9983, 9711, 1, 0, - 0, 0, 9983, 9712, 1, 0, 0, 0, 9983, 9713, 1, 0, 0, 0, 9983, 9714, 1, 0, - 0, 0, 9983, 9715, 1, 0, 0, 0, 9983, 9722, 1, 0, 0, 0, 9983, 9728, 1, 0, - 0, 0, 9983, 9737, 1, 0, 0, 0, 9983, 9742, 1, 0, 0, 0, 9983, 9748, 1, 0, - 0, 0, 9983, 9753, 1, 0, 0, 0, 9983, 9760, 1, 0, 0, 0, 9983, 9768, 1, 0, - 0, 0, 9983, 9775, 1, 0, 0, 0, 9983, 9780, 1, 0, 0, 0, 9983, 9785, 1, 0, - 0, 0, 9983, 9790, 1, 0, 0, 0, 9983, 9795, 1, 0, 0, 0, 9983, 9808, 1, 0, - 0, 0, 9983, 9814, 1, 0, 0, 0, 9983, 9819, 1, 0, 0, 0, 9983, 9828, 1, 0, - 0, 0, 9983, 9838, 1, 0, 0, 0, 9983, 9849, 1, 0, 0, 0, 9983, 9857, 1, 0, - 0, 0, 9983, 9862, 1, 0, 0, 0, 9983, 9876, 1, 0, 0, 0, 9983, 9882, 1, 0, - 0, 0, 9983, 9893, 1, 0, 0, 0, 9983, 9904, 1, 0, 0, 0, 9983, 9910, 1, 0, - 0, 0, 9983, 9918, 1, 0, 0, 0, 9983, 9923, 1, 0, 0, 0, 9983, 9931, 1, 0, - 0, 0, 9983, 9934, 1, 0, 0, 0, 9983, 9954, 1, 0, 0, 0, 9983, 9967, 1, 0, - 0, 0, 9984, 1231, 1, 0, 0, 0, 9985, 9986, 3, 1236, 618, 0, 9986, 9987, - 5, 80, 0, 0, 9987, 9988, 5, 514, 0, 0, 9988, 1233, 1, 0, 0, 0, 9989, 9990, - 3, 1236, 618, 0, 9990, 9991, 5, 80, 0, 0, 9991, 9992, 5, 115, 0, 0, 9992, - 10005, 1, 0, 0, 0, 9993, 9994, 3, 1236, 618, 0, 9994, 9995, 5, 80, 0, 0, - 9995, 9996, 5, 514, 0, 0, 9996, 10005, 1, 0, 0, 0, 9997, 9998, 3, 1236, - 618, 0, 9998, 9999, 5, 80, 0, 0, 9999, 10000, 5, 115, 0, 0, 10000, 10001, - 3, 1236, 618, 0, 10001, 10002, 5, 80, 0, 0, 10002, 10003, 5, 514, 0, 0, - 10003, 10005, 1, 0, 0, 0, 10004, 9989, 1, 0, 0, 0, 10004, 9993, 1, 0, 0, - 0, 10004, 9997, 1, 0, 0, 0, 10005, 1235, 1, 0, 0, 0, 10006, 10007, 5, 53, - 0, 0, 10007, 10010, 3, 1170, 585, 0, 10008, 10010, 3, 1238, 619, 0, 10009, - 10006, 1, 0, 0, 0, 10009, 10008, 1, 0, 0, 0, 10010, 1237, 1, 0, 0, 0, 10011, - 10022, 5, 514, 0, 0, 10012, 10022, 5, 78, 0, 0, 10013, 10022, 5, 96, 0, - 0, 10014, 10022, 5, 60, 0, 0, 10015, 10022, 5, 377, 0, 0, 10016, 10017, - 5, 115, 0, 0, 10017, 10022, 5, 35, 0, 0, 10018, 10019, 5, 115, 0, 0, 10019, - 10022, 5, 286, 0, 0, 10020, 10022, 5, 115, 0, 0, 10021, 10011, 1, 0, 0, - 0, 10021, 10012, 1, 0, 0, 0, 10021, 10013, 1, 0, 0, 0, 10021, 10014, 1, - 0, 0, 0, 10021, 10015, 1, 0, 0, 0, 10021, 10016, 1, 0, 0, 0, 10021, 10018, - 1, 0, 0, 0, 10021, 10020, 1, 0, 0, 0, 10022, 1239, 1, 0, 0, 0, 10023, 10024, - 7, 57, 0, 0, 10024, 10025, 5, 124, 0, 0, 10025, 10026, 5, 80, 0, 0, 10026, - 10027, 5, 118, 0, 0, 10027, 10028, 5, 119, 0, 0, 10028, 1241, 1, 0, 0, - 0, 10029, 10031, 5, 391, 0, 0, 10030, 10032, 5, 35, 0, 0, 10031, 10030, - 1, 0, 0, 0, 10031, 10032, 1, 0, 0, 0, 10032, 10033, 1, 0, 0, 0, 10033, - 10043, 5, 393, 0, 0, 10034, 10036, 5, 105, 0, 0, 10035, 10037, 7, 58, 0, - 0, 10036, 10035, 1, 0, 0, 0, 10036, 10037, 1, 0, 0, 0, 10037, 10039, 1, - 0, 0, 0, 10038, 10040, 5, 35, 0, 0, 10039, 10038, 1, 0, 0, 0, 10039, 10040, - 1, 0, 0, 0, 10040, 10041, 1, 0, 0, 0, 10041, 10043, 5, 393, 0, 0, 10042, - 10029, 1, 0, 0, 0, 10042, 10034, 1, 0, 0, 0, 10043, 1243, 1, 0, 0, 0, 10044, - 10045, 5, 298, 0, 0, 10045, 10046, 3, 1246, 623, 0, 10046, 1245, 1, 0, - 0, 0, 10047, 10052, 3, 1248, 624, 0, 10048, 10049, 5, 6, 0, 0, 10049, 10051, - 3, 1248, 624, 0, 10050, 10048, 1, 0, 0, 0, 10051, 10054, 1, 0, 0, 0, 10052, - 10050, 1, 0, 0, 0, 10052, 10053, 1, 0, 0, 0, 10053, 1247, 1, 0, 0, 0, 10054, - 10052, 1, 0, 0, 0, 10055, 10056, 3, 1266, 633, 0, 10056, 10057, 5, 36, - 0, 0, 10057, 10058, 3, 1434, 717, 0, 10058, 1249, 1, 0, 0, 0, 10059, 10060, - 5, 602, 0, 0, 10060, 10061, 5, 108, 0, 0, 10061, 10062, 5, 213, 0, 0, 10062, - 10066, 3, 1394, 697, 0, 10063, 10064, 5, 602, 0, 0, 10064, 10066, 5, 108, - 0, 0, 10065, 10059, 1, 0, 0, 0, 10065, 10063, 1, 0, 0, 0, 10066, 1251, - 1, 0, 0, 0, 10067, 10072, 3, 1266, 633, 0, 10068, 10069, 5, 6, 0, 0, 10069, - 10071, 3, 1266, 633, 0, 10070, 10068, 1, 0, 0, 0, 10071, 10074, 1, 0, 0, - 0, 10072, 10070, 1, 0, 0, 0, 10072, 10073, 1, 0, 0, 0, 10073, 1253, 1, - 0, 0, 0, 10074, 10072, 1, 0, 0, 0, 10075, 10076, 5, 87, 0, 0, 10076, 10078, - 3, 1126, 563, 0, 10077, 10079, 3, 1268, 634, 0, 10078, 10077, 1, 0, 0, - 0, 10078, 10079, 1, 0, 0, 0, 10079, 1255, 1, 0, 0, 0, 10080, 10081, 5, - 105, 0, 0, 10081, 10083, 5, 98, 0, 0, 10082, 10084, 5, 122, 0, 0, 10083, - 10082, 1, 0, 0, 0, 10083, 10084, 1, 0, 0, 0, 10084, 10091, 1, 0, 0, 0, - 10085, 10086, 5, 391, 0, 0, 10086, 10088, 5, 98, 0, 0, 10087, 10089, 5, - 122, 0, 0, 10088, 10087, 1, 0, 0, 0, 10088, 10089, 1, 0, 0, 0, 10089, 10091, - 1, 0, 0, 0, 10090, 10080, 1, 0, 0, 0, 10090, 10085, 1, 0, 0, 0, 10091, - 1257, 1, 0, 0, 0, 10092, 10093, 5, 78, 0, 0, 10093, 10094, 5, 80, 0, 0, - 10094, 10099, 5, 78, 0, 0, 10095, 10096, 5, 123, 0, 0, 10096, 10097, 5, - 80, 0, 0, 10097, 10099, 5, 78, 0, 0, 10098, 10092, 1, 0, 0, 0, 10098, 10095, - 1, 0, 0, 0, 10099, 1259, 1, 0, 0, 0, 10100, 10101, 5, 78, 0, 0, 10101, - 10102, 5, 80, 0, 0, 10102, 10107, 5, 78, 0, 0, 10103, 10104, 5, 123, 0, - 0, 10104, 10105, 5, 80, 0, 0, 10105, 10107, 5, 78, 0, 0, 10106, 10100, - 1, 0, 0, 0, 10106, 10103, 1, 0, 0, 0, 10107, 1261, 1, 0, 0, 0, 10108, 10113, - 3, 1264, 632, 0, 10109, 10110, 5, 6, 0, 0, 10110, 10112, 3, 1264, 632, - 0, 10111, 10109, 1, 0, 0, 0, 10112, 10115, 1, 0, 0, 0, 10113, 10111, 1, - 0, 0, 0, 10113, 10114, 1, 0, 0, 0, 10114, 1263, 1, 0, 0, 0, 10115, 10113, - 1, 0, 0, 0, 10116, 10117, 3, 1214, 607, 0, 10117, 10118, 5, 471, 0, 0, - 10118, 10119, 3, 1266, 633, 0, 10119, 10125, 1, 0, 0, 0, 10120, 10121, - 3, 1170, 585, 0, 10121, 10122, 5, 8, 0, 0, 10122, 10123, 3, 1266, 633, - 0, 10123, 10125, 1, 0, 0, 0, 10124, 10116, 1, 0, 0, 0, 10124, 10120, 1, - 0, 0, 0, 10125, 1265, 1, 0, 0, 0, 10126, 10128, 3, 1170, 585, 0, 10127, - 10129, 3, 1268, 634, 0, 10128, 10127, 1, 0, 0, 0, 10128, 10129, 1, 0, 0, - 0, 10129, 1267, 1, 0, 0, 0, 10130, 10131, 5, 602, 0, 0, 10131, 10132, 5, - 108, 0, 0, 10132, 10133, 5, 213, 0, 0, 10133, 10137, 3, 1394, 697, 0, 10134, - 10135, 5, 602, 0, 0, 10135, 10137, 5, 108, 0, 0, 10136, 10130, 1, 0, 0, - 0, 10136, 10134, 1, 0, 0, 0, 10137, 1269, 1, 0, 0, 0, 10138, 10139, 5, - 387, 0, 0, 10139, 10144, 3, 1170, 585, 0, 10140, 10141, 5, 387, 0, 0, 10141, - 10142, 5, 281, 0, 0, 10142, 10144, 5, 471, 0, 0, 10143, 10138, 1, 0, 0, - 0, 10143, 10140, 1, 0, 0, 0, 10144, 1271, 1, 0, 0, 0, 10145, 10146, 5, - 6, 0, 0, 10146, 10147, 5, 351, 0, 0, 10147, 10156, 5, 397, 0, 0, 10148, - 10149, 5, 6, 0, 0, 10149, 10150, 5, 351, 0, 0, 10150, 10156, 5, 281, 0, - 0, 10151, 10152, 5, 6, 0, 0, 10152, 10153, 5, 351, 0, 0, 10153, 10154, - 5, 281, 0, 0, 10154, 10156, 5, 471, 0, 0, 10155, 10145, 1, 0, 0, 0, 10155, - 10148, 1, 0, 0, 0, 10155, 10151, 1, 0, 0, 0, 10156, 1273, 1, 0, 0, 0, 10157, - 10158, 5, 438, 0, 0, 10158, 10159, 5, 2, 0, 0, 10159, 10160, 3, 1276, 638, - 0, 10160, 10161, 5, 3, 0, 0, 10161, 1275, 1, 0, 0, 0, 10162, 10167, 3, - 1278, 639, 0, 10163, 10164, 5, 6, 0, 0, 10164, 10166, 3, 1278, 639, 0, - 10165, 10163, 1, 0, 0, 0, 10166, 10169, 1, 0, 0, 0, 10167, 10165, 1, 0, - 0, 0, 10167, 10168, 1, 0, 0, 0, 10168, 1277, 1, 0, 0, 0, 10169, 10167, - 1, 0, 0, 0, 10170, 10173, 3, 1170, 585, 0, 10171, 10172, 5, 36, 0, 0, 10172, - 10174, 3, 1434, 717, 0, 10173, 10171, 1, 0, 0, 0, 10173, 10174, 1, 0, 0, - 0, 10174, 1279, 1, 0, 0, 0, 10175, 10176, 7, 59, 0, 0, 10176, 1281, 1, - 0, 0, 0, 10177, 10178, 5, 304, 0, 0, 10178, 10182, 5, 390, 0, 0, 10179, - 10180, 5, 359, 0, 0, 10180, 10182, 5, 390, 0, 0, 10181, 10177, 1, 0, 0, - 0, 10181, 10179, 1, 0, 0, 0, 10182, 1283, 1, 0, 0, 0, 10183, 10184, 5, - 298, 0, 0, 10184, 10199, 3, 1214, 607, 0, 10185, 10186, 5, 298, 0, 0, 10186, - 10187, 3, 1214, 607, 0, 10187, 10188, 3, 1286, 643, 0, 10188, 10199, 1, - 0, 0, 0, 10189, 10190, 5, 298, 0, 0, 10190, 10191, 3, 1286, 643, 0, 10191, - 10192, 3, 1214, 607, 0, 10192, 10199, 1, 0, 0, 0, 10193, 10194, 5, 298, - 0, 0, 10194, 10195, 3, 1286, 643, 0, 10195, 10196, 3, 1214, 607, 0, 10196, - 10197, 3, 1286, 643, 0, 10197, 10199, 1, 0, 0, 0, 10198, 10183, 1, 0, 0, - 0, 10198, 10185, 1, 0, 0, 0, 10198, 10189, 1, 0, 0, 0, 10198, 10193, 1, - 0, 0, 0, 10199, 1285, 1, 0, 0, 0, 10200, 10201, 5, 166, 0, 0, 10201, 10202, - 7, 60, 0, 0, 10202, 1287, 1, 0, 0, 0, 10203, 10204, 5, 500, 0, 0, 10204, - 10205, 5, 66, 0, 0, 10205, 10206, 5, 2, 0, 0, 10206, 10207, 3, 1006, 503, - 0, 10207, 10208, 5, 3, 0, 0, 10208, 1289, 1, 0, 0, 0, 10209, 10210, 5, - 501, 0, 0, 10210, 10211, 5, 2, 0, 0, 10211, 10212, 5, 103, 0, 0, 10212, - 10213, 3, 1170, 585, 0, 10213, 10214, 5, 3, 0, 0, 10214, 1291, 1, 0, 0, - 0, 10215, 10216, 5, 104, 0, 0, 10216, 10217, 3, 1294, 647, 0, 10217, 1293, - 1, 0, 0, 0, 10218, 10223, 3, 1296, 648, 0, 10219, 10220, 5, 6, 0, 0, 10220, - 10222, 3, 1296, 648, 0, 10221, 10219, 1, 0, 0, 0, 10222, 10225, 1, 0, 0, - 0, 10223, 10221, 1, 0, 0, 0, 10223, 10224, 1, 0, 0, 0, 10224, 1295, 1, - 0, 0, 0, 10225, 10223, 1, 0, 0, 0, 10226, 10227, 3, 1426, 713, 0, 10227, - 10228, 5, 36, 0, 0, 10228, 10229, 3, 1300, 650, 0, 10229, 1297, 1, 0, 0, - 0, 10230, 10233, 5, 143, 0, 0, 10231, 10234, 3, 1300, 650, 0, 10232, 10234, - 3, 1426, 713, 0, 10233, 10231, 1, 0, 0, 0, 10233, 10232, 1, 0, 0, 0, 10234, - 1299, 1, 0, 0, 0, 10235, 10237, 5, 2, 0, 0, 10236, 10238, 3, 1302, 651, - 0, 10237, 10236, 1, 0, 0, 0, 10237, 10238, 1, 0, 0, 0, 10238, 10240, 1, - 0, 0, 0, 10239, 10241, 3, 1304, 652, 0, 10240, 10239, 1, 0, 0, 0, 10240, - 10241, 1, 0, 0, 0, 10241, 10243, 1, 0, 0, 0, 10242, 10244, 3, 1004, 502, - 0, 10243, 10242, 1, 0, 0, 0, 10243, 10244, 1, 0, 0, 0, 10244, 10246, 1, - 0, 0, 0, 10245, 10247, 3, 1306, 653, 0, 10246, 10245, 1, 0, 0, 0, 10246, - 10247, 1, 0, 0, 0, 10247, 10248, 1, 0, 0, 0, 10248, 10249, 5, 3, 0, 0, - 10249, 1301, 1, 0, 0, 0, 10250, 10251, 3, 1426, 713, 0, 10251, 1303, 1, - 0, 0, 0, 10252, 10253, 5, 297, 0, 0, 10253, 10254, 5, 166, 0, 0, 10254, - 10255, 3, 1332, 666, 0, 10255, 1305, 1, 0, 0, 0, 10256, 10257, 5, 311, - 0, 0, 10257, 10259, 3, 1308, 654, 0, 10258, 10260, 3, 1312, 656, 0, 10259, - 10258, 1, 0, 0, 0, 10259, 10260, 1, 0, 0, 0, 10260, 10272, 1, 0, 0, 0, - 10261, 10262, 5, 332, 0, 0, 10262, 10264, 3, 1308, 654, 0, 10263, 10265, - 3, 1312, 656, 0, 10264, 10263, 1, 0, 0, 0, 10264, 10265, 1, 0, 0, 0, 10265, - 10272, 1, 0, 0, 0, 10266, 10267, 5, 502, 0, 0, 10267, 10269, 3, 1308, 654, - 0, 10268, 10270, 3, 1312, 656, 0, 10269, 10268, 1, 0, 0, 0, 10269, 10270, - 1, 0, 0, 0, 10270, 10272, 1, 0, 0, 0, 10271, 10256, 1, 0, 0, 0, 10271, - 10261, 1, 0, 0, 0, 10271, 10266, 1, 0, 0, 0, 10272, 1307, 1, 0, 0, 0, 10273, - 10280, 3, 1310, 655, 0, 10274, 10275, 5, 400, 0, 0, 10275, 10276, 3, 1310, - 655, 0, 10276, 10277, 5, 33, 0, 0, 10277, 10278, 3, 1310, 655, 0, 10278, - 10280, 1, 0, 0, 0, 10279, 10273, 1, 0, 0, 0, 10279, 10274, 1, 0, 0, 0, - 10280, 1309, 1, 0, 0, 0, 10281, 10282, 5, 374, 0, 0, 10282, 10289, 7, 61, - 0, 0, 10283, 10284, 5, 455, 0, 0, 10284, 10289, 5, 428, 0, 0, 10285, 10286, - 3, 1170, 585, 0, 10286, 10287, 7, 61, 0, 0, 10287, 10289, 1, 0, 0, 0, 10288, - 10281, 1, 0, 0, 0, 10288, 10283, 1, 0, 0, 0, 10288, 10285, 1, 0, 0, 0, - 10289, 1311, 1, 0, 0, 0, 10290, 10297, 5, 218, 0, 0, 10291, 10292, 5, 455, - 0, 0, 10292, 10298, 5, 428, 0, 0, 10293, 10298, 5, 66, 0, 0, 10294, 10298, - 5, 488, 0, 0, 10295, 10296, 5, 281, 0, 0, 10296, 10298, 5, 503, 0, 0, 10297, - 10291, 1, 0, 0, 0, 10297, 10293, 1, 0, 0, 0, 10297, 10294, 1, 0, 0, 0, - 10297, 10295, 1, 0, 0, 0, 10298, 1313, 1, 0, 0, 0, 10299, 10300, 5, 428, - 0, 0, 10300, 10302, 5, 2, 0, 0, 10301, 10303, 3, 1332, 666, 0, 10302, 10301, - 1, 0, 0, 0, 10302, 10303, 1, 0, 0, 0, 10303, 10304, 1, 0, 0, 0, 10304, - 10312, 5, 3, 0, 0, 10305, 10306, 5, 2, 0, 0, 10306, 10307, 3, 1332, 666, - 0, 10307, 10308, 5, 6, 0, 0, 10308, 10309, 3, 1170, 585, 0, 10309, 10310, - 5, 3, 0, 0, 10310, 10312, 1, 0, 0, 0, 10311, 10299, 1, 0, 0, 0, 10311, - 10305, 1, 0, 0, 0, 10312, 1315, 1, 0, 0, 0, 10313, 10314, 5, 428, 0, 0, - 10314, 10316, 5, 2, 0, 0, 10315, 10317, 3, 1332, 666, 0, 10316, 10315, - 1, 0, 0, 0, 10316, 10317, 1, 0, 0, 0, 10317, 10318, 1, 0, 0, 0, 10318, - 10319, 5, 3, 0, 0, 10319, 1317, 1, 0, 0, 0, 10320, 10321, 5, 2, 0, 0, 10321, - 10322, 3, 1332, 666, 0, 10322, 10323, 5, 6, 0, 0, 10323, 10324, 3, 1170, - 585, 0, 10324, 10325, 5, 3, 0, 0, 10325, 1319, 1, 0, 0, 0, 10326, 10327, - 7, 62, 0, 0, 10327, 1321, 1, 0, 0, 0, 10328, 10331, 5, 29, 0, 0, 10329, - 10331, 3, 1324, 662, 0, 10330, 10328, 1, 0, 0, 0, 10330, 10329, 1, 0, 0, - 0, 10331, 1323, 1, 0, 0, 0, 10332, 10333, 7, 63, 0, 0, 10333, 1325, 1, - 0, 0, 0, 10334, 10341, 5, 29, 0, 0, 10335, 10336, 5, 290, 0, 0, 10336, - 10337, 5, 2, 0, 0, 10337, 10338, 3, 690, 345, 0, 10338, 10339, 5, 3, 0, - 0, 10339, 10341, 1, 0, 0, 0, 10340, 10334, 1, 0, 0, 0, 10340, 10335, 1, - 0, 0, 0, 10341, 1327, 1, 0, 0, 0, 10342, 10349, 3, 1322, 661, 0, 10343, - 10344, 5, 290, 0, 0, 10344, 10345, 5, 2, 0, 0, 10345, 10346, 3, 690, 345, - 0, 10346, 10347, 5, 3, 0, 0, 10347, 10349, 1, 0, 0, 0, 10348, 10342, 1, - 0, 0, 0, 10348, 10343, 1, 0, 0, 0, 10349, 1329, 1, 0, 0, 0, 10350, 10363, - 3, 1322, 661, 0, 10351, 10352, 5, 290, 0, 0, 10352, 10353, 5, 2, 0, 0, - 10353, 10354, 3, 690, 345, 0, 10354, 10355, 5, 3, 0, 0, 10355, 10363, 1, - 0, 0, 0, 10356, 10363, 5, 139, 0, 0, 10357, 10358, 5, 77, 0, 0, 10358, - 10363, 5, 139, 0, 0, 10359, 10363, 5, 133, 0, 0, 10360, 10361, 5, 77, 0, - 0, 10361, 10363, 5, 133, 0, 0, 10362, 10350, 1, 0, 0, 0, 10362, 10351, - 1, 0, 0, 0, 10362, 10356, 1, 0, 0, 0, 10362, 10357, 1, 0, 0, 0, 10362, - 10359, 1, 0, 0, 0, 10362, 10360, 1, 0, 0, 0, 10363, 1331, 1, 0, 0, 0, 10364, - 10369, 3, 1170, 585, 0, 10365, 10366, 5, 6, 0, 0, 10366, 10368, 3, 1170, - 585, 0, 10367, 10365, 1, 0, 0, 0, 10368, 10371, 1, 0, 0, 0, 10369, 10367, - 1, 0, 0, 0, 10369, 10370, 1, 0, 0, 0, 10370, 1333, 1, 0, 0, 0, 10371, 10369, - 1, 0, 0, 0, 10372, 10377, 3, 1336, 668, 0, 10373, 10374, 5, 6, 0, 0, 10374, - 10376, 3, 1336, 668, 0, 10375, 10373, 1, 0, 0, 0, 10376, 10379, 1, 0, 0, - 0, 10377, 10375, 1, 0, 0, 0, 10377, 10378, 1, 0, 0, 0, 10378, 1335, 1, - 0, 0, 0, 10379, 10377, 1, 0, 0, 0, 10380, 10386, 3, 1170, 585, 0, 10381, - 10382, 3, 642, 321, 0, 10382, 10383, 7, 64, 0, 0, 10383, 10384, 3, 1170, - 585, 0, 10384, 10386, 1, 0, 0, 0, 10385, 10380, 1, 0, 0, 0, 10385, 10381, - 1, 0, 0, 0, 10386, 1337, 1, 0, 0, 0, 10387, 10392, 3, 1126, 563, 0, 10388, - 10389, 5, 6, 0, 0, 10389, 10391, 3, 1126, 563, 0, 10390, 10388, 1, 0, 0, - 0, 10391, 10394, 1, 0, 0, 0, 10392, 10390, 1, 0, 0, 0, 10392, 10393, 1, - 0, 0, 0, 10393, 1339, 1, 0, 0, 0, 10394, 10392, 1, 0, 0, 0, 10395, 10398, - 5, 4, 0, 0, 10396, 10399, 3, 1332, 666, 0, 10397, 10399, 3, 1342, 671, - 0, 10398, 10396, 1, 0, 0, 0, 10398, 10397, 1, 0, 0, 0, 10398, 10399, 1, - 0, 0, 0, 10399, 10400, 1, 0, 0, 0, 10400, 10401, 5, 5, 0, 0, 10401, 1341, - 1, 0, 0, 0, 10402, 10407, 3, 1340, 670, 0, 10403, 10404, 5, 6, 0, 0, 10404, - 10406, 3, 1340, 670, 0, 10405, 10403, 1, 0, 0, 0, 10406, 10409, 1, 0, 0, - 0, 10407, 10405, 1, 0, 0, 0, 10407, 10408, 1, 0, 0, 0, 10408, 1343, 1, - 0, 0, 0, 10409, 10407, 1, 0, 0, 0, 10410, 10411, 3, 1346, 673, 0, 10411, - 10412, 5, 64, 0, 0, 10412, 10413, 3, 1170, 585, 0, 10413, 1345, 1, 0, 0, - 0, 10414, 10423, 3, 1436, 718, 0, 10415, 10423, 5, 396, 0, 0, 10416, 10423, - 5, 276, 0, 0, 10417, 10423, 5, 195, 0, 0, 10418, 10423, 5, 237, 0, 0, 10419, - 10423, 5, 273, 0, 0, 10420, 10423, 5, 338, 0, 0, 10421, 10423, 3, 1412, - 706, 0, 10422, 10414, 1, 0, 0, 0, 10422, 10415, 1, 0, 0, 0, 10422, 10416, - 1, 0, 0, 0, 10422, 10417, 1, 0, 0, 0, 10422, 10418, 1, 0, 0, 0, 10422, - 10419, 1, 0, 0, 0, 10422, 10420, 1, 0, 0, 0, 10422, 10421, 1, 0, 0, 0, - 10423, 1347, 1, 0, 0, 0, 10424, 10425, 7, 65, 0, 0, 10425, 1349, 1, 0, - 0, 0, 10426, 10427, 3, 1170, 585, 0, 10427, 10428, 5, 84, 0, 0, 10428, - 10429, 3, 1170, 585, 0, 10429, 10430, 5, 64, 0, 0, 10430, 10433, 3, 1170, - 585, 0, 10431, 10432, 5, 62, 0, 0, 10432, 10434, 3, 1170, 585, 0, 10433, - 10431, 1, 0, 0, 0, 10433, 10434, 1, 0, 0, 0, 10434, 1351, 1, 0, 0, 0, 10435, - 10436, 3, 1212, 606, 0, 10436, 10437, 5, 68, 0, 0, 10437, 10438, 3, 1212, - 606, 0, 10438, 1353, 1, 0, 0, 0, 10439, 10440, 3, 1170, 585, 0, 10440, - 10441, 5, 64, 0, 0, 10441, 10442, 3, 1170, 585, 0, 10442, 10443, 5, 62, - 0, 0, 10443, 10444, 3, 1170, 585, 0, 10444, 10467, 1, 0, 0, 0, 10445, 10446, - 3, 1170, 585, 0, 10446, 10447, 5, 62, 0, 0, 10447, 10448, 3, 1170, 585, - 0, 10448, 10449, 5, 64, 0, 0, 10449, 10450, 3, 1170, 585, 0, 10450, 10467, - 1, 0, 0, 0, 10451, 10452, 3, 1170, 585, 0, 10452, 10453, 5, 64, 0, 0, 10453, - 10454, 3, 1170, 585, 0, 10454, 10467, 1, 0, 0, 0, 10455, 10456, 3, 1170, - 585, 0, 10456, 10457, 5, 62, 0, 0, 10457, 10458, 3, 1170, 585, 0, 10458, - 10467, 1, 0, 0, 0, 10459, 10460, 3, 1170, 585, 0, 10460, 10461, 5, 146, - 0, 0, 10461, 10462, 3, 1170, 585, 0, 10462, 10463, 5, 216, 0, 0, 10463, - 10464, 3, 1170, 585, 0, 10464, 10467, 1, 0, 0, 0, 10465, 10467, 3, 1332, - 666, 0, 10466, 10439, 1, 0, 0, 0, 10466, 10445, 1, 0, 0, 0, 10466, 10451, - 1, 0, 0, 0, 10466, 10455, 1, 0, 0, 0, 10466, 10459, 1, 0, 0, 0, 10466, - 10465, 1, 0, 0, 0, 10467, 1355, 1, 0, 0, 0, 10468, 10469, 3, 1170, 585, - 0, 10469, 10470, 5, 64, 0, 0, 10470, 10471, 3, 1332, 666, 0, 10471, 10476, - 1, 0, 0, 0, 10472, 10473, 5, 64, 0, 0, 10473, 10476, 3, 1332, 666, 0, 10474, - 10476, 3, 1332, 666, 0, 10475, 10468, 1, 0, 0, 0, 10475, 10472, 1, 0, 0, - 0, 10475, 10474, 1, 0, 0, 0, 10476, 1357, 1, 0, 0, 0, 10477, 10483, 3, - 970, 485, 0, 10478, 10479, 5, 2, 0, 0, 10479, 10480, 3, 1332, 666, 0, 10480, - 10481, 5, 3, 0, 0, 10481, 10483, 1, 0, 0, 0, 10482, 10477, 1, 0, 0, 0, - 10482, 10478, 1, 0, 0, 0, 10483, 1359, 1, 0, 0, 0, 10484, 10486, 5, 40, - 0, 0, 10485, 10487, 3, 1368, 684, 0, 10486, 10485, 1, 0, 0, 0, 10486, 10487, - 1, 0, 0, 0, 10487, 10488, 1, 0, 0, 0, 10488, 10490, 3, 1362, 681, 0, 10489, - 10491, 3, 1366, 683, 0, 10490, 10489, 1, 0, 0, 0, 10490, 10491, 1, 0, 0, - 0, 10491, 10492, 1, 0, 0, 0, 10492, 10493, 5, 475, 0, 0, 10493, 1361, 1, - 0, 0, 0, 10494, 10496, 3, 1364, 682, 0, 10495, 10494, 1, 0, 0, 0, 10496, - 10497, 1, 0, 0, 0, 10497, 10495, 1, 0, 0, 0, 10497, 10498, 1, 0, 0, 0, - 10498, 1363, 1, 0, 0, 0, 10499, 10500, 5, 102, 0, 0, 10500, 10501, 3, 1170, - 585, 0, 10501, 10502, 5, 93, 0, 0, 10502, 10503, 3, 1170, 585, 0, 10503, - 1365, 1, 0, 0, 0, 10504, 10505, 5, 58, 0, 0, 10505, 10506, 3, 1170, 585, - 0, 10506, 1367, 1, 0, 0, 0, 10507, 10508, 3, 1170, 585, 0, 10508, 1369, - 1, 0, 0, 0, 10509, 10511, 3, 1426, 713, 0, 10510, 10512, 3, 1376, 688, - 0, 10511, 10510, 1, 0, 0, 0, 10511, 10512, 1, 0, 0, 0, 10512, 1371, 1, - 0, 0, 0, 10513, 10516, 5, 11, 0, 0, 10514, 10517, 3, 1396, 698, 0, 10515, - 10517, 5, 9, 0, 0, 10516, 10514, 1, 0, 0, 0, 10516, 10515, 1, 0, 0, 0, - 10517, 10531, 1, 0, 0, 0, 10518, 10527, 5, 4, 0, 0, 10519, 10528, 3, 1170, - 585, 0, 10520, 10522, 3, 1374, 687, 0, 10521, 10520, 1, 0, 0, 0, 10521, - 10522, 1, 0, 0, 0, 10522, 10523, 1, 0, 0, 0, 10523, 10525, 5, 8, 0, 0, - 10524, 10526, 3, 1374, 687, 0, 10525, 10524, 1, 0, 0, 0, 10525, 10526, - 1, 0, 0, 0, 10526, 10528, 1, 0, 0, 0, 10527, 10519, 1, 0, 0, 0, 10527, - 10521, 1, 0, 0, 0, 10528, 10529, 1, 0, 0, 0, 10529, 10531, 5, 5, 0, 0, - 10530, 10513, 1, 0, 0, 0, 10530, 10518, 1, 0, 0, 0, 10531, 1373, 1, 0, - 0, 0, 10532, 10533, 3, 1170, 585, 0, 10533, 1375, 1, 0, 0, 0, 10534, 10536, - 3, 1372, 686, 0, 10535, 10534, 1, 0, 0, 0, 10536, 10537, 1, 0, 0, 0, 10537, - 10535, 1, 0, 0, 0, 10537, 10538, 1, 0, 0, 0, 10538, 1377, 1, 0, 0, 0, 10539, - 10541, 3, 1372, 686, 0, 10540, 10539, 1, 0, 0, 0, 10541, 10544, 1, 0, 0, - 0, 10542, 10540, 1, 0, 0, 0, 10542, 10543, 1, 0, 0, 0, 10543, 1379, 1, - 0, 0, 0, 10544, 10542, 1, 0, 0, 0, 10545, 10546, 3, 1382, 691, 0, 10546, - 1381, 1, 0, 0, 0, 10547, 10552, 3, 1384, 692, 0, 10548, 10549, 5, 6, 0, - 0, 10549, 10551, 3, 1384, 692, 0, 10550, 10548, 1, 0, 0, 0, 10551, 10554, - 1, 0, 0, 0, 10552, 10550, 1, 0, 0, 0, 10552, 10553, 1, 0, 0, 0, 10553, - 1383, 1, 0, 0, 0, 10554, 10552, 1, 0, 0, 0, 10555, 10562, 3, 1370, 685, - 0, 10556, 10558, 3, 1170, 585, 0, 10557, 10559, 3, 1386, 693, 0, 10558, - 10557, 1, 0, 0, 0, 10558, 10559, 1, 0, 0, 0, 10559, 10562, 1, 0, 0, 0, - 10560, 10562, 5, 9, 0, 0, 10561, 10555, 1, 0, 0, 0, 10561, 10556, 1, 0, - 0, 0, 10561, 10560, 1, 0, 0, 0, 10562, 1385, 1, 0, 0, 0, 10563, 10564, - 5, 36, 0, 0, 10564, 10567, 3, 1434, 717, 0, 10565, 10567, 3, 1436, 718, - 0, 10566, 10563, 1, 0, 0, 0, 10566, 10565, 1, 0, 0, 0, 10567, 1387, 1, - 0, 0, 0, 10568, 10573, 3, 1390, 695, 0, 10569, 10570, 5, 6, 0, 0, 10570, - 10572, 3, 1390, 695, 0, 10571, 10569, 1, 0, 0, 0, 10572, 10575, 1, 0, 0, - 0, 10573, 10571, 1, 0, 0, 0, 10573, 10574, 1, 0, 0, 0, 10574, 1389, 1, - 0, 0, 0, 10575, 10573, 1, 0, 0, 0, 10576, 10578, 3, 1426, 713, 0, 10577, - 10579, 3, 1376, 688, 0, 10578, 10577, 1, 0, 0, 0, 10578, 10579, 1, 0, 0, - 0, 10579, 1391, 1, 0, 0, 0, 10580, 10585, 3, 1394, 697, 0, 10581, 10582, - 5, 6, 0, 0, 10582, 10584, 3, 1394, 697, 0, 10583, 10581, 1, 0, 0, 0, 10584, - 10587, 1, 0, 0, 0, 10585, 10583, 1, 0, 0, 0, 10585, 10586, 1, 0, 0, 0, - 10586, 1393, 1, 0, 0, 0, 10587, 10585, 1, 0, 0, 0, 10588, 10589, 3, 1426, - 713, 0, 10589, 1395, 1, 0, 0, 0, 10590, 10591, 3, 1434, 717, 0, 10591, - 1397, 1, 0, 0, 0, 10592, 10593, 3, 1412, 706, 0, 10593, 1399, 1, 0, 0, - 0, 10594, 10602, 3, 1448, 724, 0, 10595, 10602, 3, 1430, 715, 0, 10596, - 10597, 3, 1426, 713, 0, 10597, 10598, 3, 1376, 688, 0, 10598, 10602, 1, - 0, 0, 0, 10599, 10602, 5, 138, 0, 0, 10600, 10602, 5, 145, 0, 0, 10601, - 10594, 1, 0, 0, 0, 10601, 10595, 1, 0, 0, 0, 10601, 10596, 1, 0, 0, 0, - 10601, 10599, 1, 0, 0, 0, 10601, 10600, 1, 0, 0, 0, 10602, 1401, 1, 0, - 0, 0, 10603, 10639, 3, 1410, 705, 0, 10604, 10639, 3, 1408, 704, 0, 10605, - 10639, 3, 1412, 706, 0, 10606, 10639, 3, 1406, 703, 0, 10607, 10639, 3, - 1404, 702, 0, 10608, 10618, 3, 1400, 700, 0, 10609, 10619, 3, 1412, 706, - 0, 10610, 10611, 5, 2, 0, 0, 10611, 10613, 3, 1334, 667, 0, 10612, 10614, - 3, 1004, 502, 0, 10613, 10612, 1, 0, 0, 0, 10613, 10614, 1, 0, 0, 0, 10614, - 10615, 1, 0, 0, 0, 10615, 10616, 5, 3, 0, 0, 10616, 10617, 3, 1412, 706, - 0, 10617, 10619, 1, 0, 0, 0, 10618, 10609, 1, 0, 0, 0, 10618, 10610, 1, - 0, 0, 0, 10619, 10639, 1, 0, 0, 0, 10620, 10621, 3, 1132, 566, 0, 10621, - 10622, 3, 1412, 706, 0, 10622, 10639, 1, 0, 0, 0, 10623, 10633, 3, 1160, - 580, 0, 10624, 10626, 3, 1412, 706, 0, 10625, 10627, 3, 1164, 582, 0, 10626, - 10625, 1, 0, 0, 0, 10626, 10627, 1, 0, 0, 0, 10627, 10634, 1, 0, 0, 0, - 10628, 10629, 5, 2, 0, 0, 10629, 10630, 3, 1410, 705, 0, 10630, 10631, - 5, 3, 0, 0, 10631, 10632, 3, 1412, 706, 0, 10632, 10634, 1, 0, 0, 0, 10633, - 10624, 1, 0, 0, 0, 10633, 10628, 1, 0, 0, 0, 10634, 10639, 1, 0, 0, 0, - 10635, 10639, 5, 96, 0, 0, 10636, 10639, 5, 60, 0, 0, 10637, 10639, 5, - 78, 0, 0, 10638, 10603, 1, 0, 0, 0, 10638, 10604, 1, 0, 0, 0, 10638, 10605, - 1, 0, 0, 0, 10638, 10606, 1, 0, 0, 0, 10638, 10607, 1, 0, 0, 0, 10638, - 10608, 1, 0, 0, 0, 10638, 10620, 1, 0, 0, 0, 10638, 10623, 1, 0, 0, 0, - 10638, 10635, 1, 0, 0, 0, 10638, 10636, 1, 0, 0, 0, 10638, 10637, 1, 0, - 0, 0, 10639, 1403, 1, 0, 0, 0, 10640, 10641, 5, 682, 0, 0, 10641, 1405, - 1, 0, 0, 0, 10642, 10643, 5, 678, 0, 0, 10643, 1407, 1, 0, 0, 0, 10644, - 10645, 5, 688, 0, 0, 10645, 1409, 1, 0, 0, 0, 10646, 10647, 5, 686, 0, - 0, 10647, 1411, 1, 0, 0, 0, 10648, 10650, 3, 1414, 707, 0, 10649, 10651, - 3, 1416, 708, 0, 10650, 10649, 1, 0, 0, 0, 10650, 10651, 1, 0, 0, 0, 10651, - 1413, 1, 0, 0, 0, 10652, 10664, 5, 673, 0, 0, 10653, 10664, 5, 675, 0, - 0, 10654, 10658, 5, 677, 0, 0, 10655, 10657, 5, 705, 0, 0, 10656, 10655, - 1, 0, 0, 0, 10657, 10660, 1, 0, 0, 0, 10658, 10656, 1, 0, 0, 0, 10658, - 10659, 1, 0, 0, 0, 10659, 10661, 1, 0, 0, 0, 10660, 10658, 1, 0, 0, 0, - 10661, 10664, 5, 706, 0, 0, 10662, 10664, 5, 699, 0, 0, 10663, 10652, 1, - 0, 0, 0, 10663, 10653, 1, 0, 0, 0, 10663, 10654, 1, 0, 0, 0, 10663, 10662, - 1, 0, 0, 0, 10664, 1415, 1, 0, 0, 0, 10665, 10666, 5, 508, 0, 0, 10666, - 10667, 3, 1414, 707, 0, 10667, 1417, 1, 0, 0, 0, 10668, 10674, 3, 1410, - 705, 0, 10669, 10670, 5, 12, 0, 0, 10670, 10674, 3, 1410, 705, 0, 10671, - 10672, 5, 13, 0, 0, 10672, 10674, 3, 1410, 705, 0, 10673, 10668, 1, 0, - 0, 0, 10673, 10669, 1, 0, 0, 0, 10673, 10671, 1, 0, 0, 0, 10674, 1419, - 1, 0, 0, 0, 10675, 10676, 3, 1422, 711, 0, 10676, 1421, 1, 0, 0, 0, 10677, - 10681, 3, 1432, 716, 0, 10678, 10681, 5, 52, 0, 0, 10679, 10681, 5, 89, - 0, 0, 10680, 10677, 1, 0, 0, 0, 10680, 10678, 1, 0, 0, 0, 10680, 10679, - 1, 0, 0, 0, 10681, 1423, 1, 0, 0, 0, 10682, 10687, 3, 1422, 711, 0, 10683, - 10684, 5, 6, 0, 0, 10684, 10686, 3, 1422, 711, 0, 10685, 10683, 1, 0, 0, - 0, 10686, 10689, 1, 0, 0, 0, 10687, 10685, 1, 0, 0, 0, 10687, 10688, 1, - 0, 0, 0, 10688, 1425, 1, 0, 0, 0, 10689, 10687, 1, 0, 0, 0, 10690, 10697, - 3, 1436, 718, 0, 10691, 10697, 3, 1440, 720, 0, 10692, 10697, 3, 1442, - 721, 0, 10693, 10697, 3, 1662, 831, 0, 10694, 10697, 5, 138, 0, 0, 10695, - 10697, 5, 145, 0, 0, 10696, 10690, 1, 0, 0, 0, 10696, 10691, 1, 0, 0, 0, - 10696, 10692, 1, 0, 0, 0, 10696, 10693, 1, 0, 0, 0, 10696, 10694, 1, 0, - 0, 0, 10696, 10695, 1, 0, 0, 0, 10697, 1427, 1, 0, 0, 0, 10698, 10703, - 3, 1436, 718, 0, 10699, 10703, 3, 1440, 720, 0, 10700, 10703, 3, 1442, - 721, 0, 10701, 10703, 3, 1662, 831, 0, 10702, 10698, 1, 0, 0, 0, 10702, - 10699, 1, 0, 0, 0, 10702, 10700, 1, 0, 0, 0, 10702, 10701, 1, 0, 0, 0, - 10703, 1429, 1, 0, 0, 0, 10704, 10709, 3, 1436, 718, 0, 10705, 10709, 3, - 1440, 720, 0, 10706, 10709, 3, 1662, 831, 0, 10707, 10709, 3, 1444, 722, - 0, 10708, 10704, 1, 0, 0, 0, 10708, 10705, 1, 0, 0, 0, 10708, 10706, 1, - 0, 0, 0, 10708, 10707, 1, 0, 0, 0, 10709, 1431, 1, 0, 0, 0, 10710, 10715, - 3, 1436, 718, 0, 10711, 10715, 3, 1440, 720, 0, 10712, 10715, 3, 1442, - 721, 0, 10713, 10715, 3, 1444, 722, 0, 10714, 10710, 1, 0, 0, 0, 10714, - 10711, 1, 0, 0, 0, 10714, 10712, 1, 0, 0, 0, 10714, 10713, 1, 0, 0, 0, - 10715, 1433, 1, 0, 0, 0, 10716, 10723, 3, 1436, 718, 0, 10717, 10723, 3, - 1662, 831, 0, 10718, 10723, 3, 1440, 720, 0, 10719, 10723, 3, 1442, 721, - 0, 10720, 10723, 3, 1444, 722, 0, 10721, 10723, 3, 1446, 723, 0, 10722, - 10716, 1, 0, 0, 0, 10722, 10717, 1, 0, 0, 0, 10722, 10718, 1, 0, 0, 0, - 10722, 10719, 1, 0, 0, 0, 10722, 10720, 1, 0, 0, 0, 10722, 10721, 1, 0, - 0, 0, 10723, 1435, 1, 0, 0, 0, 10724, 10726, 5, 664, 0, 0, 10725, 10727, - 3, 1416, 708, 0, 10726, 10725, 1, 0, 0, 0, 10726, 10727, 1, 0, 0, 0, 10727, - 10734, 1, 0, 0, 0, 10728, 10734, 5, 665, 0, 0, 10729, 10734, 5, 669, 0, - 0, 10730, 10734, 3, 1216, 608, 0, 10731, 10734, 3, 1438, 719, 0, 10732, - 10734, 3, 1662, 831, 0, 10733, 10724, 1, 0, 0, 0, 10733, 10728, 1, 0, 0, - 0, 10733, 10729, 1, 0, 0, 0, 10733, 10730, 1, 0, 0, 0, 10733, 10731, 1, - 0, 0, 0, 10733, 10732, 1, 0, 0, 0, 10734, 1437, 1, 0, 0, 0, 10735, 10736, - 5, 690, 0, 0, 10736, 1439, 1, 0, 0, 0, 10737, 10738, 7, 66, 0, 0, 10738, - 1441, 1, 0, 0, 0, 10739, 10796, 5, 400, 0, 0, 10740, 10796, 5, 401, 0, - 0, 10741, 10796, 3, 1142, 571, 0, 10742, 10796, 5, 403, 0, 0, 10743, 10796, - 5, 404, 0, 0, 10744, 10796, 3, 1150, 575, 0, 10745, 10796, 5, 406, 0, 0, - 10746, 10796, 5, 407, 0, 0, 10747, 10796, 5, 408, 0, 0, 10748, 10796, 5, - 409, 0, 0, 10749, 10796, 5, 410, 0, 0, 10750, 10796, 5, 411, 0, 0, 10751, - 10796, 5, 412, 0, 0, 10752, 10796, 5, 491, 0, 0, 10753, 10796, 5, 413, - 0, 0, 10754, 10796, 5, 414, 0, 0, 10755, 10796, 5, 415, 0, 0, 10756, 10796, - 5, 416, 0, 0, 10757, 10796, 5, 107, 0, 0, 10758, 10796, 5, 662, 0, 0, 10759, - 10796, 5, 106, 0, 0, 10760, 10796, 5, 663, 0, 0, 10761, 10796, 5, 417, - 0, 0, 10762, 10796, 5, 418, 0, 0, 10763, 10796, 5, 419, 0, 0, 10764, 10796, - 5, 420, 0, 0, 10765, 10796, 5, 510, 0, 0, 10766, 10796, 5, 421, 0, 0, 10767, - 10796, 3, 1138, 569, 0, 10768, 10796, 5, 474, 0, 0, 10769, 10796, 5, 423, - 0, 0, 10770, 10796, 5, 425, 0, 0, 10771, 10796, 5, 426, 0, 0, 10772, 10796, - 5, 427, 0, 0, 10773, 10796, 5, 428, 0, 0, 10774, 10796, 5, 429, 0, 0, 10775, - 10796, 5, 430, 0, 0, 10776, 10796, 5, 431, 0, 0, 10777, 10796, 5, 432, - 0, 0, 10778, 10796, 5, 433, 0, 0, 10779, 10796, 5, 434, 0, 0, 10780, 10796, - 5, 435, 0, 0, 10781, 10796, 5, 436, 0, 0, 10782, 10796, 5, 437, 0, 0, 10783, - 10796, 5, 438, 0, 0, 10784, 10796, 5, 446, 0, 0, 10785, 10796, 5, 447, - 0, 0, 10786, 10796, 5, 448, 0, 0, 10787, 10796, 5, 449, 0, 0, 10788, 10796, - 5, 497, 0, 0, 10789, 10796, 5, 450, 0, 0, 10790, 10796, 5, 451, 0, 0, 10791, - 10796, 5, 452, 0, 0, 10792, 10796, 5, 453, 0, 0, 10793, 10796, 5, 495, - 0, 0, 10794, 10796, 3, 1448, 724, 0, 10795, 10739, 1, 0, 0, 0, 10795, 10740, - 1, 0, 0, 0, 10795, 10741, 1, 0, 0, 0, 10795, 10742, 1, 0, 0, 0, 10795, - 10743, 1, 0, 0, 0, 10795, 10744, 1, 0, 0, 0, 10795, 10745, 1, 0, 0, 0, - 10795, 10746, 1, 0, 0, 0, 10795, 10747, 1, 0, 0, 0, 10795, 10748, 1, 0, - 0, 0, 10795, 10749, 1, 0, 0, 0, 10795, 10750, 1, 0, 0, 0, 10795, 10751, - 1, 0, 0, 0, 10795, 10752, 1, 0, 0, 0, 10795, 10753, 1, 0, 0, 0, 10795, - 10754, 1, 0, 0, 0, 10795, 10755, 1, 0, 0, 0, 10795, 10756, 1, 0, 0, 0, - 10795, 10757, 1, 0, 0, 0, 10795, 10758, 1, 0, 0, 0, 10795, 10759, 1, 0, - 0, 0, 10795, 10760, 1, 0, 0, 0, 10795, 10761, 1, 0, 0, 0, 10795, 10762, - 1, 0, 0, 0, 10795, 10763, 1, 0, 0, 0, 10795, 10764, 1, 0, 0, 0, 10795, - 10765, 1, 0, 0, 0, 10795, 10766, 1, 0, 0, 0, 10795, 10767, 1, 0, 0, 0, - 10795, 10768, 1, 0, 0, 0, 10795, 10769, 1, 0, 0, 0, 10795, 10770, 1, 0, - 0, 0, 10795, 10771, 1, 0, 0, 0, 10795, 10772, 1, 0, 0, 0, 10795, 10773, - 1, 0, 0, 0, 10795, 10774, 1, 0, 0, 0, 10795, 10775, 1, 0, 0, 0, 10795, - 10776, 1, 0, 0, 0, 10795, 10777, 1, 0, 0, 0, 10795, 10778, 1, 0, 0, 0, - 10795, 10779, 1, 0, 0, 0, 10795, 10780, 1, 0, 0, 0, 10795, 10781, 1, 0, - 0, 0, 10795, 10782, 1, 0, 0, 0, 10795, 10783, 1, 0, 0, 0, 10795, 10784, - 1, 0, 0, 0, 10795, 10785, 1, 0, 0, 0, 10795, 10786, 1, 0, 0, 0, 10795, - 10787, 1, 0, 0, 0, 10795, 10788, 1, 0, 0, 0, 10795, 10789, 1, 0, 0, 0, - 10795, 10790, 1, 0, 0, 0, 10795, 10791, 1, 0, 0, 0, 10795, 10792, 1, 0, - 0, 0, 10795, 10793, 1, 0, 0, 0, 10795, 10794, 1, 0, 0, 0, 10796, 1443, - 1, 0, 0, 0, 10797, 10798, 7, 67, 0, 0, 10798, 1445, 1, 0, 0, 0, 10799, - 10800, 7, 68, 0, 0, 10800, 1447, 1, 0, 0, 0, 10801, 10802, 7, 69, 0, 0, - 10802, 1449, 1, 0, 0, 0, 10803, 10804, 3, 1452, 726, 0, 10804, 10806, 3, - 1462, 731, 0, 10805, 10807, 3, 1460, 730, 0, 10806, 10805, 1, 0, 0, 0, - 10806, 10807, 1, 0, 0, 0, 10807, 1451, 1, 0, 0, 0, 10808, 10810, 3, 1454, - 727, 0, 10809, 10808, 1, 0, 0, 0, 10810, 10813, 1, 0, 0, 0, 10811, 10809, - 1, 0, 0, 0, 10811, 10812, 1, 0, 0, 0, 10812, 1453, 1, 0, 0, 0, 10813, 10811, - 1, 0, 0, 0, 10814, 10815, 3, 1456, 728, 0, 10815, 10816, 5, 291, 0, 0, - 10816, 10817, 5, 511, 0, 0, 10817, 10835, 1, 0, 0, 0, 10818, 10819, 3, - 1456, 728, 0, 10819, 10820, 5, 512, 0, 0, 10820, 10821, 3, 1458, 729, 0, - 10821, 10835, 1, 0, 0, 0, 10822, 10823, 3, 1456, 728, 0, 10823, 10824, - 5, 513, 0, 0, 10824, 10825, 5, 514, 0, 0, 10825, 10835, 1, 0, 0, 0, 10826, - 10827, 3, 1456, 728, 0, 10827, 10828, 5, 513, 0, 0, 10828, 10829, 5, 515, - 0, 0, 10829, 10835, 1, 0, 0, 0, 10830, 10831, 3, 1456, 728, 0, 10831, 10832, - 5, 513, 0, 0, 10832, 10833, 5, 516, 0, 0, 10833, 10835, 1, 0, 0, 0, 10834, - 10814, 1, 0, 0, 0, 10834, 10818, 1, 0, 0, 0, 10834, 10822, 1, 0, 0, 0, - 10834, 10826, 1, 0, 0, 0, 10834, 10830, 1, 0, 0, 0, 10835, 1455, 1, 0, - 0, 0, 10836, 10837, 5, 29, 0, 0, 10837, 1457, 1, 0, 0, 0, 10838, 10843, - 3, 1412, 706, 0, 10839, 10843, 3, 1446, 723, 0, 10840, 10843, 3, 1662, - 831, 0, 10841, 10843, 3, 1440, 720, 0, 10842, 10838, 1, 0, 0, 0, 10842, - 10839, 1, 0, 0, 0, 10842, 10840, 1, 0, 0, 0, 10842, 10841, 1, 0, 0, 0, - 10843, 1459, 1, 0, 0, 0, 10844, 10845, 5, 7, 0, 0, 10845, 1461, 1, 0, 0, - 0, 10846, 10847, 3, 1464, 732, 0, 10847, 10848, 5, 165, 0, 0, 10848, 10850, - 3, 1506, 753, 0, 10849, 10851, 3, 1642, 821, 0, 10850, 10849, 1, 0, 0, - 0, 10850, 10851, 1, 0, 0, 0, 10851, 10852, 1, 0, 0, 0, 10852, 10854, 5, - 475, 0, 0, 10853, 10855, 3, 1656, 828, 0, 10854, 10853, 1, 0, 0, 0, 10854, - 10855, 1, 0, 0, 0, 10855, 1463, 1, 0, 0, 0, 10856, 10858, 3, 1652, 826, - 0, 10857, 10856, 1, 0, 0, 0, 10857, 10858, 1, 0, 0, 0, 10858, 10863, 1, - 0, 0, 0, 10859, 10861, 3, 1466, 733, 0, 10860, 10862, 3, 1468, 734, 0, - 10861, 10860, 1, 0, 0, 0, 10861, 10862, 1, 0, 0, 0, 10862, 10864, 1, 0, - 0, 0, 10863, 10859, 1, 0, 0, 0, 10863, 10864, 1, 0, 0, 0, 10864, 1465, - 1, 0, 0, 0, 10865, 10866, 5, 197, 0, 0, 10866, 1467, 1, 0, 0, 0, 10867, - 10869, 3, 1472, 736, 0, 10868, 10867, 1, 0, 0, 0, 10869, 10870, 1, 0, 0, - 0, 10870, 10868, 1, 0, 0, 0, 10870, 10871, 1, 0, 0, 0, 10871, 1469, 1, - 0, 0, 0, 10872, 10873, 5, 18, 0, 0, 10873, 10874, 3, 1660, 830, 0, 10874, - 10875, 5, 19, 0, 0, 10875, 1471, 1, 0, 0, 0, 10876, 10880, 3, 1474, 737, - 0, 10877, 10880, 5, 197, 0, 0, 10878, 10880, 3, 1470, 735, 0, 10879, 10876, - 1, 0, 0, 0, 10879, 10877, 1, 0, 0, 0, 10879, 10878, 1, 0, 0, 0, 10880, - 1473, 1, 0, 0, 0, 10881, 10908, 3, 1490, 745, 0, 10882, 10883, 5, 517, - 0, 0, 10883, 10884, 5, 62, 0, 0, 10884, 10909, 3, 1488, 744, 0, 10885, - 10887, 3, 1492, 746, 0, 10886, 10885, 1, 0, 0, 0, 10886, 10887, 1, 0, 0, - 0, 10887, 10888, 1, 0, 0, 0, 10888, 10890, 3, 1494, 747, 0, 10889, 10891, - 3, 1496, 748, 0, 10890, 10889, 1, 0, 0, 0, 10890, 10891, 1, 0, 0, 0, 10891, - 10893, 1, 0, 0, 0, 10892, 10894, 3, 1498, 749, 0, 10893, 10892, 1, 0, 0, - 0, 10893, 10894, 1, 0, 0, 0, 10894, 10896, 1, 0, 0, 0, 10895, 10897, 3, - 1500, 750, 0, 10896, 10895, 1, 0, 0, 0, 10896, 10897, 1, 0, 0, 0, 10897, - 10909, 1, 0, 0, 0, 10898, 10900, 3, 1476, 738, 0, 10899, 10898, 1, 0, 0, - 0, 10899, 10900, 1, 0, 0, 0, 10900, 10901, 1, 0, 0, 0, 10901, 10903, 5, - 191, 0, 0, 10902, 10904, 3, 1480, 740, 0, 10903, 10902, 1, 0, 0, 0, 10903, - 10904, 1, 0, 0, 0, 10904, 10905, 1, 0, 0, 0, 10905, 10906, 3, 1486, 743, - 0, 10906, 10907, 3, 1478, 739, 0, 10907, 10909, 1, 0, 0, 0, 10908, 10882, - 1, 0, 0, 0, 10908, 10886, 1, 0, 0, 0, 10908, 10899, 1, 0, 0, 0, 10909, - 10910, 1, 0, 0, 0, 10910, 10911, 5, 7, 0, 0, 10911, 1475, 1, 0, 0, 0, 10912, - 10913, 5, 281, 0, 0, 10913, 10916, 5, 336, 0, 0, 10914, 10916, 5, 336, - 0, 0, 10915, 10912, 1, 0, 0, 0, 10915, 10914, 1, 0, 0, 0, 10916, 1477, - 1, 0, 0, 0, 10917, 10918, 3, 968, 484, 0, 10918, 1479, 1, 0, 0, 0, 10919, - 10920, 5, 2, 0, 0, 10920, 10921, 3, 1482, 741, 0, 10921, 10922, 5, 3, 0, - 0, 10922, 1481, 1, 0, 0, 0, 10923, 10928, 3, 1484, 742, 0, 10924, 10925, - 5, 6, 0, 0, 10925, 10927, 3, 1484, 742, 0, 10926, 10924, 1, 0, 0, 0, 10927, - 10930, 1, 0, 0, 0, 10928, 10926, 1, 0, 0, 0, 10928, 10929, 1, 0, 0, 0, - 10929, 1483, 1, 0, 0, 0, 10930, 10928, 1, 0, 0, 0, 10931, 10932, 3, 1490, - 745, 0, 10932, 10933, 3, 1494, 747, 0, 10933, 1485, 1, 0, 0, 0, 10934, - 10935, 7, 70, 0, 0, 10935, 1487, 1, 0, 0, 0, 10936, 10939, 5, 28, 0, 0, - 10937, 10939, 3, 1426, 713, 0, 10938, 10936, 1, 0, 0, 0, 10938, 10937, - 1, 0, 0, 0, 10939, 1489, 1, 0, 0, 0, 10940, 10941, 3, 1660, 830, 0, 10941, - 1491, 1, 0, 0, 0, 10942, 10943, 5, 518, 0, 0, 10943, 1493, 1, 0, 0, 0, - 10944, 10945, 3, 1126, 563, 0, 10945, 1495, 1, 0, 0, 0, 10946, 10947, 5, - 43, 0, 0, 10947, 10948, 3, 526, 263, 0, 10948, 1497, 1, 0, 0, 0, 10949, - 10950, 5, 77, 0, 0, 10950, 10951, 5, 78, 0, 0, 10951, 1499, 1, 0, 0, 0, - 10952, 10953, 3, 1502, 751, 0, 10953, 10954, 3, 1664, 832, 0, 10954, 1501, - 1, 0, 0, 0, 10955, 10958, 3, 1504, 752, 0, 10956, 10958, 5, 53, 0, 0, 10957, - 10955, 1, 0, 0, 0, 10957, 10956, 1, 0, 0, 0, 10958, 1503, 1, 0, 0, 0, 10959, - 10960, 7, 71, 0, 0, 10960, 1505, 1, 0, 0, 0, 10961, 10963, 3, 1508, 754, - 0, 10962, 10961, 1, 0, 0, 0, 10963, 10966, 1, 0, 0, 0, 10964, 10962, 1, - 0, 0, 0, 10964, 10965, 1, 0, 0, 0, 10965, 1507, 1, 0, 0, 0, 10966, 10964, - 1, 0, 0, 0, 10967, 10968, 3, 1462, 731, 0, 10968, 10969, 5, 7, 0, 0, 10969, - 10995, 1, 0, 0, 0, 10970, 10995, 3, 1574, 787, 0, 10971, 10995, 3, 1578, - 789, 0, 10972, 10995, 3, 1516, 758, 0, 10973, 10995, 3, 1532, 766, 0, 10974, - 10995, 3, 1538, 769, 0, 10975, 10995, 3, 1548, 774, 0, 10976, 10995, 3, - 1550, 775, 0, 10977, 10995, 3, 1552, 776, 0, 10978, 10995, 3, 1566, 783, - 0, 10979, 10995, 3, 1570, 785, 0, 10980, 10995, 3, 1590, 795, 0, 10981, - 10995, 3, 1596, 798, 0, 10982, 10995, 3, 1598, 799, 0, 10983, 10995, 3, - 1510, 755, 0, 10984, 10995, 3, 1512, 756, 0, 10985, 10995, 3, 1518, 759, - 0, 10986, 10995, 3, 1606, 803, 0, 10987, 10995, 3, 1618, 809, 0, 10988, - 10995, 3, 1626, 813, 0, 10989, 10995, 3, 1628, 814, 0, 10990, 10995, 3, - 1630, 815, 0, 10991, 10995, 3, 1632, 816, 0, 10992, 10995, 3, 1634, 817, - 0, 10993, 10995, 3, 1638, 819, 0, 10994, 10967, 1, 0, 0, 0, 10994, 10970, - 1, 0, 0, 0, 10994, 10971, 1, 0, 0, 0, 10994, 10972, 1, 0, 0, 0, 10994, - 10973, 1, 0, 0, 0, 10994, 10974, 1, 0, 0, 0, 10994, 10975, 1, 0, 0, 0, - 10994, 10976, 1, 0, 0, 0, 10994, 10977, 1, 0, 0, 0, 10994, 10978, 1, 0, - 0, 0, 10994, 10979, 1, 0, 0, 0, 10994, 10980, 1, 0, 0, 0, 10994, 10981, - 1, 0, 0, 0, 10994, 10982, 1, 0, 0, 0, 10994, 10983, 1, 0, 0, 0, 10994, - 10984, 1, 0, 0, 0, 10994, 10985, 1, 0, 0, 0, 10994, 10986, 1, 0, 0, 0, - 10994, 10987, 1, 0, 0, 0, 10994, 10988, 1, 0, 0, 0, 10994, 10989, 1, 0, - 0, 0, 10994, 10990, 1, 0, 0, 0, 10994, 10991, 1, 0, 0, 0, 10994, 10992, - 1, 0, 0, 0, 10994, 10993, 1, 0, 0, 0, 10995, 1509, 1, 0, 0, 0, 10996, 10997, - 5, 519, 0, 0, 10997, 10998, 3, 1668, 834, 0, 10998, 10999, 5, 7, 0, 0, - 10999, 1511, 1, 0, 0, 0, 11000, 11001, 5, 454, 0, 0, 11001, 11002, 3, 1660, - 830, 0, 11002, 11004, 5, 2, 0, 0, 11003, 11005, 3, 1514, 757, 0, 11004, - 11003, 1, 0, 0, 0, 11004, 11005, 1, 0, 0, 0, 11005, 11006, 1, 0, 0, 0, - 11006, 11007, 5, 3, 0, 0, 11007, 11008, 5, 7, 0, 0, 11008, 11019, 1, 0, - 0, 0, 11009, 11010, 5, 57, 0, 0, 11010, 11011, 3, 1660, 830, 0, 11011, - 11013, 5, 2, 0, 0, 11012, 11014, 3, 1514, 757, 0, 11013, 11012, 1, 0, 0, - 0, 11013, 11014, 1, 0, 0, 0, 11014, 11015, 1, 0, 0, 0, 11015, 11016, 5, - 3, 0, 0, 11016, 11017, 5, 7, 0, 0, 11017, 11019, 1, 0, 0, 0, 11018, 11000, - 1, 0, 0, 0, 11018, 11009, 1, 0, 0, 0, 11019, 1513, 1, 0, 0, 0, 11020, 11021, - 3, 1332, 666, 0, 11021, 1515, 1, 0, 0, 0, 11022, 11023, 3, 1530, 765, 0, - 11023, 11024, 3, 1504, 752, 0, 11024, 11025, 3, 1664, 832, 0, 11025, 11026, - 5, 7, 0, 0, 11026, 1517, 1, 0, 0, 0, 11027, 11029, 5, 520, 0, 0, 11028, - 11030, 3, 1520, 760, 0, 11029, 11028, 1, 0, 0, 0, 11029, 11030, 1, 0, 0, - 0, 11030, 11031, 1, 0, 0, 0, 11031, 11032, 5, 521, 0, 0, 11032, 11033, - 3, 1522, 761, 0, 11033, 11034, 5, 7, 0, 0, 11034, 1519, 1, 0, 0, 0, 11035, - 11036, 7, 72, 0, 0, 11036, 1521, 1, 0, 0, 0, 11037, 11042, 3, 1524, 762, - 0, 11038, 11039, 5, 6, 0, 0, 11039, 11041, 3, 1524, 762, 0, 11040, 11038, - 1, 0, 0, 0, 11041, 11044, 1, 0, 0, 0, 11042, 11040, 1, 0, 0, 0, 11042, - 11043, 1, 0, 0, 0, 11043, 1523, 1, 0, 0, 0, 11044, 11042, 1, 0, 0, 0, 11045, - 11046, 3, 1528, 764, 0, 11046, 11047, 3, 1504, 752, 0, 11047, 11048, 3, - 1526, 763, 0, 11048, 1525, 1, 0, 0, 0, 11049, 11050, 3, 1426, 713, 0, 11050, - 1527, 1, 0, 0, 0, 11051, 11052, 3, 1530, 765, 0, 11052, 1529, 1, 0, 0, - 0, 11053, 11056, 3, 526, 263, 0, 11054, 11056, 5, 28, 0, 0, 11055, 11053, - 1, 0, 0, 0, 11055, 11054, 1, 0, 0, 0, 11056, 11063, 1, 0, 0, 0, 11057, - 11058, 5, 4, 0, 0, 11058, 11059, 3, 1670, 835, 0, 11059, 11060, 5, 5, 0, - 0, 11060, 11062, 1, 0, 0, 0, 11061, 11057, 1, 0, 0, 0, 11062, 11065, 1, - 0, 0, 0, 11063, 11061, 1, 0, 0, 0, 11063, 11064, 1, 0, 0, 0, 11064, 1531, - 1, 0, 0, 0, 11065, 11063, 1, 0, 0, 0, 11066, 11067, 5, 239, 0, 0, 11067, - 11068, 3, 1666, 833, 0, 11068, 11069, 5, 93, 0, 0, 11069, 11070, 3, 1506, - 753, 0, 11070, 11072, 3, 1534, 767, 0, 11071, 11073, 3, 1536, 768, 0, 11072, - 11071, 1, 0, 0, 0, 11072, 11073, 1, 0, 0, 0, 11073, 11074, 1, 0, 0, 0, - 11074, 11075, 5, 475, 0, 0, 11075, 11076, 5, 239, 0, 0, 11076, 11077, 5, - 7, 0, 0, 11077, 1533, 1, 0, 0, 0, 11078, 11079, 5, 523, 0, 0, 11079, 11080, - 3, 1170, 585, 0, 11080, 11081, 5, 93, 0, 0, 11081, 11082, 3, 1506, 753, - 0, 11082, 11084, 1, 0, 0, 0, 11083, 11078, 1, 0, 0, 0, 11084, 11087, 1, - 0, 0, 0, 11085, 11083, 1, 0, 0, 0, 11085, 11086, 1, 0, 0, 0, 11086, 1535, - 1, 0, 0, 0, 11087, 11085, 1, 0, 0, 0, 11088, 11089, 5, 58, 0, 0, 11089, - 11090, 3, 1506, 753, 0, 11090, 1537, 1, 0, 0, 0, 11091, 11093, 5, 40, 0, - 0, 11092, 11094, 3, 1540, 770, 0, 11093, 11092, 1, 0, 0, 0, 11093, 11094, - 1, 0, 0, 0, 11094, 11095, 1, 0, 0, 0, 11095, 11097, 3, 1542, 771, 0, 11096, - 11098, 3, 1546, 773, 0, 11097, 11096, 1, 0, 0, 0, 11097, 11098, 1, 0, 0, - 0, 11098, 11099, 1, 0, 0, 0, 11099, 11100, 5, 475, 0, 0, 11100, 11101, - 5, 40, 0, 0, 11101, 11102, 5, 7, 0, 0, 11102, 1539, 1, 0, 0, 0, 11103, - 11104, 3, 1664, 832, 0, 11104, 1541, 1, 0, 0, 0, 11105, 11107, 3, 1544, - 772, 0, 11106, 11105, 1, 0, 0, 0, 11107, 11108, 1, 0, 0, 0, 11108, 11106, - 1, 0, 0, 0, 11108, 11109, 1, 0, 0, 0, 11109, 1543, 1, 0, 0, 0, 11110, 11111, - 5, 102, 0, 0, 11111, 11112, 3, 1332, 666, 0, 11112, 11113, 5, 93, 0, 0, - 11113, 11114, 3, 1506, 753, 0, 11114, 1545, 1, 0, 0, 0, 11115, 11116, 5, - 58, 0, 0, 11116, 11117, 3, 1506, 753, 0, 11117, 1547, 1, 0, 0, 0, 11118, - 11120, 3, 1654, 827, 0, 11119, 11118, 1, 0, 0, 0, 11119, 11120, 1, 0, 0, - 0, 11120, 11121, 1, 0, 0, 0, 11121, 11122, 3, 1594, 797, 0, 11122, 1549, - 1, 0, 0, 0, 11123, 11125, 3, 1654, 827, 0, 11124, 11123, 1, 0, 0, 0, 11124, - 11125, 1, 0, 0, 0, 11125, 11126, 1, 0, 0, 0, 11126, 11127, 5, 524, 0, 0, - 11127, 11128, 3, 1672, 836, 0, 11128, 11129, 3, 1594, 797, 0, 11129, 1551, - 1, 0, 0, 0, 11130, 11132, 3, 1654, 827, 0, 11131, 11130, 1, 0, 0, 0, 11131, - 11132, 1, 0, 0, 0, 11132, 11133, 1, 0, 0, 0, 11133, 11134, 5, 62, 0, 0, - 11134, 11135, 3, 1554, 777, 0, 11135, 11136, 3, 1594, 797, 0, 11136, 1553, - 1, 0, 0, 0, 11137, 11138, 3, 1564, 782, 0, 11138, 11159, 5, 68, 0, 0, 11139, - 11141, 3, 962, 481, 0, 11140, 11142, 3, 1558, 779, 0, 11141, 11140, 1, - 0, 0, 0, 11141, 11142, 1, 0, 0, 0, 11142, 11160, 1, 0, 0, 0, 11143, 11160, - 3, 968, 484, 0, 11144, 11160, 3, 886, 443, 0, 11145, 11146, 5, 221, 0, - 0, 11146, 11148, 3, 1170, 585, 0, 11147, 11149, 3, 1556, 778, 0, 11148, - 11147, 1, 0, 0, 0, 11148, 11149, 1, 0, 0, 0, 11149, 11160, 1, 0, 0, 0, - 11150, 11152, 3, 1560, 780, 0, 11151, 11150, 1, 0, 0, 0, 11151, 11152, - 1, 0, 0, 0, 11152, 11153, 1, 0, 0, 0, 11153, 11154, 3, 1170, 585, 0, 11154, - 11155, 5, 24, 0, 0, 11155, 11157, 3, 1170, 585, 0, 11156, 11158, 3, 1562, - 781, 0, 11157, 11156, 1, 0, 0, 0, 11157, 11158, 1, 0, 0, 0, 11158, 11160, - 1, 0, 0, 0, 11159, 11139, 1, 0, 0, 0, 11159, 11143, 1, 0, 0, 0, 11159, - 11144, 1, 0, 0, 0, 11159, 11145, 1, 0, 0, 0, 11159, 11151, 1, 0, 0, 0, - 11160, 1555, 1, 0, 0, 0, 11161, 11162, 5, 100, 0, 0, 11162, 11163, 3, 1332, - 666, 0, 11163, 1557, 1, 0, 0, 0, 11164, 11165, 5, 2, 0, 0, 11165, 11170, - 3, 1170, 585, 0, 11166, 11167, 5, 6, 0, 0, 11167, 11169, 3, 1170, 585, - 0, 11168, 11166, 1, 0, 0, 0, 11169, 11172, 1, 0, 0, 0, 11170, 11168, 1, - 0, 0, 0, 11170, 11171, 1, 0, 0, 0, 11171, 11173, 1, 0, 0, 0, 11172, 11170, - 1, 0, 0, 0, 11173, 11174, 5, 3, 0, 0, 11174, 1559, 1, 0, 0, 0, 11175, 11176, - 5, 525, 0, 0, 11176, 1561, 1, 0, 0, 0, 11177, 11178, 5, 166, 0, 0, 11178, - 11179, 3, 1170, 585, 0, 11179, 1563, 1, 0, 0, 0, 11180, 11181, 3, 524, - 262, 0, 11181, 1565, 1, 0, 0, 0, 11182, 11184, 3, 1654, 827, 0, 11183, - 11182, 1, 0, 0, 0, 11183, 11184, 1, 0, 0, 0, 11184, 11185, 1, 0, 0, 0, - 11185, 11186, 5, 526, 0, 0, 11186, 11188, 3, 1564, 782, 0, 11187, 11189, - 3, 1568, 784, 0, 11188, 11187, 1, 0, 0, 0, 11188, 11189, 1, 0, 0, 0, 11189, - 11190, 1, 0, 0, 0, 11190, 11191, 5, 68, 0, 0, 11191, 11192, 5, 35, 0, 0, - 11192, 11193, 3, 1170, 585, 0, 11193, 11194, 3, 1594, 797, 0, 11194, 1567, - 1, 0, 0, 0, 11195, 11196, 5, 527, 0, 0, 11196, 11197, 3, 1410, 705, 0, - 11197, 1569, 1, 0, 0, 0, 11198, 11200, 3, 1572, 786, 0, 11199, 11201, 3, - 1656, 828, 0, 11200, 11199, 1, 0, 0, 0, 11200, 11201, 1, 0, 0, 0, 11201, - 11203, 1, 0, 0, 0, 11202, 11204, 3, 1658, 829, 0, 11203, 11202, 1, 0, 0, - 0, 11203, 11204, 1, 0, 0, 0, 11204, 11205, 1, 0, 0, 0, 11205, 11206, 5, - 7, 0, 0, 11206, 1571, 1, 0, 0, 0, 11207, 11208, 7, 73, 0, 0, 11208, 1573, - 1, 0, 0, 0, 11209, 11224, 5, 529, 0, 0, 11210, 11211, 5, 280, 0, 0, 11211, - 11225, 3, 1664, 832, 0, 11212, 11219, 5, 530, 0, 0, 11213, 11214, 5, 221, - 0, 0, 11214, 11216, 3, 1170, 585, 0, 11215, 11217, 3, 1556, 778, 0, 11216, - 11215, 1, 0, 0, 0, 11216, 11217, 1, 0, 0, 0, 11217, 11220, 1, 0, 0, 0, - 11218, 11220, 3, 968, 484, 0, 11219, 11213, 1, 0, 0, 0, 11219, 11218, 1, - 0, 0, 0, 11220, 11225, 1, 0, 0, 0, 11221, 11223, 3, 1576, 788, 0, 11222, - 11221, 1, 0, 0, 0, 11222, 11223, 1, 0, 0, 0, 11223, 11225, 1, 0, 0, 0, - 11224, 11210, 1, 0, 0, 0, 11224, 11212, 1, 0, 0, 0, 11224, 11222, 1, 0, - 0, 0, 11225, 11226, 1, 0, 0, 0, 11226, 11227, 5, 7, 0, 0, 11227, 1575, - 1, 0, 0, 0, 11228, 11229, 3, 1664, 832, 0, 11229, 1577, 1, 0, 0, 0, 11230, - 11232, 5, 531, 0, 0, 11231, 11233, 3, 1580, 790, 0, 11232, 11231, 1, 0, - 0, 0, 11232, 11233, 1, 0, 0, 0, 11233, 11234, 1, 0, 0, 0, 11234, 11236, - 3, 1412, 706, 0, 11235, 11237, 3, 1582, 791, 0, 11236, 11235, 1, 0, 0, - 0, 11236, 11237, 1, 0, 0, 0, 11237, 11239, 1, 0, 0, 0, 11238, 11240, 3, - 1584, 792, 0, 11239, 11238, 1, 0, 0, 0, 11239, 11240, 1, 0, 0, 0, 11240, - 11241, 1, 0, 0, 0, 11241, 11242, 5, 7, 0, 0, 11242, 11274, 1, 0, 0, 0, - 11243, 11245, 5, 531, 0, 0, 11244, 11246, 3, 1580, 790, 0, 11245, 11244, - 1, 0, 0, 0, 11245, 11246, 1, 0, 0, 0, 11246, 11247, 1, 0, 0, 0, 11247, - 11249, 3, 1436, 718, 0, 11248, 11250, 3, 1584, 792, 0, 11249, 11248, 1, - 0, 0, 0, 11249, 11250, 1, 0, 0, 0, 11250, 11251, 1, 0, 0, 0, 11251, 11252, - 5, 7, 0, 0, 11252, 11274, 1, 0, 0, 0, 11253, 11255, 5, 531, 0, 0, 11254, - 11256, 3, 1580, 790, 0, 11255, 11254, 1, 0, 0, 0, 11255, 11256, 1, 0, 0, - 0, 11256, 11257, 1, 0, 0, 0, 11257, 11258, 5, 532, 0, 0, 11258, 11260, - 3, 1412, 706, 0, 11259, 11261, 3, 1584, 792, 0, 11260, 11259, 1, 0, 0, - 0, 11260, 11261, 1, 0, 0, 0, 11261, 11262, 1, 0, 0, 0, 11262, 11263, 5, - 7, 0, 0, 11263, 11274, 1, 0, 0, 0, 11264, 11266, 5, 531, 0, 0, 11265, 11267, - 3, 1580, 790, 0, 11266, 11265, 1, 0, 0, 0, 11266, 11267, 1, 0, 0, 0, 11267, - 11269, 1, 0, 0, 0, 11268, 11270, 3, 1584, 792, 0, 11269, 11268, 1, 0, 0, - 0, 11269, 11270, 1, 0, 0, 0, 11270, 11271, 1, 0, 0, 0, 11271, 11274, 5, - 7, 0, 0, 11272, 11274, 5, 531, 0, 0, 11273, 11230, 1, 0, 0, 0, 11273, 11243, - 1, 0, 0, 0, 11273, 11253, 1, 0, 0, 0, 11273, 11264, 1, 0, 0, 0, 11273, - 11272, 1, 0, 0, 0, 11274, 1579, 1, 0, 0, 0, 11275, 11276, 7, 74, 0, 0, - 11276, 1581, 1, 0, 0, 0, 11277, 11278, 5, 6, 0, 0, 11278, 11280, 3, 1170, - 585, 0, 11279, 11277, 1, 0, 0, 0, 11280, 11281, 1, 0, 0, 0, 11281, 11279, - 1, 0, 0, 0, 11281, 11282, 1, 0, 0, 0, 11282, 1583, 1, 0, 0, 0, 11283, 11284, - 5, 100, 0, 0, 11284, 11285, 3, 1588, 794, 0, 11285, 1585, 1, 0, 0, 0, 11286, - 11287, 3, 1436, 718, 0, 11287, 11288, 5, 10, 0, 0, 11288, 11289, 3, 1170, - 585, 0, 11289, 1587, 1, 0, 0, 0, 11290, 11295, 3, 1586, 793, 0, 11291, - 11292, 5, 6, 0, 0, 11292, 11294, 3, 1586, 793, 0, 11293, 11291, 1, 0, 0, - 0, 11294, 11297, 1, 0, 0, 0, 11295, 11293, 1, 0, 0, 0, 11295, 11296, 1, - 0, 0, 0, 11296, 1589, 1, 0, 0, 0, 11297, 11295, 1, 0, 0, 0, 11298, 11299, - 5, 539, 0, 0, 11299, 11301, 3, 1664, 832, 0, 11300, 11302, 3, 1592, 796, - 0, 11301, 11300, 1, 0, 0, 0, 11301, 11302, 1, 0, 0, 0, 11302, 11303, 1, - 0, 0, 0, 11303, 11304, 5, 7, 0, 0, 11304, 1591, 1, 0, 0, 0, 11305, 11306, - 5, 6, 0, 0, 11306, 11307, 3, 1664, 832, 0, 11307, 1593, 1, 0, 0, 0, 11308, - 11309, 5, 540, 0, 0, 11309, 11310, 3, 1506, 753, 0, 11310, 11311, 5, 475, - 0, 0, 11311, 11313, 5, 540, 0, 0, 11312, 11314, 3, 1656, 828, 0, 11313, - 11312, 1, 0, 0, 0, 11313, 11314, 1, 0, 0, 0, 11314, 11315, 1, 0, 0, 0, - 11315, 11316, 5, 7, 0, 0, 11316, 1595, 1, 0, 0, 0, 11317, 11318, 3, 1674, - 837, 0, 11318, 11319, 5, 7, 0, 0, 11319, 1597, 1, 0, 0, 0, 11320, 11321, - 5, 221, 0, 0, 11321, 11335, 3, 1170, 585, 0, 11322, 11324, 3, 1604, 802, - 0, 11323, 11322, 1, 0, 0, 0, 11323, 11324, 1, 0, 0, 0, 11324, 11326, 1, - 0, 0, 0, 11325, 11327, 3, 1600, 800, 0, 11326, 11325, 1, 0, 0, 0, 11326, - 11327, 1, 0, 0, 0, 11327, 11336, 1, 0, 0, 0, 11328, 11330, 3, 1600, 800, - 0, 11329, 11328, 1, 0, 0, 0, 11329, 11330, 1, 0, 0, 0, 11330, 11332, 1, - 0, 0, 0, 11331, 11333, 3, 1604, 802, 0, 11332, 11331, 1, 0, 0, 0, 11332, - 11333, 1, 0, 0, 0, 11333, 11336, 1, 0, 0, 0, 11334, 11336, 1, 0, 0, 0, - 11335, 11323, 1, 0, 0, 0, 11335, 11329, 1, 0, 0, 0, 11335, 11334, 1, 0, - 0, 0, 11336, 11337, 1, 0, 0, 0, 11337, 11338, 5, 7, 0, 0, 11338, 1599, - 1, 0, 0, 0, 11339, 11340, 5, 100, 0, 0, 11340, 11341, 3, 1602, 801, 0, - 11341, 1601, 1, 0, 0, 0, 11342, 11347, 3, 1170, 585, 0, 11343, 11344, 5, - 6, 0, 0, 11344, 11346, 3, 1170, 585, 0, 11345, 11343, 1, 0, 0, 0, 11346, - 11349, 1, 0, 0, 0, 11347, 11345, 1, 0, 0, 0, 11347, 11348, 1, 0, 0, 0, - 11348, 1603, 1, 0, 0, 0, 11349, 11347, 1, 0, 0, 0, 11350, 11352, 5, 71, - 0, 0, 11351, 11353, 5, 358, 0, 0, 11352, 11351, 1, 0, 0, 0, 11352, 11353, - 1, 0, 0, 0, 11353, 11354, 1, 0, 0, 0, 11354, 11355, 3, 1620, 810, 0, 11355, - 1605, 1, 0, 0, 0, 11356, 11377, 5, 541, 0, 0, 11357, 11359, 3, 1640, 820, - 0, 11358, 11360, 3, 1614, 807, 0, 11359, 11358, 1, 0, 0, 0, 11359, 11360, - 1, 0, 0, 0, 11360, 11361, 1, 0, 0, 0, 11361, 11368, 5, 62, 0, 0, 11362, - 11369, 3, 968, 484, 0, 11363, 11364, 5, 221, 0, 0, 11364, 11366, 3, 1664, - 832, 0, 11365, 11367, 3, 1612, 806, 0, 11366, 11365, 1, 0, 0, 0, 11366, - 11367, 1, 0, 0, 0, 11367, 11369, 1, 0, 0, 0, 11368, 11362, 1, 0, 0, 0, - 11368, 11363, 1, 0, 0, 0, 11369, 11378, 1, 0, 0, 0, 11370, 11375, 3, 1426, - 713, 0, 11371, 11372, 5, 2, 0, 0, 11372, 11373, 3, 1610, 805, 0, 11373, - 11374, 5, 3, 0, 0, 11374, 11376, 1, 0, 0, 0, 11375, 11371, 1, 0, 0, 0, - 11375, 11376, 1, 0, 0, 0, 11376, 11378, 1, 0, 0, 0, 11377, 11357, 1, 0, - 0, 0, 11377, 11370, 1, 0, 0, 0, 11378, 11379, 1, 0, 0, 0, 11379, 11380, - 5, 7, 0, 0, 11380, 1607, 1, 0, 0, 0, 11381, 11382, 3, 1426, 713, 0, 11382, - 11383, 5, 20, 0, 0, 11383, 11384, 3, 1170, 585, 0, 11384, 11387, 1, 0, - 0, 0, 11385, 11387, 3, 1170, 585, 0, 11386, 11381, 1, 0, 0, 0, 11386, 11385, - 1, 0, 0, 0, 11387, 1609, 1, 0, 0, 0, 11388, 11393, 3, 1608, 804, 0, 11389, - 11390, 5, 6, 0, 0, 11390, 11392, 3, 1608, 804, 0, 11391, 11389, 1, 0, 0, - 0, 11392, 11395, 1, 0, 0, 0, 11393, 11391, 1, 0, 0, 0, 11393, 11394, 1, - 0, 0, 0, 11394, 1611, 1, 0, 0, 0, 11395, 11393, 1, 0, 0, 0, 11396, 11397, - 5, 100, 0, 0, 11397, 11398, 3, 1332, 666, 0, 11398, 1613, 1, 0, 0, 0, 11399, - 11401, 3, 1616, 808, 0, 11400, 11399, 1, 0, 0, 0, 11400, 11401, 1, 0, 0, - 0, 11401, 11402, 1, 0, 0, 0, 11402, 11403, 5, 336, 0, 0, 11403, 1615, 1, - 0, 0, 0, 11404, 11405, 5, 281, 0, 0, 11405, 1617, 1, 0, 0, 0, 11406, 11408, - 5, 61, 0, 0, 11407, 11409, 3, 1624, 812, 0, 11408, 11407, 1, 0, 0, 0, 11408, - 11409, 1, 0, 0, 0, 11409, 11411, 1, 0, 0, 0, 11410, 11412, 3, 1622, 811, - 0, 11411, 11410, 1, 0, 0, 0, 11411, 11412, 1, 0, 0, 0, 11412, 11413, 1, - 0, 0, 0, 11413, 11414, 3, 1640, 820, 0, 11414, 11415, 5, 71, 0, 0, 11415, - 11416, 3, 1620, 810, 0, 11416, 11417, 5, 7, 0, 0, 11417, 1619, 1, 0, 0, - 0, 11418, 11419, 3, 1332, 666, 0, 11419, 1621, 1, 0, 0, 0, 11420, 11421, - 7, 25, 0, 0, 11421, 1623, 1, 0, 0, 0, 11422, 11438, 5, 280, 0, 0, 11423, - 11438, 5, 305, 0, 0, 11424, 11438, 5, 226, 0, 0, 11425, 11438, 5, 259, - 0, 0, 11426, 11427, 5, 149, 0, 0, 11427, 11438, 3, 1170, 585, 0, 11428, - 11429, 5, 319, 0, 0, 11429, 11438, 3, 1170, 585, 0, 11430, 11438, 3, 1170, - 585, 0, 11431, 11438, 5, 30, 0, 0, 11432, 11435, 7, 75, 0, 0, 11433, 11436, - 3, 1170, 585, 0, 11434, 11436, 5, 30, 0, 0, 11435, 11433, 1, 0, 0, 0, 11435, - 11434, 1, 0, 0, 0, 11435, 11436, 1, 0, 0, 0, 11436, 11438, 1, 0, 0, 0, - 11437, 11422, 1, 0, 0, 0, 11437, 11423, 1, 0, 0, 0, 11437, 11424, 1, 0, - 0, 0, 11437, 11425, 1, 0, 0, 0, 11437, 11426, 1, 0, 0, 0, 11437, 11428, - 1, 0, 0, 0, 11437, 11430, 1, 0, 0, 0, 11437, 11431, 1, 0, 0, 0, 11437, - 11432, 1, 0, 0, 0, 11438, 1625, 1, 0, 0, 0, 11439, 11441, 5, 277, 0, 0, - 11440, 11442, 3, 1624, 812, 0, 11441, 11440, 1, 0, 0, 0, 11441, 11442, - 1, 0, 0, 0, 11442, 11443, 1, 0, 0, 0, 11443, 11444, 3, 1640, 820, 0, 11444, - 11445, 5, 7, 0, 0, 11445, 1627, 1, 0, 0, 0, 11446, 11447, 5, 176, 0, 0, - 11447, 11448, 3, 1640, 820, 0, 11448, 11449, 5, 7, 0, 0, 11449, 1629, 1, - 0, 0, 0, 11450, 11451, 5, 78, 0, 0, 11451, 11452, 5, 7, 0, 0, 11452, 1631, - 1, 0, 0, 0, 11453, 11455, 5, 180, 0, 0, 11454, 11456, 3, 1636, 818, 0, - 11455, 11454, 1, 0, 0, 0, 11455, 11456, 1, 0, 0, 0, 11456, 11457, 1, 0, - 0, 0, 11457, 11458, 5, 7, 0, 0, 11458, 1633, 1, 0, 0, 0, 11459, 11461, - 5, 331, 0, 0, 11460, 11462, 3, 1636, 818, 0, 11461, 11460, 1, 0, 0, 0, - 11461, 11462, 1, 0, 0, 0, 11462, 11463, 1, 0, 0, 0, 11463, 11464, 5, 7, - 0, 0, 11464, 1635, 1, 0, 0, 0, 11465, 11467, 5, 33, 0, 0, 11466, 11468, - 5, 281, 0, 0, 11467, 11466, 1, 0, 0, 0, 11467, 11468, 1, 0, 0, 0, 11468, - 11469, 1, 0, 0, 0, 11469, 11470, 5, 172, 0, 0, 11470, 1637, 1, 0, 0, 0, - 11471, 11472, 5, 345, 0, 0, 11472, 11473, 3, 526, 263, 0, 11473, 11474, - 5, 94, 0, 0, 11474, 11475, 5, 53, 0, 0, 11475, 11476, 5, 7, 0, 0, 11476, - 11484, 1, 0, 0, 0, 11477, 11480, 5, 325, 0, 0, 11478, 11481, 3, 526, 263, - 0, 11479, 11481, 5, 30, 0, 0, 11480, 11478, 1, 0, 0, 0, 11480, 11479, 1, - 0, 0, 0, 11481, 11482, 1, 0, 0, 0, 11482, 11484, 5, 7, 0, 0, 11483, 11471, - 1, 0, 0, 0, 11483, 11477, 1, 0, 0, 0, 11484, 1639, 1, 0, 0, 0, 11485, 11488, - 3, 1426, 713, 0, 11486, 11488, 5, 28, 0, 0, 11487, 11485, 1, 0, 0, 0, 11487, - 11486, 1, 0, 0, 0, 11488, 1641, 1, 0, 0, 0, 11489, 11490, 5, 538, 0, 0, - 11490, 11491, 3, 1644, 822, 0, 11491, 1643, 1, 0, 0, 0, 11492, 11494, 3, - 1646, 823, 0, 11493, 11492, 1, 0, 0, 0, 11494, 11495, 1, 0, 0, 0, 11495, - 11493, 1, 0, 0, 0, 11495, 11496, 1, 0, 0, 0, 11496, 1645, 1, 0, 0, 0, 11497, - 11498, 5, 102, 0, 0, 11498, 11499, 3, 1648, 824, 0, 11499, 11500, 5, 93, - 0, 0, 11500, 11501, 3, 1506, 753, 0, 11501, 1647, 1, 0, 0, 0, 11502, 11507, - 3, 1650, 825, 0, 11503, 11504, 5, 82, 0, 0, 11504, 11506, 3, 1650, 825, - 0, 11505, 11503, 1, 0, 0, 0, 11506, 11509, 1, 0, 0, 0, 11507, 11505, 1, - 0, 0, 0, 11507, 11508, 1, 0, 0, 0, 11508, 1649, 1, 0, 0, 0, 11509, 11507, - 1, 0, 0, 0, 11510, 11514, 3, 1660, 830, 0, 11511, 11512, 5, 532, 0, 0, - 11512, 11514, 3, 1412, 706, 0, 11513, 11510, 1, 0, 0, 0, 11513, 11511, - 1, 0, 0, 0, 11514, 1651, 1, 0, 0, 0, 11515, 11516, 3, 1470, 735, 0, 11516, - 1653, 1, 0, 0, 0, 11517, 11518, 3, 1470, 735, 0, 11518, 1655, 1, 0, 0, - 0, 11519, 11520, 3, 1660, 830, 0, 11520, 1657, 1, 0, 0, 0, 11521, 11522, - 5, 102, 0, 0, 11522, 11523, 3, 1668, 834, 0, 11523, 1659, 1, 0, 0, 0, 11524, - 11527, 3, 1426, 713, 0, 11525, 11527, 3, 1662, 831, 0, 11526, 11524, 1, - 0, 0, 0, 11526, 11525, 1, 0, 0, 0, 11527, 1661, 1, 0, 0, 0, 11528, 11529, - 7, 76, 0, 0, 11529, 1663, 1, 0, 0, 0, 11530, 11532, 3, 1000, 500, 0, 11531, - 11530, 1, 0, 0, 0, 11531, 11532, 1, 0, 0, 0, 11532, 11533, 1, 0, 0, 0, - 11533, 11535, 3, 1380, 690, 0, 11534, 11536, 3, 1062, 531, 0, 11535, 11534, - 1, 0, 0, 0, 11535, 11536, 1, 0, 0, 0, 11536, 11538, 1, 0, 0, 0, 11537, - 11539, 3, 1102, 551, 0, 11538, 11537, 1, 0, 0, 0, 11538, 11539, 1, 0, 0, - 0, 11539, 11541, 1, 0, 0, 0, 11540, 11542, 3, 1032, 516, 0, 11541, 11540, - 1, 0, 0, 0, 11541, 11542, 1, 0, 0, 0, 11542, 11544, 1, 0, 0, 0, 11543, - 11545, 3, 1046, 523, 0, 11544, 11543, 1, 0, 0, 0, 11544, 11545, 1, 0, 0, - 0, 11545, 11547, 1, 0, 0, 0, 11546, 11548, 3, 1292, 646, 0, 11547, 11546, - 1, 0, 0, 0, 11547, 11548, 1, 0, 0, 0, 11548, 11550, 1, 0, 0, 0, 11549, - 11551, 3, 1004, 502, 0, 11550, 11549, 1, 0, 0, 0, 11550, 11551, 1, 0, 0, - 0, 11551, 11553, 1, 0, 0, 0, 11552, 11554, 3, 1014, 507, 0, 11553, 11552, - 1, 0, 0, 0, 11553, 11554, 1, 0, 0, 0, 11554, 11556, 1, 0, 0, 0, 11555, - 11557, 3, 1050, 525, 0, 11556, 11555, 1, 0, 0, 0, 11556, 11557, 1, 0, 0, - 0, 11557, 1665, 1, 0, 0, 0, 11558, 11559, 3, 1664, 832, 0, 11559, 1667, - 1, 0, 0, 0, 11560, 11561, 3, 1664, 832, 0, 11561, 1669, 1, 0, 0, 0, 11562, - 11563, 3, 1170, 585, 0, 11563, 1671, 1, 0, 0, 0, 11564, 11565, 3, 1170, - 585, 0, 11565, 1673, 1, 0, 0, 0, 11566, 11568, 3, 8, 4, 0, 11567, 11569, - 3, 1676, 838, 0, 11568, 11567, 1, 0, 0, 0, 11568, 11569, 1, 0, 0, 0, 11569, - 1675, 1, 0, 0, 0, 11570, 11572, 5, 71, 0, 0, 11571, 11573, 3, 992, 496, - 0, 11572, 11571, 1, 0, 0, 0, 11572, 11573, 1, 0, 0, 0, 11573, 11574, 1, - 0, 0, 0, 11574, 11575, 3, 1620, 810, 0, 11575, 1677, 1, 0, 0, 0, 1161, - 1687, 1691, 1819, 1823, 1832, 1841, 1847, 1853, 1868, 1880, 1886, 1894, - 1905, 1909, 1917, 1925, 1943, 1946, 1951, 1960, 1969, 1973, 1985, 2005, - 2018, 2025, 2033, 2038, 2045, 2051, 2058, 2069, 2073, 2077, 2090, 2094, - 2099, 2104, 2116, 2125, 2138, 2143, 2154, 2160, 2166, 2171, 2182, 2188, - 2194, 2203, 2213, 2228, 2234, 2241, 2246, 2253, 2264, 2288, 2295, 2304, - 2313, 2321, 2331, 2340, 2349, 2357, 2365, 2374, 2383, 2387, 2394, 2402, - 2412, 2418, 2422, 2426, 2430, 2434, 2439, 2442, 2446, 2467, 2473, 2572, - 2579, 2595, 2609, 2619, 2621, 2626, 2630, 2633, 2639, 2641, 2669, 2679, - 2692, 2699, 2705, 2709, 2715, 2720, 2723, 2725, 2730, 2734, 2738, 2742, - 2746, 2749, 2753, 2761, 2765, 2769, 2778, 2785, 2790, 2797, 2802, 2809, - 2814, 2832, 2837, 2849, 2854, 2863, 2870, 2877, 2883, 2888, 2892, 2895, - 2898, 2901, 2904, 2907, 2912, 2915, 2918, 2921, 2924, 2927, 2933, 2937, - 2940, 2943, 2946, 2949, 2951, 2960, 2973, 2981, 2987, 2991, 2996, 3003, - 3010, 3021, 3028, 3031, 3034, 3039, 3042, 3049, 3058, 3065, 3070, 3073, - 3076, 3078, 3082, 3089, 3096, 3106, 3116, 3126, 3132, 3135, 3138, 3145, - 3153, 3156, 3159, 3166, 3170, 3176, 3179, 3182, 3185, 3197, 3200, 3203, - 3207, 3221, 3239, 3250, 3265, 3282, 3284, 3305, 3310, 3313, 3317, 3320, - 3326, 3329, 3331, 3340, 3349, 3368, 3372, 3383, 3392, 3398, 3404, 3408, - 3411, 3414, 3417, 3420, 3426, 3430, 3437, 3443, 3447, 3450, 3453, 3456, - 3464, 3468, 3472, 3478, 3482, 3488, 3502, 3511, 3529, 3534, 3537, 3540, - 3550, 3557, 3562, 3565, 3568, 3575, 3578, 3580, 3586, 3595, 3605, 3610, - 3619, 3628, 3632, 3639, 3649, 3660, 3770, 3778, 3781, 3791, 3796, 3806, - 3817, 3829, 3842, 3852, 3865, 3868, 3875, 3884, 3887, 3894, 3896, 3904, - 3914, 3916, 3924, 3928, 3933, 3944, 3948, 3953, 3963, 3969, 3982, 3988, - 3990, 3997, 4005, 4010, 4025, 4038, 4040, 4044, 4064, 4081, 4084, 4087, - 4090, 4093, 4101, 4104, 4107, 4153, 4156, 4159, 4177, 4184, 4193, 4199, - 4206, 4216, 4224, 4229, 4241, 4258, 4264, 4271, 4279, 4293, 4321, 4328, - 4342, 4357, 4370, 4379, 4404, 4415, 4482, 4493, 4499, 4507, 4518, 4532, - 4541, 4551, 4563, 4578, 4589, 4597, 4607, 4614, 4617, 4623, 4626, 4641, - 4654, 4683, 4690, 4705, 4714, 4725, 4727, 4736, 4747, 4749, 4756, 4771, - 4777, 4785, 4791, 4799, 4809, 4815, 4823, 4829, 4837, 4844, 4853, 4855, - 4880, 4887, 4898, 4904, 4913, 4918, 4924, 4931, 4936, 4940, 4943, 4949, - 5098, 5102, 5107, 5118, 5129, 5140, 5151, 5162, 5173, 5184, 5196, 5207, - 5215, 5222, 5228, 5236, 5241, 5246, 5251, 5257, 5264, 5270, 5276, 5281, - 5287, 5294, 5299, 5305, 5312, 5315, 5328, 5337, 5349, 5351, 5368, 5375, - 5380, 5384, 5388, 5394, 5396, 5458, 5465, 5471, 5478, 5484, 5495, 5498, - 5505, 5508, 5518, 5521, 5523, 5542, 5554, 5563, 5572, 5584, 5586, 5592, - 5596, 5601, 5604, 5609, 5615, 5618, 5621, 5624, 5627, 5643, 5647, 5650, - 5653, 5656, 5659, 5664, 5667, 5669, 5682, 5694, 5708, 5712, 5724, 5726, - 5735, 5744, 5752, 5761, 5763, 5767, 5776, 5781, 5787, 5792, 5796, 5801, - 5807, 5813, 5819, 5825, 5830, 5845, 5854, 5865, 5871, 5910, 5925, 5932, - 5943, 5957, 5965, 5970, 5978, 5986, 5992, 6000, 6006, 6014, 6016, 6022, - 6030, 6032, 6038, 6046, 6048, 6072, 6079, 6089, 6101, 6106, 6119, 6131, - 6143, 6145, 6151, 6156, 6164, 6171, 6216, 6221, 6228, 6233, 6240, 6250, - 6260, 6264, 6275, 6292, 6363, 6558, 6571, 6582, 6595, 6607, 6621, 6653, - 6667, 6779, 6781, 6792, 6803, 6814, 6827, 6839, 6850, 6857, 7078, 7093, - 7104, 7111, 7165, 7306, 7312, 7321, 7329, 7331, 7338, 7344, 7347, 7354, - 7358, 7361, 7366, 7369, 7373, 7376, 7379, 7410, 7420, 7427, 7450, 7459, - 7477, 7483, 7491, 7493, 7497, 7507, 7511, 7521, 7524, 7528, 7532, 7540, - 7551, 7563, 7567, 7570, 7574, 7577, 7582, 7586, 7589, 7593, 7596, 7600, - 7603, 7614, 7621, 7634, 7648, 7652, 7657, 7664, 7671, 7674, 7679, 7682, - 7691, 7693, 7698, 7702, 7714, 7717, 7724, 7728, 7733, 7743, 7752, 7755, - 7763, 7774, 7778, 7784, 7791, 7811, 7832, 7836, 7841, 7924, 7930, 7943, - 7947, 7951, 7955, 7961, 7968, 7971, 7974, 7977, 7980, 7987, 7989, 7993, - 7996, 8003, 8005, 8012, 8019, 8023, 8027, 8043, 8050, 8060, 8073, 8084, - 8091, 8096, 8100, 8104, 8109, 8123, 8128, 8132, 8140, 8143, 8147, 8158, - 8161, 8163, 8179, 8182, 8189, 8192, 8197, 8212, 8218, 8227, 8236, 8243, - 8246, 8252, 8257, 8263, 8268, 8272, 8277, 8280, 8286, 8290, 8292, 8295, - 8302, 8305, 8312, 8320, 8323, 8332, 8337, 8343, 8346, 8349, 8356, 8360, - 8363, 8378, 8381, 8388, 8391, 8398, 8401, 8404, 8411, 8424, 8434, 8442, - 8454, 8456, 8463, 8467, 8477, 8480, 8484, 8488, 8492, 8494, 8499, 8504, - 8510, 8515, 8520, 8523, 8526, 8531, 8534, 8537, 8540, 8543, 8546, 8549, - 8555, 8559, 8568, 8573, 8577, 8586, 8592, 8596, 8601, 8605, 8610, 8616, - 8628, 8643, 8650, 8652, 8655, 8659, 8663, 8665, 8673, 8682, 8688, 8690, - 8692, 8699, 8703, 8712, 8716, 8731, 8739, 8767, 8774, 8778, 8781, 8786, - 8790, 8793, 8809, 8820, 8825, 8828, 8832, 8836, 8840, 8845, 8849, 8853, - 8855, 8860, 8864, 8866, 8871, 8879, 8884, 8890, 8893, 8900, 8905, 8912, - 8917, 8920, 8926, 8930, 8939, 8943, 8951, 8953, 8960, 8965, 8968, 8976, - 8985, 8993, 8995, 8999, 9006, 9025, 9034, 9040, 9059, 9068, 9074, 9078, - 9083, 9093, 9100, 9109, 9112, 9121, 9123, 9129, 9133, 9138, 9148, 9154, - 9156, 9162, 9168, 9171, 9174, 9187, 9193, 9197, 9201, 9204, 9212, 9216, - 9220, 9228, 9235, 9242, 9246, 9252, 9254, 9263, 9266, 9276, 9292, 9298, - 9303, 9310, 9319, 9326, 9334, 9342, 9347, 9351, 9357, 9361, 9365, 9368, - 9374, 9379, 9395, 9398, 9400, 9412, 9414, 9418, 9424, 9428, 9430, 9438, - 9442, 9451, 9459, 9465, 9468, 9477, 9482, 9489, 9499, 9525, 9536, 9538, - 9540, 9548, 9571, 9579, 9589, 9592, 9597, 9602, 9606, 9612, 9615, 9618, - 9622, 9625, 9628, 9633, 9639, 9642, 9645, 9653, 9656, 9659, 9663, 9668, - 9686, 9693, 9700, 9707, 9725, 9733, 9745, 9763, 9802, 9804, 9824, 9834, - 9845, 9866, 9869, 9872, 9879, 9886, 9889, 9897, 9900, 9907, 9914, 9927, - 9940, 9943, 9947, 9950, 9960, 9963, 9973, 9976, 9979, 9983, 10004, 10009, - 10021, 10031, 10036, 10039, 10042, 10052, 10065, 10072, 10078, 10083, 10088, - 10090, 10098, 10106, 10113, 10124, 10128, 10136, 10143, 10155, 10167, 10173, - 10181, 10198, 10223, 10233, 10237, 10240, 10243, 10246, 10259, 10264, 10269, - 10271, 10279, 10288, 10297, 10302, 10311, 10316, 10330, 10340, 10348, 10362, - 10369, 10377, 10385, 10392, 10398, 10407, 10422, 10433, 10466, 10475, 10482, - 10486, 10490, 10497, 10511, 10516, 10521, 10525, 10527, 10530, 10537, 10542, - 10552, 10558, 10561, 10566, 10573, 10578, 10585, 10601, 10613, 10618, 10626, - 10633, 10638, 10650, 10658, 10663, 10673, 10680, 10687, 10696, 10702, 10708, - 10714, 10722, 10726, 10733, 10795, 10806, 10811, 10834, 10842, 10850, 10854, - 10857, 10861, 10863, 10870, 10879, 10886, 10890, 10893, 10896, 10899, 10903, - 10908, 10915, 10928, 10938, 10957, 10964, 10994, 11004, 11013, 11018, 11029, - 11042, 11055, 11063, 11072, 11085, 11093, 11097, 11108, 11119, 11124, 11131, - 11141, 11148, 11151, 11157, 11159, 11170, 11183, 11188, 11200, 11203, 11216, - 11219, 11222, 11224, 11232, 11236, 11239, 11245, 11249, 11255, 11260, 11266, - 11269, 11273, 11281, 11295, 11301, 11313, 11323, 11326, 11329, 11332, 11335, - 11347, 11352, 11359, 11366, 11368, 11375, 11377, 11386, 11393, 11400, 11408, - 11411, 11435, 11437, 11441, 11455, 11461, 11467, 11480, 11483, 11487, 11495, - 11507, 11513, 11526, 11531, 11535, 11538, 11541, 11544, 11547, 11550, 11553, - 11556, 11568, 11572, + 1, 0, 0, 0, 5803, 5807, 3, 1432, 716, 0, 5804, 5807, 5, 232, 0, 0, 5805, + 5807, 5, 360, 0, 0, 5806, 5803, 1, 0, 0, 0, 5806, 5804, 1, 0, 0, 0, 5806, + 5805, 1, 0, 0, 0, 5807, 643, 1, 0, 0, 0, 5808, 5809, 3, 646, 323, 0, 5809, + 645, 1, 0, 0, 0, 5810, 5824, 3, 1126, 563, 0, 5811, 5813, 5, 385, 0, 0, + 5812, 5811, 1, 0, 0, 0, 5812, 5813, 1, 0, 0, 0, 5813, 5817, 1, 0, 0, 0, + 5814, 5818, 3, 1432, 716, 0, 5815, 5818, 5, 232, 0, 0, 5816, 5818, 5, 360, + 0, 0, 5817, 5814, 1, 0, 0, 0, 5817, 5815, 1, 0, 0, 0, 5817, 5816, 1, 0, + 0, 0, 5818, 5819, 1, 0, 0, 0, 5819, 5820, 3, 528, 264, 0, 5820, 5821, 5, + 521, 0, 0, 5821, 5822, 5, 439, 0, 0, 5822, 5824, 1, 0, 0, 0, 5823, 5810, + 1, 0, 0, 0, 5823, 5812, 1, 0, 0, 0, 5824, 647, 1, 0, 0, 0, 5825, 5828, + 3, 638, 319, 0, 5826, 5827, 7, 28, 0, 0, 5827, 5829, 3, 1172, 586, 0, 5828, + 5826, 1, 0, 0, 0, 5828, 5829, 1, 0, 0, 0, 5829, 649, 1, 0, 0, 0, 5830, + 5831, 3, 638, 319, 0, 5831, 651, 1, 0, 0, 0, 5832, 5843, 5, 496, 0, 0, + 5833, 5844, 5, 503, 0, 0, 5834, 5844, 3, 654, 327, 0, 5835, 5836, 5, 297, + 0, 0, 5836, 5837, 5, 40, 0, 0, 5837, 5844, 3, 654, 327, 0, 5838, 5839, + 3, 654, 327, 0, 5839, 5840, 5, 297, 0, 0, 5840, 5841, 5, 40, 0, 0, 5841, + 5842, 3, 654, 327, 0, 5842, 5844, 1, 0, 0, 0, 5843, 5833, 1, 0, 0, 0, 5843, + 5834, 1, 0, 0, 0, 5843, 5835, 1, 0, 0, 0, 5843, 5838, 1, 0, 0, 0, 5844, + 5845, 1, 0, 0, 0, 5845, 5846, 5, 497, 0, 0, 5846, 653, 1, 0, 0, 0, 5847, + 5852, 3, 650, 325, 0, 5848, 5849, 5, 500, 0, 0, 5849, 5851, 3, 650, 325, + 0, 5850, 5848, 1, 0, 0, 0, 5851, 5854, 1, 0, 0, 0, 5852, 5850, 1, 0, 0, + 0, 5852, 5853, 1, 0, 0, 0, 5853, 655, 1, 0, 0, 0, 5854, 5852, 1, 0, 0, + 0, 5855, 5856, 3, 1402, 701, 0, 5856, 5857, 3, 652, 326, 0, 5857, 657, + 1, 0, 0, 0, 5858, 5863, 3, 656, 328, 0, 5859, 5860, 5, 500, 0, 0, 5860, + 5862, 3, 656, 328, 0, 5861, 5859, 1, 0, 0, 0, 5862, 5865, 1, 0, 0, 0, 5863, + 5861, 1, 0, 0, 0, 5863, 5864, 1, 0, 0, 0, 5864, 659, 1, 0, 0, 0, 5865, + 5863, 1, 0, 0, 0, 5866, 5868, 3, 664, 332, 0, 5867, 5866, 1, 0, 0, 0, 5868, + 5869, 1, 0, 0, 0, 5869, 5867, 1, 0, 0, 0, 5869, 5870, 1, 0, 0, 0, 5870, + 5871, 1, 0, 0, 0, 5871, 5872, 6, 330, -1, 0, 5872, 661, 1, 0, 0, 0, 5873, + 5874, 5, 43, 0, 0, 5874, 5875, 5, 291, 0, 0, 5875, 5876, 5, 279, 0, 0, + 5876, 5909, 5, 196, 0, 0, 5877, 5878, 5, 358, 0, 0, 5878, 5879, 5, 279, + 0, 0, 5879, 5880, 5, 291, 0, 0, 5880, 5881, 5, 279, 0, 0, 5881, 5909, 5, + 196, 0, 0, 5882, 5909, 5, 406, 0, 0, 5883, 5909, 5, 180, 0, 0, 5884, 5909, + 5, 397, 0, 0, 5885, 5909, 5, 469, 0, 0, 5886, 5887, 5, 143, 0, 0, 5887, + 5888, 5, 376, 0, 0, 5888, 5909, 5, 105, 0, 0, 5889, 5890, 5, 143, 0, 0, + 5890, 5891, 5, 376, 0, 0, 5891, 5909, 5, 205, 0, 0, 5892, 5893, 5, 376, + 0, 0, 5893, 5909, 5, 105, 0, 0, 5894, 5895, 5, 376, 0, 0, 5895, 5909, 5, + 205, 0, 0, 5896, 5909, 5, 230, 0, 0, 5897, 5898, 5, 274, 0, 0, 5898, 5909, + 5, 230, 0, 0, 5899, 5900, 5, 79, 0, 0, 5900, 5909, 3, 294, 147, 0, 5901, + 5902, 5, 367, 0, 0, 5902, 5909, 3, 294, 147, 0, 5903, 5904, 5, 411, 0, + 0, 5904, 5909, 3, 526, 263, 0, 5905, 5909, 3, 82, 41, 0, 5906, 5907, 5, + 308, 0, 0, 5907, 5909, 3, 1428, 714, 0, 5908, 5873, 1, 0, 0, 0, 5908, 5877, + 1, 0, 0, 0, 5908, 5882, 1, 0, 0, 0, 5908, 5883, 1, 0, 0, 0, 5908, 5884, + 1, 0, 0, 0, 5908, 5885, 1, 0, 0, 0, 5908, 5886, 1, 0, 0, 0, 5908, 5889, + 1, 0, 0, 0, 5908, 5892, 1, 0, 0, 0, 5908, 5894, 1, 0, 0, 0, 5908, 5896, + 1, 0, 0, 0, 5908, 5897, 1, 0, 0, 0, 5908, 5899, 1, 0, 0, 0, 5908, 5901, + 1, 0, 0, 0, 5908, 5903, 1, 0, 0, 0, 5908, 5905, 1, 0, 0, 0, 5908, 5906, + 1, 0, 0, 0, 5909, 663, 1, 0, 0, 0, 5910, 5911, 5, 19, 0, 0, 5911, 5924, + 3, 666, 333, 0, 5912, 5913, 5, 32, 0, 0, 5913, 5914, 5, 26, 0, 0, 5914, + 5915, 3, 6, 3, 0, 5915, 5916, 5, 128, 0, 0, 5916, 5924, 1, 0, 0, 0, 5917, + 5918, 5, 225, 0, 0, 5918, 5924, 3, 72, 36, 0, 5919, 5920, 5, 432, 0, 0, + 5920, 5924, 3, 668, 334, 0, 5921, 5924, 5, 473, 0, 0, 5922, 5924, 3, 662, + 331, 0, 5923, 5910, 1, 0, 0, 0, 5923, 5912, 1, 0, 0, 0, 5923, 5917, 1, + 0, 0, 0, 5923, 5919, 1, 0, 0, 0, 5923, 5921, 1, 0, 0, 0, 5923, 5922, 1, + 0, 0, 0, 5924, 665, 1, 0, 0, 0, 5925, 5931, 3, 1414, 707, 0, 5926, 5927, + 3, 1414, 707, 0, 5927, 5928, 5, 500, 0, 0, 5928, 5929, 3, 1414, 707, 0, + 5929, 5931, 1, 0, 0, 0, 5930, 5925, 1, 0, 0, 0, 5930, 5926, 1, 0, 0, 0, + 5931, 667, 1, 0, 0, 0, 5932, 5933, 5, 153, 0, 0, 5933, 5934, 5, 439, 0, + 0, 5934, 5941, 3, 1126, 563, 0, 5935, 5936, 5, 500, 0, 0, 5936, 5937, 5, + 153, 0, 0, 5937, 5938, 5, 439, 0, 0, 5938, 5940, 3, 1126, 563, 0, 5939, + 5935, 1, 0, 0, 0, 5940, 5943, 1, 0, 0, 0, 5941, 5939, 1, 0, 0, 0, 5941, + 5942, 1, 0, 0, 0, 5942, 669, 1, 0, 0, 0, 5943, 5941, 1, 0, 0, 0, 5944, + 5945, 5, 474, 0, 0, 5945, 5946, 3, 462, 231, 0, 5946, 671, 1, 0, 0, 0, + 5947, 5948, 3, 642, 321, 0, 5948, 5949, 3, 646, 323, 0, 5949, 673, 1, 0, + 0, 0, 5950, 5955, 3, 672, 336, 0, 5951, 5952, 5, 500, 0, 0, 5952, 5954, + 3, 672, 336, 0, 5953, 5951, 1, 0, 0, 0, 5954, 5957, 1, 0, 0, 0, 5955, 5953, + 1, 0, 0, 0, 5955, 5956, 1, 0, 0, 0, 5956, 675, 1, 0, 0, 0, 5957, 5955, + 1, 0, 0, 0, 5958, 5959, 5, 12, 0, 0, 5959, 5960, 7, 29, 0, 0, 5960, 5961, + 3, 632, 316, 0, 5961, 5963, 3, 678, 339, 0, 5962, 5964, 3, 680, 340, 0, + 5963, 5962, 1, 0, 0, 0, 5963, 5964, 1, 0, 0, 0, 5964, 677, 1, 0, 0, 0, + 5965, 5967, 3, 662, 331, 0, 5966, 5965, 1, 0, 0, 0, 5967, 5968, 1, 0, 0, + 0, 5968, 5966, 1, 0, 0, 0, 5968, 5969, 1, 0, 0, 0, 5969, 679, 1, 0, 0, + 0, 5970, 5971, 5, 355, 0, 0, 5971, 681, 1, 0, 0, 0, 5972, 5973, 5, 121, + 0, 0, 5973, 5974, 5, 161, 0, 0, 5974, 5976, 3, 630, 315, 0, 5975, 5977, + 3, 108, 54, 0, 5976, 5975, 1, 0, 0, 0, 5976, 5977, 1, 0, 0, 0, 5977, 6015, + 1, 0, 0, 0, 5978, 5979, 5, 121, 0, 0, 5979, 5980, 5, 161, 0, 0, 5980, 5981, + 5, 177, 0, 0, 5981, 5982, 5, 139, 0, 0, 5982, 5984, 3, 630, 315, 0, 5983, + 5985, 3, 108, 54, 0, 5984, 5983, 1, 0, 0, 0, 5984, 5985, 1, 0, 0, 0, 5985, + 6015, 1, 0, 0, 0, 5986, 5987, 5, 121, 0, 0, 5987, 5988, 5, 331, 0, 0, 5988, + 5990, 3, 630, 315, 0, 5989, 5991, 3, 108, 54, 0, 5990, 5989, 1, 0, 0, 0, + 5990, 5991, 1, 0, 0, 0, 5991, 6015, 1, 0, 0, 0, 5992, 5993, 5, 121, 0, + 0, 5993, 5994, 5, 331, 0, 0, 5994, 5995, 5, 177, 0, 0, 5995, 5996, 5, 139, + 0, 0, 5996, 5998, 3, 630, 315, 0, 5997, 5999, 3, 108, 54, 0, 5998, 5997, + 1, 0, 0, 0, 5998, 5999, 1, 0, 0, 0, 5999, 6015, 1, 0, 0, 0, 6000, 6001, + 5, 121, 0, 0, 6001, 6002, 5, 364, 0, 0, 6002, 6004, 3, 630, 315, 0, 6003, + 6005, 3, 108, 54, 0, 6004, 6003, 1, 0, 0, 0, 6004, 6005, 1, 0, 0, 0, 6005, + 6015, 1, 0, 0, 0, 6006, 6007, 5, 121, 0, 0, 6007, 6008, 5, 364, 0, 0, 6008, + 6009, 5, 177, 0, 0, 6009, 6010, 5, 139, 0, 0, 6010, 6012, 3, 630, 315, + 0, 6011, 6013, 3, 108, 54, 0, 6012, 6011, 1, 0, 0, 0, 6012, 6013, 1, 0, + 0, 0, 6013, 6015, 1, 0, 0, 0, 6014, 5972, 1, 0, 0, 0, 6014, 5978, 1, 0, + 0, 0, 6014, 5986, 1, 0, 0, 0, 6014, 5992, 1, 0, 0, 0, 6014, 6000, 1, 0, + 0, 0, 6014, 6006, 1, 0, 0, 0, 6015, 683, 1, 0, 0, 0, 6016, 6017, 5, 121, + 0, 0, 6017, 6018, 5, 9, 0, 0, 6018, 6020, 3, 658, 329, 0, 6019, 6021, 3, + 108, 54, 0, 6020, 6019, 1, 0, 0, 0, 6020, 6021, 1, 0, 0, 0, 6021, 6031, + 1, 0, 0, 0, 6022, 6023, 5, 121, 0, 0, 6023, 6024, 5, 9, 0, 0, 6024, 6025, + 5, 177, 0, 0, 6025, 6026, 5, 139, 0, 0, 6026, 6028, 3, 658, 329, 0, 6027, + 6029, 3, 108, 54, 0, 6028, 6027, 1, 0, 0, 0, 6028, 6029, 1, 0, 0, 0, 6029, + 6031, 1, 0, 0, 0, 6030, 6016, 1, 0, 0, 0, 6030, 6022, 1, 0, 0, 0, 6031, + 685, 1, 0, 0, 0, 6032, 6033, 5, 121, 0, 0, 6033, 6034, 5, 293, 0, 0, 6034, + 6036, 3, 692, 346, 0, 6035, 6037, 3, 108, 54, 0, 6036, 6035, 1, 0, 0, 0, + 6036, 6037, 1, 0, 0, 0, 6037, 6047, 1, 0, 0, 0, 6038, 6039, 5, 121, 0, + 0, 6039, 6040, 5, 293, 0, 0, 6040, 6041, 5, 177, 0, 0, 6041, 6042, 5, 139, + 0, 0, 6042, 6044, 3, 692, 346, 0, 6043, 6045, 3, 108, 54, 0, 6044, 6043, + 1, 0, 0, 0, 6044, 6045, 1, 0, 0, 0, 6045, 6047, 1, 0, 0, 0, 6046, 6032, + 1, 0, 0, 0, 6046, 6038, 1, 0, 0, 0, 6047, 687, 1, 0, 0, 0, 6048, 6049, + 5, 496, 0, 0, 6049, 6050, 3, 1126, 563, 0, 6050, 6051, 5, 497, 0, 0, 6051, + 6071, 1, 0, 0, 0, 6052, 6053, 5, 496, 0, 0, 6053, 6054, 3, 1126, 563, 0, + 6054, 6055, 5, 500, 0, 0, 6055, 6056, 3, 1126, 563, 0, 6056, 6057, 5, 497, + 0, 0, 6057, 6071, 1, 0, 0, 0, 6058, 6059, 5, 496, 0, 0, 6059, 6060, 5, + 271, 0, 0, 6060, 6061, 5, 500, 0, 0, 6061, 6062, 3, 1126, 563, 0, 6062, + 6063, 5, 497, 0, 0, 6063, 6071, 1, 0, 0, 0, 6064, 6065, 5, 496, 0, 0, 6065, + 6066, 3, 1126, 563, 0, 6066, 6067, 5, 500, 0, 0, 6067, 6068, 5, 271, 0, + 0, 6068, 6069, 5, 497, 0, 0, 6069, 6071, 1, 0, 0, 0, 6070, 6048, 1, 0, + 0, 0, 6070, 6052, 1, 0, 0, 0, 6070, 6058, 1, 0, 0, 0, 6070, 6064, 1, 0, + 0, 0, 6071, 689, 1, 0, 0, 0, 6072, 6073, 3, 1428, 714, 0, 6073, 6074, 5, + 505, 0, 0, 6074, 6076, 1, 0, 0, 0, 6075, 6072, 1, 0, 0, 0, 6076, 6079, + 1, 0, 0, 0, 6077, 6075, 1, 0, 0, 0, 6077, 6078, 1, 0, 0, 0, 6078, 6080, + 1, 0, 0, 0, 6079, 6077, 1, 0, 0, 0, 6080, 6081, 3, 1324, 662, 0, 6081, + 691, 1, 0, 0, 0, 6082, 6087, 3, 694, 347, 0, 6083, 6084, 5, 500, 0, 0, + 6084, 6086, 3, 694, 347, 0, 6085, 6083, 1, 0, 0, 0, 6086, 6089, 1, 0, 0, + 0, 6087, 6085, 1, 0, 0, 0, 6087, 6088, 1, 0, 0, 0, 6088, 693, 1, 0, 0, + 0, 6089, 6087, 1, 0, 0, 0, 6090, 6091, 3, 690, 345, 0, 6091, 6092, 3, 688, + 344, 0, 6092, 695, 1, 0, 0, 0, 6093, 6094, 5, 117, 0, 0, 6094, 6095, 3, + 698, 349, 0, 6095, 697, 1, 0, 0, 0, 6096, 6098, 3, 700, 350, 0, 6097, 6096, + 1, 0, 0, 0, 6098, 6099, 1, 0, 0, 0, 6099, 6097, 1, 0, 0, 0, 6099, 6100, + 1, 0, 0, 0, 6100, 699, 1, 0, 0, 0, 6101, 6105, 3, 1414, 707, 0, 6102, 6103, + 5, 225, 0, 0, 6103, 6105, 3, 72, 36, 0, 6104, 6101, 1, 0, 0, 0, 6104, 6102, + 1, 0, 0, 0, 6105, 701, 1, 0, 0, 0, 6106, 6107, 5, 80, 0, 0, 6107, 6108, + 5, 47, 0, 0, 6108, 6109, 5, 496, 0, 0, 6109, 6110, 3, 1126, 563, 0, 6110, + 6111, 5, 19, 0, 0, 6111, 6112, 3, 1126, 563, 0, 6112, 6113, 5, 497, 0, + 0, 6113, 6114, 5, 474, 0, 0, 6114, 6115, 5, 161, 0, 0, 6115, 6117, 3, 632, + 316, 0, 6116, 6118, 3, 704, 352, 0, 6117, 6116, 1, 0, 0, 0, 6117, 6118, + 1, 0, 0, 0, 6118, 6144, 1, 0, 0, 0, 6119, 6120, 5, 80, 0, 0, 6120, 6121, + 5, 47, 0, 0, 6121, 6122, 5, 496, 0, 0, 6122, 6123, 3, 1126, 563, 0, 6123, + 6124, 5, 19, 0, 0, 6124, 6125, 3, 1126, 563, 0, 6125, 6126, 5, 497, 0, + 0, 6126, 6127, 5, 476, 0, 0, 6127, 6129, 5, 161, 0, 0, 6128, 6130, 3, 704, + 352, 0, 6129, 6128, 1, 0, 0, 0, 6129, 6130, 1, 0, 0, 0, 6130, 6144, 1, + 0, 0, 0, 6131, 6132, 5, 80, 0, 0, 6132, 6133, 5, 47, 0, 0, 6133, 6134, + 5, 496, 0, 0, 6134, 6135, 3, 1126, 563, 0, 6135, 6136, 5, 19, 0, 0, 6136, + 6137, 3, 1126, 563, 0, 6137, 6138, 5, 497, 0, 0, 6138, 6139, 5, 474, 0, + 0, 6139, 6141, 5, 195, 0, 0, 6140, 6142, 3, 704, 352, 0, 6141, 6140, 1, + 0, 0, 0, 6141, 6142, 1, 0, 0, 0, 6142, 6144, 1, 0, 0, 0, 6143, 6106, 1, + 0, 0, 0, 6143, 6119, 1, 0, 0, 0, 6143, 6131, 1, 0, 0, 0, 6144, 703, 1, + 0, 0, 0, 6145, 6146, 5, 19, 0, 0, 6146, 6150, 5, 181, 0, 0, 6147, 6148, + 5, 19, 0, 0, 6148, 6150, 5, 23, 0, 0, 6149, 6145, 1, 0, 0, 0, 6149, 6147, + 1, 0, 0, 0, 6150, 705, 1, 0, 0, 0, 6151, 6152, 5, 121, 0, 0, 6152, 6154, + 5, 47, 0, 0, 6153, 6155, 3, 708, 354, 0, 6154, 6153, 1, 0, 0, 0, 6154, + 6155, 1, 0, 0, 0, 6155, 6156, 1, 0, 0, 0, 6156, 6157, 5, 496, 0, 0, 6157, + 6158, 3, 1126, 563, 0, 6158, 6159, 5, 19, 0, 0, 6159, 6160, 3, 1126, 563, + 0, 6160, 6162, 5, 497, 0, 0, 6161, 6163, 3, 108, 54, 0, 6162, 6161, 1, + 0, 0, 0, 6162, 6163, 1, 0, 0, 0, 6163, 707, 1, 0, 0, 0, 6164, 6165, 5, + 177, 0, 0, 6165, 6166, 5, 139, 0, 0, 6166, 709, 1, 0, 0, 0, 6167, 6169, + 5, 80, 0, 0, 6168, 6170, 3, 624, 312, 0, 6169, 6168, 1, 0, 0, 0, 6169, + 6170, 1, 0, 0, 0, 6170, 6171, 1, 0, 0, 0, 6171, 6172, 5, 432, 0, 0, 6172, + 6173, 5, 153, 0, 0, 6173, 6174, 3, 1126, 563, 0, 6174, 6175, 5, 225, 0, + 0, 6175, 6176, 3, 1396, 698, 0, 6176, 6177, 5, 496, 0, 0, 6177, 6178, 3, + 712, 356, 0, 6178, 6179, 5, 497, 0, 0, 6179, 711, 1, 0, 0, 0, 6180, 6181, + 5, 159, 0, 0, 6181, 6182, 5, 396, 0, 0, 6182, 6183, 5, 474, 0, 0, 6183, + 6184, 5, 161, 0, 0, 6184, 6185, 3, 632, 316, 0, 6185, 6186, 5, 500, 0, + 0, 6186, 6187, 5, 429, 0, 0, 6187, 6188, 5, 396, 0, 0, 6188, 6189, 5, 474, + 0, 0, 6189, 6190, 5, 161, 0, 0, 6190, 6191, 3, 632, 316, 0, 6191, 6215, + 1, 0, 0, 0, 6192, 6193, 5, 429, 0, 0, 6193, 6194, 5, 396, 0, 0, 6194, 6195, + 5, 474, 0, 0, 6195, 6196, 5, 161, 0, 0, 6196, 6197, 3, 632, 316, 0, 6197, + 6198, 5, 500, 0, 0, 6198, 6199, 5, 159, 0, 0, 6199, 6200, 5, 396, 0, 0, + 6200, 6201, 5, 474, 0, 0, 6201, 6202, 5, 161, 0, 0, 6202, 6203, 3, 632, + 316, 0, 6203, 6215, 1, 0, 0, 0, 6204, 6205, 5, 159, 0, 0, 6205, 6206, 5, + 396, 0, 0, 6206, 6207, 5, 474, 0, 0, 6207, 6208, 5, 161, 0, 0, 6208, 6215, + 3, 632, 316, 0, 6209, 6210, 5, 429, 0, 0, 6210, 6211, 5, 396, 0, 0, 6211, + 6212, 5, 474, 0, 0, 6212, 6213, 5, 161, 0, 0, 6213, 6215, 3, 632, 316, + 0, 6214, 6180, 1, 0, 0, 0, 6214, 6192, 1, 0, 0, 0, 6214, 6204, 1, 0, 0, + 0, 6214, 6209, 1, 0, 0, 0, 6215, 713, 1, 0, 0, 0, 6216, 6217, 5, 121, 0, + 0, 6217, 6219, 5, 432, 0, 0, 6218, 6220, 3, 708, 354, 0, 6219, 6218, 1, + 0, 0, 0, 6219, 6220, 1, 0, 0, 0, 6220, 6221, 1, 0, 0, 0, 6221, 6222, 5, + 153, 0, 0, 6222, 6223, 3, 1126, 563, 0, 6223, 6224, 5, 225, 0, 0, 6224, + 6226, 3, 1396, 698, 0, 6225, 6227, 3, 108, 54, 0, 6226, 6225, 1, 0, 0, + 0, 6226, 6227, 1, 0, 0, 0, 6227, 715, 1, 0, 0, 0, 6228, 6229, 5, 346, 0, + 0, 6229, 6231, 3, 718, 359, 0, 6230, 6232, 3, 598, 299, 0, 6231, 6230, + 1, 0, 0, 0, 6231, 6232, 1, 0, 0, 0, 6232, 6233, 1, 0, 0, 0, 6233, 6234, + 3, 1392, 696, 0, 6234, 6263, 1, 0, 0, 0, 6235, 6236, 5, 346, 0, 0, 6236, + 6238, 3, 720, 360, 0, 6237, 6239, 3, 598, 299, 0, 6238, 6237, 1, 0, 0, + 0, 6238, 6239, 1, 0, 0, 0, 6239, 6240, 1, 0, 0, 0, 6240, 6241, 3, 1396, + 698, 0, 6241, 6263, 1, 0, 0, 0, 6242, 6243, 5, 346, 0, 0, 6243, 6244, 5, + 496, 0, 0, 6244, 6245, 3, 722, 361, 0, 6245, 6246, 5, 497, 0, 0, 6246, + 6248, 3, 718, 359, 0, 6247, 6249, 3, 598, 299, 0, 6248, 6247, 1, 0, 0, + 0, 6248, 6249, 1, 0, 0, 0, 6249, 6250, 1, 0, 0, 0, 6250, 6251, 3, 1392, + 696, 0, 6251, 6263, 1, 0, 0, 0, 6252, 6253, 5, 346, 0, 0, 6253, 6254, 5, + 496, 0, 0, 6254, 6255, 3, 722, 361, 0, 6255, 6256, 5, 497, 0, 0, 6256, + 6258, 3, 720, 360, 0, 6257, 6259, 3, 598, 299, 0, 6258, 6257, 1, 0, 0, + 0, 6258, 6259, 1, 0, 0, 0, 6259, 6260, 1, 0, 0, 0, 6260, 6261, 3, 1396, + 698, 0, 6261, 6263, 1, 0, 0, 0, 6262, 6228, 1, 0, 0, 0, 6262, 6235, 1, + 0, 0, 0, 6262, 6242, 1, 0, 0, 0, 6262, 6252, 1, 0, 0, 0, 6263, 717, 1, + 0, 0, 0, 6264, 6265, 7, 30, 0, 0, 6265, 719, 1, 0, 0, 0, 6266, 6267, 7, + 31, 0, 0, 6267, 721, 1, 0, 0, 0, 6268, 6273, 3, 724, 362, 0, 6269, 6270, + 5, 500, 0, 0, 6270, 6272, 3, 724, 362, 0, 6271, 6269, 1, 0, 0, 0, 6272, + 6275, 1, 0, 0, 0, 6273, 6271, 1, 0, 0, 0, 6273, 6274, 1, 0, 0, 0, 6274, + 723, 1, 0, 0, 0, 6275, 6273, 1, 0, 0, 0, 6276, 6277, 7, 32, 0, 0, 6277, + 725, 1, 0, 0, 0, 6278, 6279, 5, 12, 0, 0, 6279, 6280, 5, 419, 0, 0, 6280, + 6281, 3, 1396, 698, 0, 6281, 6282, 5, 384, 0, 0, 6282, 6283, 3, 116, 58, + 0, 6283, 6291, 1, 0, 0, 0, 6284, 6285, 5, 12, 0, 0, 6285, 6286, 5, 419, + 0, 0, 6286, 6287, 3, 1396, 698, 0, 6287, 6288, 5, 353, 0, 0, 6288, 6289, + 3, 116, 58, 0, 6289, 6291, 1, 0, 0, 0, 6290, 6278, 1, 0, 0, 0, 6290, 6284, + 1, 0, 0, 0, 6291, 727, 1, 0, 0, 0, 6292, 6293, 5, 12, 0, 0, 6293, 6294, + 5, 9, 0, 0, 6294, 6295, 3, 656, 328, 0, 6295, 6296, 5, 349, 0, 0, 6296, + 6297, 5, 429, 0, 0, 6297, 6298, 3, 1396, 698, 0, 6298, 6780, 1, 0, 0, 0, + 6299, 6300, 5, 12, 0, 0, 6300, 6301, 5, 60, 0, 0, 6301, 6302, 3, 526, 263, + 0, 6302, 6303, 5, 349, 0, 0, 6303, 6304, 5, 429, 0, 0, 6304, 6305, 3, 1396, + 698, 0, 6305, 6780, 1, 0, 0, 0, 6306, 6307, 5, 12, 0, 0, 6307, 6308, 5, + 77, 0, 0, 6308, 6309, 3, 526, 263, 0, 6309, 6310, 5, 349, 0, 0, 6310, 6311, + 5, 429, 0, 0, 6311, 6312, 3, 1396, 698, 0, 6312, 6780, 1, 0, 0, 0, 6313, + 6314, 5, 12, 0, 0, 6314, 6315, 5, 95, 0, 0, 6315, 6316, 3, 1396, 698, 0, + 6316, 6317, 5, 349, 0, 0, 6317, 6318, 5, 429, 0, 0, 6318, 6319, 3, 1396, + 698, 0, 6319, 6780, 1, 0, 0, 0, 6320, 6321, 5, 12, 0, 0, 6321, 6322, 5, + 119, 0, 0, 6322, 6323, 3, 526, 263, 0, 6323, 6324, 5, 349, 0, 0, 6324, + 6325, 5, 429, 0, 0, 6325, 6326, 3, 1396, 698, 0, 6326, 6780, 1, 0, 0, 0, + 6327, 6328, 5, 12, 0, 0, 6328, 6329, 5, 119, 0, 0, 6329, 6330, 3, 526, + 263, 0, 6330, 6331, 5, 349, 0, 0, 6331, 6332, 5, 73, 0, 0, 6332, 6333, + 3, 1396, 698, 0, 6333, 6334, 5, 429, 0, 0, 6334, 6335, 3, 1396, 698, 0, + 6335, 6780, 1, 0, 0, 0, 6336, 6337, 5, 12, 0, 0, 6337, 6338, 5, 155, 0, + 0, 6338, 6339, 5, 94, 0, 0, 6339, 6340, 5, 478, 0, 0, 6340, 6341, 3, 1396, + 698, 0, 6341, 6342, 5, 349, 0, 0, 6342, 6343, 5, 429, 0, 0, 6343, 6344, + 3, 1396, 698, 0, 6344, 6780, 1, 0, 0, 0, 6345, 6346, 5, 12, 0, 0, 6346, + 6347, 5, 161, 0, 0, 6347, 6348, 3, 632, 316, 0, 6348, 6349, 5, 349, 0, + 0, 6349, 6350, 5, 429, 0, 0, 6350, 6351, 3, 1396, 698, 0, 6351, 6780, 1, + 0, 0, 0, 6352, 6353, 5, 12, 0, 0, 6353, 6354, 5, 168, 0, 0, 6354, 6355, + 3, 1422, 711, 0, 6355, 6356, 5, 349, 0, 0, 6356, 6357, 5, 429, 0, 0, 6357, + 6358, 3, 1422, 711, 0, 6358, 6780, 1, 0, 0, 0, 6359, 6361, 5, 12, 0, 0, + 6360, 6362, 3, 310, 155, 0, 6361, 6360, 1, 0, 0, 0, 6361, 6362, 1, 0, 0, + 0, 6362, 6363, 1, 0, 0, 0, 6363, 6364, 5, 225, 0, 0, 6364, 6365, 3, 1396, + 698, 0, 6365, 6366, 5, 349, 0, 0, 6366, 6367, 5, 429, 0, 0, 6367, 6368, + 3, 1396, 698, 0, 6368, 6780, 1, 0, 0, 0, 6369, 6370, 5, 12, 0, 0, 6370, + 6371, 5, 293, 0, 0, 6371, 6372, 5, 55, 0, 0, 6372, 6373, 3, 526, 263, 0, + 6373, 6374, 5, 454, 0, 0, 6374, 6375, 3, 1396, 698, 0, 6375, 6376, 5, 349, + 0, 0, 6376, 6377, 5, 429, 0, 0, 6377, 6378, 3, 1396, 698, 0, 6378, 6780, + 1, 0, 0, 0, 6379, 6380, 5, 12, 0, 0, 6380, 6381, 5, 293, 0, 0, 6381, 6382, + 5, 146, 0, 0, 6382, 6383, 3, 526, 263, 0, 6383, 6384, 5, 454, 0, 0, 6384, + 6385, 3, 1396, 698, 0, 6385, 6386, 5, 349, 0, 0, 6386, 6387, 5, 429, 0, + 0, 6387, 6388, 3, 1396, 698, 0, 6388, 6780, 1, 0, 0, 0, 6389, 6390, 5, + 12, 0, 0, 6390, 6391, 5, 320, 0, 0, 6391, 6392, 3, 1396, 698, 0, 6392, + 6393, 5, 291, 0, 0, 6393, 6394, 3, 1392, 696, 0, 6394, 6395, 5, 349, 0, + 0, 6395, 6396, 5, 429, 0, 0, 6396, 6397, 3, 1396, 698, 0, 6397, 6780, 1, + 0, 0, 0, 6398, 6399, 5, 12, 0, 0, 6399, 6400, 5, 320, 0, 0, 6400, 6401, + 5, 177, 0, 0, 6401, 6402, 5, 139, 0, 0, 6402, 6403, 3, 1396, 698, 0, 6403, + 6404, 5, 291, 0, 0, 6404, 6405, 3, 1392, 696, 0, 6405, 6406, 5, 349, 0, + 0, 6406, 6407, 5, 429, 0, 0, 6407, 6408, 3, 1396, 698, 0, 6408, 6780, 1, + 0, 0, 0, 6409, 6410, 5, 12, 0, 0, 6410, 6411, 5, 331, 0, 0, 6411, 6412, + 3, 632, 316, 0, 6412, 6413, 5, 349, 0, 0, 6413, 6414, 5, 429, 0, 0, 6414, + 6415, 3, 1396, 698, 0, 6415, 6780, 1, 0, 0, 0, 6416, 6417, 5, 12, 0, 0, + 6417, 6418, 5, 334, 0, 0, 6418, 6419, 3, 1396, 698, 0, 6419, 6420, 5, 349, + 0, 0, 6420, 6421, 5, 429, 0, 0, 6421, 6422, 3, 1396, 698, 0, 6422, 6780, + 1, 0, 0, 0, 6423, 6424, 5, 12, 0, 0, 6424, 6425, 5, 364, 0, 0, 6425, 6426, + 3, 632, 316, 0, 6426, 6427, 5, 349, 0, 0, 6427, 6428, 5, 429, 0, 0, 6428, + 6429, 3, 1396, 698, 0, 6429, 6780, 1, 0, 0, 0, 6430, 6431, 5, 12, 0, 0, + 6431, 6432, 5, 371, 0, 0, 6432, 6433, 3, 1396, 698, 0, 6433, 6434, 5, 349, + 0, 0, 6434, 6435, 5, 429, 0, 0, 6435, 6436, 3, 1396, 698, 0, 6436, 6780, + 1, 0, 0, 0, 6437, 6438, 5, 12, 0, 0, 6438, 6439, 5, 381, 0, 0, 6439, 6440, + 3, 1396, 698, 0, 6440, 6441, 5, 349, 0, 0, 6441, 6442, 5, 429, 0, 0, 6442, + 6443, 3, 1396, 698, 0, 6443, 6780, 1, 0, 0, 0, 6444, 6445, 5, 12, 0, 0, + 6445, 6446, 5, 409, 0, 0, 6446, 6447, 3, 1396, 698, 0, 6447, 6448, 5, 349, + 0, 0, 6448, 6449, 5, 429, 0, 0, 6449, 6450, 3, 1396, 698, 0, 6450, 6780, + 1, 0, 0, 0, 6451, 6452, 5, 12, 0, 0, 6452, 6453, 5, 416, 0, 0, 6453, 6454, + 3, 1082, 541, 0, 6454, 6455, 5, 349, 0, 0, 6455, 6456, 5, 429, 0, 0, 6456, + 6457, 3, 1396, 698, 0, 6457, 6780, 1, 0, 0, 0, 6458, 6459, 5, 12, 0, 0, + 6459, 6460, 5, 416, 0, 0, 6460, 6461, 5, 177, 0, 0, 6461, 6462, 5, 139, + 0, 0, 6462, 6463, 3, 1082, 541, 0, 6463, 6464, 5, 349, 0, 0, 6464, 6465, + 5, 429, 0, 0, 6465, 6466, 3, 1396, 698, 0, 6466, 6780, 1, 0, 0, 0, 6467, + 6468, 5, 12, 0, 0, 6468, 6469, 5, 378, 0, 0, 6469, 6470, 3, 1392, 696, + 0, 6470, 6471, 5, 349, 0, 0, 6471, 6472, 5, 429, 0, 0, 6472, 6473, 3, 1396, + 698, 0, 6473, 6780, 1, 0, 0, 0, 6474, 6475, 5, 12, 0, 0, 6475, 6476, 5, + 378, 0, 0, 6476, 6477, 5, 177, 0, 0, 6477, 6478, 5, 139, 0, 0, 6478, 6479, + 3, 1392, 696, 0, 6479, 6480, 5, 349, 0, 0, 6480, 6481, 5, 429, 0, 0, 6481, + 6482, 3, 1396, 698, 0, 6482, 6780, 1, 0, 0, 0, 6483, 6484, 5, 12, 0, 0, + 6484, 6485, 5, 466, 0, 0, 6485, 6486, 3, 1392, 696, 0, 6486, 6487, 5, 349, + 0, 0, 6487, 6488, 5, 429, 0, 0, 6488, 6489, 3, 1396, 698, 0, 6489, 6780, + 1, 0, 0, 0, 6490, 6491, 5, 12, 0, 0, 6491, 6492, 5, 466, 0, 0, 6492, 6493, + 5, 177, 0, 0, 6493, 6494, 5, 139, 0, 0, 6494, 6495, 3, 1392, 696, 0, 6495, + 6496, 5, 349, 0, 0, 6496, 6497, 5, 429, 0, 0, 6497, 6498, 3, 1396, 698, + 0, 6498, 6780, 1, 0, 0, 0, 6499, 6500, 5, 12, 0, 0, 6500, 6501, 5, 248, + 0, 0, 6501, 6502, 5, 466, 0, 0, 6502, 6503, 3, 1392, 696, 0, 6503, 6504, + 5, 349, 0, 0, 6504, 6505, 5, 429, 0, 0, 6505, 6506, 3, 1396, 698, 0, 6506, + 6780, 1, 0, 0, 0, 6507, 6508, 5, 12, 0, 0, 6508, 6509, 5, 248, 0, 0, 6509, + 6510, 5, 466, 0, 0, 6510, 6511, 5, 177, 0, 0, 6511, 6512, 5, 139, 0, 0, + 6512, 6513, 3, 1392, 696, 0, 6513, 6514, 5, 349, 0, 0, 6514, 6515, 5, 429, + 0, 0, 6515, 6516, 3, 1396, 698, 0, 6516, 6780, 1, 0, 0, 0, 6517, 6518, + 5, 12, 0, 0, 6518, 6519, 5, 188, 0, 0, 6519, 6520, 3, 1392, 696, 0, 6520, + 6521, 5, 349, 0, 0, 6521, 6522, 5, 429, 0, 0, 6522, 6523, 3, 1396, 698, + 0, 6523, 6780, 1, 0, 0, 0, 6524, 6525, 5, 12, 0, 0, 6525, 6526, 5, 188, + 0, 0, 6526, 6527, 5, 177, 0, 0, 6527, 6528, 5, 139, 0, 0, 6528, 6529, 3, + 1392, 696, 0, 6529, 6530, 5, 349, 0, 0, 6530, 6531, 5, 429, 0, 0, 6531, + 6532, 3, 1396, 698, 0, 6532, 6780, 1, 0, 0, 0, 6533, 6534, 5, 12, 0, 0, + 6534, 6535, 5, 155, 0, 0, 6535, 6536, 5, 416, 0, 0, 6536, 6537, 3, 1082, + 541, 0, 6537, 6538, 5, 349, 0, 0, 6538, 6539, 5, 429, 0, 0, 6539, 6540, + 3, 1396, 698, 0, 6540, 6780, 1, 0, 0, 0, 6541, 6542, 5, 12, 0, 0, 6542, + 6543, 5, 155, 0, 0, 6543, 6544, 5, 416, 0, 0, 6544, 6545, 5, 177, 0, 0, + 6545, 6546, 5, 139, 0, 0, 6546, 6547, 3, 1082, 541, 0, 6547, 6548, 5, 349, + 0, 0, 6548, 6549, 5, 429, 0, 0, 6549, 6550, 3, 1396, 698, 0, 6550, 6780, + 1, 0, 0, 0, 6551, 6552, 5, 12, 0, 0, 6552, 6553, 5, 416, 0, 0, 6553, 6554, + 3, 1082, 541, 0, 6554, 6556, 5, 349, 0, 0, 6555, 6557, 3, 730, 365, 0, + 6556, 6555, 1, 0, 0, 0, 6556, 6557, 1, 0, 0, 0, 6557, 6558, 1, 0, 0, 0, + 6558, 6559, 3, 1396, 698, 0, 6559, 6560, 5, 429, 0, 0, 6560, 6561, 3, 1396, + 698, 0, 6561, 6780, 1, 0, 0, 0, 6562, 6563, 5, 12, 0, 0, 6563, 6564, 5, + 416, 0, 0, 6564, 6565, 5, 177, 0, 0, 6565, 6566, 5, 139, 0, 0, 6566, 6567, + 3, 1082, 541, 0, 6567, 6569, 5, 349, 0, 0, 6568, 6570, 3, 730, 365, 0, + 6569, 6568, 1, 0, 0, 0, 6569, 6570, 1, 0, 0, 0, 6570, 6571, 1, 0, 0, 0, + 6571, 6572, 3, 1396, 698, 0, 6572, 6573, 5, 429, 0, 0, 6573, 6574, 3, 1396, + 698, 0, 6574, 6780, 1, 0, 0, 0, 6575, 6576, 5, 12, 0, 0, 6576, 6577, 5, + 466, 0, 0, 6577, 6578, 3, 1392, 696, 0, 6578, 6580, 5, 349, 0, 0, 6579, + 6581, 3, 730, 365, 0, 6580, 6579, 1, 0, 0, 0, 6580, 6581, 1, 0, 0, 0, 6581, + 6582, 1, 0, 0, 0, 6582, 6583, 3, 1396, 698, 0, 6583, 6584, 5, 429, 0, 0, + 6584, 6585, 3, 1396, 698, 0, 6585, 6780, 1, 0, 0, 0, 6586, 6587, 5, 12, + 0, 0, 6587, 6588, 5, 466, 0, 0, 6588, 6589, 5, 177, 0, 0, 6589, 6590, 5, + 139, 0, 0, 6590, 6591, 3, 1392, 696, 0, 6591, 6593, 5, 349, 0, 0, 6592, + 6594, 3, 730, 365, 0, 6593, 6592, 1, 0, 0, 0, 6593, 6594, 1, 0, 0, 0, 6594, + 6595, 1, 0, 0, 0, 6595, 6596, 3, 1396, 698, 0, 6596, 6597, 5, 429, 0, 0, + 6597, 6598, 3, 1396, 698, 0, 6598, 6780, 1, 0, 0, 0, 6599, 6600, 5, 12, + 0, 0, 6600, 6601, 5, 248, 0, 0, 6601, 6602, 5, 466, 0, 0, 6602, 6603, 3, + 1392, 696, 0, 6603, 6605, 5, 349, 0, 0, 6604, 6606, 3, 730, 365, 0, 6605, + 6604, 1, 0, 0, 0, 6605, 6606, 1, 0, 0, 0, 6606, 6607, 1, 0, 0, 0, 6607, + 6608, 3, 1396, 698, 0, 6608, 6609, 5, 429, 0, 0, 6609, 6610, 3, 1396, 698, + 0, 6610, 6780, 1, 0, 0, 0, 6611, 6612, 5, 12, 0, 0, 6612, 6613, 5, 248, + 0, 0, 6613, 6614, 5, 466, 0, 0, 6614, 6615, 5, 177, 0, 0, 6615, 6616, 5, + 139, 0, 0, 6616, 6617, 3, 1392, 696, 0, 6617, 6619, 5, 349, 0, 0, 6618, + 6620, 3, 730, 365, 0, 6619, 6618, 1, 0, 0, 0, 6619, 6620, 1, 0, 0, 0, 6620, + 6621, 1, 0, 0, 0, 6621, 6622, 3, 1396, 698, 0, 6622, 6623, 5, 429, 0, 0, + 6623, 6624, 3, 1396, 698, 0, 6624, 6780, 1, 0, 0, 0, 6625, 6626, 5, 12, + 0, 0, 6626, 6627, 5, 416, 0, 0, 6627, 6628, 3, 1082, 541, 0, 6628, 6629, + 5, 349, 0, 0, 6629, 6630, 5, 73, 0, 0, 6630, 6631, 3, 1396, 698, 0, 6631, + 6632, 5, 429, 0, 0, 6632, 6633, 3, 1396, 698, 0, 6633, 6780, 1, 0, 0, 0, + 6634, 6635, 5, 12, 0, 0, 6635, 6636, 5, 416, 0, 0, 6636, 6637, 5, 177, + 0, 0, 6637, 6638, 5, 139, 0, 0, 6638, 6639, 3, 1082, 541, 0, 6639, 6640, + 5, 349, 0, 0, 6640, 6641, 5, 73, 0, 0, 6641, 6642, 3, 1396, 698, 0, 6642, + 6643, 5, 429, 0, 0, 6643, 6644, 3, 1396, 698, 0, 6644, 6780, 1, 0, 0, 0, + 6645, 6646, 5, 12, 0, 0, 6646, 6647, 5, 155, 0, 0, 6647, 6648, 5, 416, + 0, 0, 6648, 6649, 3, 1082, 541, 0, 6649, 6651, 5, 349, 0, 0, 6650, 6652, + 3, 730, 365, 0, 6651, 6650, 1, 0, 0, 0, 6651, 6652, 1, 0, 0, 0, 6652, 6653, + 1, 0, 0, 0, 6653, 6654, 3, 1396, 698, 0, 6654, 6655, 5, 429, 0, 0, 6655, + 6656, 3, 1396, 698, 0, 6656, 6780, 1, 0, 0, 0, 6657, 6658, 5, 12, 0, 0, + 6658, 6659, 5, 155, 0, 0, 6659, 6660, 5, 416, 0, 0, 6660, 6661, 5, 177, + 0, 0, 6661, 6662, 5, 139, 0, 0, 6662, 6663, 3, 1082, 541, 0, 6663, 6665, + 5, 349, 0, 0, 6664, 6666, 3, 730, 365, 0, 6665, 6664, 1, 0, 0, 0, 6665, + 6666, 1, 0, 0, 0, 6666, 6667, 1, 0, 0, 0, 6667, 6668, 3, 1396, 698, 0, + 6668, 6669, 5, 429, 0, 0, 6669, 6670, 3, 1396, 698, 0, 6670, 6780, 1, 0, + 0, 0, 6671, 6672, 5, 12, 0, 0, 6672, 6673, 5, 368, 0, 0, 6673, 6674, 3, + 1396, 698, 0, 6674, 6675, 5, 291, 0, 0, 6675, 6676, 3, 1392, 696, 0, 6676, + 6677, 5, 349, 0, 0, 6677, 6678, 5, 429, 0, 0, 6678, 6679, 3, 1396, 698, + 0, 6679, 6780, 1, 0, 0, 0, 6680, 6681, 5, 12, 0, 0, 6681, 6682, 5, 434, + 0, 0, 6682, 6683, 3, 1396, 698, 0, 6683, 6684, 5, 291, 0, 0, 6684, 6685, + 3, 1392, 696, 0, 6685, 6686, 5, 349, 0, 0, 6686, 6687, 5, 429, 0, 0, 6687, + 6688, 3, 1396, 698, 0, 6688, 6780, 1, 0, 0, 0, 6689, 6690, 5, 12, 0, 0, + 6690, 6691, 5, 133, 0, 0, 6691, 6692, 5, 434, 0, 0, 6692, 6693, 3, 1396, + 698, 0, 6693, 6694, 5, 349, 0, 0, 6694, 6695, 5, 429, 0, 0, 6695, 6696, + 3, 1396, 698, 0, 6696, 6780, 1, 0, 0, 0, 6697, 6698, 5, 12, 0, 0, 6698, + 6699, 5, 361, 0, 0, 6699, 6700, 3, 1422, 711, 0, 6700, 6701, 5, 349, 0, + 0, 6701, 6702, 5, 429, 0, 0, 6702, 6703, 3, 1422, 711, 0, 6703, 6780, 1, + 0, 0, 0, 6704, 6705, 5, 12, 0, 0, 6705, 6706, 5, 453, 0, 0, 6706, 6707, + 3, 1422, 711, 0, 6707, 6708, 5, 349, 0, 0, 6708, 6709, 5, 429, 0, 0, 6709, + 6710, 3, 1422, 711, 0, 6710, 6780, 1, 0, 0, 0, 6711, 6712, 5, 12, 0, 0, + 6712, 6713, 5, 419, 0, 0, 6713, 6714, 3, 1396, 698, 0, 6714, 6715, 5, 349, + 0, 0, 6715, 6716, 5, 429, 0, 0, 6716, 6717, 3, 1396, 698, 0, 6717, 6780, + 1, 0, 0, 0, 6718, 6719, 5, 12, 0, 0, 6719, 6720, 5, 401, 0, 0, 6720, 6721, + 3, 526, 263, 0, 6721, 6722, 5, 349, 0, 0, 6722, 6723, 5, 429, 0, 0, 6723, + 6724, 3, 1396, 698, 0, 6724, 6780, 1, 0, 0, 0, 6725, 6726, 5, 12, 0, 0, + 6726, 6727, 5, 424, 0, 0, 6727, 6728, 5, 374, 0, 0, 6728, 6729, 5, 310, + 0, 0, 6729, 6730, 3, 526, 263, 0, 6730, 6731, 5, 349, 0, 0, 6731, 6732, + 5, 429, 0, 0, 6732, 6733, 3, 1396, 698, 0, 6733, 6780, 1, 0, 0, 0, 6734, + 6735, 5, 12, 0, 0, 6735, 6736, 5, 424, 0, 0, 6736, 6737, 5, 374, 0, 0, + 6737, 6738, 5, 113, 0, 0, 6738, 6739, 3, 526, 263, 0, 6739, 6740, 5, 349, + 0, 0, 6740, 6741, 5, 429, 0, 0, 6741, 6742, 3, 1396, 698, 0, 6742, 6780, + 1, 0, 0, 0, 6743, 6744, 5, 12, 0, 0, 6744, 6745, 5, 424, 0, 0, 6745, 6746, + 5, 374, 0, 0, 6746, 6747, 5, 422, 0, 0, 6747, 6748, 3, 526, 263, 0, 6748, + 6749, 5, 349, 0, 0, 6749, 6750, 5, 429, 0, 0, 6750, 6751, 3, 1396, 698, + 0, 6751, 6780, 1, 0, 0, 0, 6752, 6753, 5, 12, 0, 0, 6753, 6754, 5, 424, + 0, 0, 6754, 6755, 5, 374, 0, 0, 6755, 6756, 5, 70, 0, 0, 6756, 6757, 3, + 526, 263, 0, 6757, 6758, 5, 349, 0, 0, 6758, 6759, 5, 429, 0, 0, 6759, + 6760, 3, 1396, 698, 0, 6760, 6780, 1, 0, 0, 0, 6761, 6762, 5, 12, 0, 0, + 6762, 6763, 5, 439, 0, 0, 6763, 6764, 3, 526, 263, 0, 6764, 6765, 5, 349, + 0, 0, 6765, 6766, 5, 429, 0, 0, 6766, 6767, 3, 1396, 698, 0, 6767, 6780, + 1, 0, 0, 0, 6768, 6769, 5, 12, 0, 0, 6769, 6770, 5, 439, 0, 0, 6770, 6771, + 3, 526, 263, 0, 6771, 6772, 5, 349, 0, 0, 6772, 6773, 5, 28, 0, 0, 6773, + 6774, 3, 1396, 698, 0, 6774, 6775, 5, 429, 0, 0, 6775, 6777, 3, 1396, 698, + 0, 6776, 6778, 3, 108, 54, 0, 6777, 6776, 1, 0, 0, 0, 6777, 6778, 1, 0, + 0, 0, 6778, 6780, 1, 0, 0, 0, 6779, 6292, 1, 0, 0, 0, 6779, 6299, 1, 0, + 0, 0, 6779, 6306, 1, 0, 0, 0, 6779, 6313, 1, 0, 0, 0, 6779, 6320, 1, 0, + 0, 0, 6779, 6327, 1, 0, 0, 0, 6779, 6336, 1, 0, 0, 0, 6779, 6345, 1, 0, + 0, 0, 6779, 6352, 1, 0, 0, 0, 6779, 6359, 1, 0, 0, 0, 6779, 6369, 1, 0, + 0, 0, 6779, 6379, 1, 0, 0, 0, 6779, 6389, 1, 0, 0, 0, 6779, 6398, 1, 0, + 0, 0, 6779, 6409, 1, 0, 0, 0, 6779, 6416, 1, 0, 0, 0, 6779, 6423, 1, 0, + 0, 0, 6779, 6430, 1, 0, 0, 0, 6779, 6437, 1, 0, 0, 0, 6779, 6444, 1, 0, + 0, 0, 6779, 6451, 1, 0, 0, 0, 6779, 6458, 1, 0, 0, 0, 6779, 6467, 1, 0, + 0, 0, 6779, 6474, 1, 0, 0, 0, 6779, 6483, 1, 0, 0, 0, 6779, 6490, 1, 0, + 0, 0, 6779, 6499, 1, 0, 0, 0, 6779, 6507, 1, 0, 0, 0, 6779, 6517, 1, 0, + 0, 0, 6779, 6524, 1, 0, 0, 0, 6779, 6533, 1, 0, 0, 0, 6779, 6541, 1, 0, + 0, 0, 6779, 6551, 1, 0, 0, 0, 6779, 6562, 1, 0, 0, 0, 6779, 6575, 1, 0, + 0, 0, 6779, 6586, 1, 0, 0, 0, 6779, 6599, 1, 0, 0, 0, 6779, 6611, 1, 0, + 0, 0, 6779, 6625, 1, 0, 0, 0, 6779, 6634, 1, 0, 0, 0, 6779, 6645, 1, 0, + 0, 0, 6779, 6657, 1, 0, 0, 0, 6779, 6671, 1, 0, 0, 0, 6779, 6680, 1, 0, + 0, 0, 6779, 6689, 1, 0, 0, 0, 6779, 6697, 1, 0, 0, 0, 6779, 6704, 1, 0, + 0, 0, 6779, 6711, 1, 0, 0, 0, 6779, 6718, 1, 0, 0, 0, 6779, 6725, 1, 0, + 0, 0, 6779, 6734, 1, 0, 0, 0, 6779, 6743, 1, 0, 0, 0, 6779, 6752, 1, 0, + 0, 0, 6779, 6761, 1, 0, 0, 0, 6779, 6768, 1, 0, 0, 0, 6780, 729, 1, 0, + 0, 0, 6781, 6782, 5, 61, 0, 0, 6782, 731, 1, 0, 0, 0, 6783, 6784, 5, 384, + 0, 0, 6784, 6785, 5, 94, 0, 0, 6785, 733, 1, 0, 0, 0, 6786, 6787, 5, 12, + 0, 0, 6787, 6788, 5, 161, 0, 0, 6788, 6790, 3, 632, 316, 0, 6789, 6791, + 3, 736, 368, 0, 6790, 6789, 1, 0, 0, 0, 6790, 6791, 1, 0, 0, 0, 6791, 6792, + 1, 0, 0, 0, 6792, 6793, 5, 109, 0, 0, 6793, 6794, 5, 291, 0, 0, 6794, 6795, + 5, 142, 0, 0, 6795, 6796, 3, 1396, 698, 0, 6796, 6856, 1, 0, 0, 0, 6797, + 6798, 5, 12, 0, 0, 6798, 6799, 5, 331, 0, 0, 6799, 6801, 3, 632, 316, 0, + 6800, 6802, 3, 736, 368, 0, 6801, 6800, 1, 0, 0, 0, 6801, 6802, 1, 0, 0, + 0, 6802, 6803, 1, 0, 0, 0, 6803, 6804, 5, 109, 0, 0, 6804, 6805, 5, 291, + 0, 0, 6805, 6806, 5, 142, 0, 0, 6806, 6807, 3, 1396, 698, 0, 6807, 6856, + 1, 0, 0, 0, 6808, 6809, 5, 12, 0, 0, 6809, 6810, 5, 364, 0, 0, 6810, 6812, + 3, 632, 316, 0, 6811, 6813, 3, 736, 368, 0, 6812, 6811, 1, 0, 0, 0, 6812, + 6813, 1, 0, 0, 0, 6813, 6814, 1, 0, 0, 0, 6814, 6815, 5, 109, 0, 0, 6815, + 6816, 5, 291, 0, 0, 6816, 6817, 5, 142, 0, 0, 6817, 6818, 3, 1396, 698, + 0, 6818, 6856, 1, 0, 0, 0, 6819, 6820, 5, 12, 0, 0, 6820, 6821, 5, 434, + 0, 0, 6821, 6822, 3, 1396, 698, 0, 6822, 6823, 5, 291, 0, 0, 6823, 6825, + 3, 1392, 696, 0, 6824, 6826, 3, 736, 368, 0, 6825, 6824, 1, 0, 0, 0, 6825, + 6826, 1, 0, 0, 0, 6826, 6827, 1, 0, 0, 0, 6827, 6828, 5, 109, 0, 0, 6828, + 6829, 5, 291, 0, 0, 6829, 6830, 5, 142, 0, 0, 6830, 6831, 3, 1396, 698, + 0, 6831, 6856, 1, 0, 0, 0, 6832, 6833, 5, 12, 0, 0, 6833, 6834, 5, 248, + 0, 0, 6834, 6835, 5, 466, 0, 0, 6835, 6837, 3, 1392, 696, 0, 6836, 6838, + 3, 736, 368, 0, 6837, 6836, 1, 0, 0, 0, 6837, 6838, 1, 0, 0, 0, 6838, 6839, + 1, 0, 0, 0, 6839, 6840, 5, 109, 0, 0, 6840, 6841, 5, 291, 0, 0, 6841, 6842, + 5, 142, 0, 0, 6842, 6843, 3, 1396, 698, 0, 6843, 6856, 1, 0, 0, 0, 6844, + 6845, 5, 12, 0, 0, 6845, 6846, 5, 188, 0, 0, 6846, 6848, 3, 1392, 696, + 0, 6847, 6849, 3, 736, 368, 0, 6848, 6847, 1, 0, 0, 0, 6848, 6849, 1, 0, + 0, 0, 6849, 6850, 1, 0, 0, 0, 6850, 6851, 5, 109, 0, 0, 6851, 6852, 5, + 291, 0, 0, 6852, 6853, 5, 142, 0, 0, 6853, 6854, 3, 1396, 698, 0, 6854, + 6856, 1, 0, 0, 0, 6855, 6786, 1, 0, 0, 0, 6855, 6797, 1, 0, 0, 0, 6855, + 6808, 1, 0, 0, 0, 6855, 6819, 1, 0, 0, 0, 6855, 6832, 1, 0, 0, 0, 6855, + 6844, 1, 0, 0, 0, 6856, 735, 1, 0, 0, 0, 6857, 6858, 5, 270, 0, 0, 6858, + 737, 1, 0, 0, 0, 6859, 6860, 5, 12, 0, 0, 6860, 6861, 5, 9, 0, 0, 6861, + 6862, 3, 656, 328, 0, 6862, 6863, 5, 384, 0, 0, 6863, 6864, 5, 371, 0, + 0, 6864, 6865, 3, 1396, 698, 0, 6865, 7077, 1, 0, 0, 0, 6866, 6867, 5, + 12, 0, 0, 6867, 6868, 5, 60, 0, 0, 6868, 6869, 3, 526, 263, 0, 6869, 6870, + 5, 384, 0, 0, 6870, 6871, 5, 371, 0, 0, 6871, 6872, 3, 1396, 698, 0, 6872, + 7077, 1, 0, 0, 0, 6873, 6874, 5, 12, 0, 0, 6874, 6875, 5, 77, 0, 0, 6875, + 6876, 3, 526, 263, 0, 6876, 6877, 5, 384, 0, 0, 6877, 6878, 5, 371, 0, + 0, 6878, 6879, 3, 1396, 698, 0, 6879, 7077, 1, 0, 0, 0, 6880, 6881, 5, + 12, 0, 0, 6881, 6882, 5, 119, 0, 0, 6882, 6883, 3, 526, 263, 0, 6883, 6884, + 5, 384, 0, 0, 6884, 6885, 5, 371, 0, 0, 6885, 6886, 3, 1396, 698, 0, 6886, + 7077, 1, 0, 0, 0, 6887, 6888, 5, 12, 0, 0, 6888, 6889, 5, 142, 0, 0, 6889, + 6890, 3, 1396, 698, 0, 6890, 6891, 5, 384, 0, 0, 6891, 6892, 5, 371, 0, + 0, 6892, 6893, 3, 1396, 698, 0, 6893, 7077, 1, 0, 0, 0, 6894, 6895, 5, + 12, 0, 0, 6895, 6896, 5, 161, 0, 0, 6896, 6897, 3, 632, 316, 0, 6897, 6898, + 5, 384, 0, 0, 6898, 6899, 5, 371, 0, 0, 6899, 6900, 3, 1396, 698, 0, 6900, + 7077, 1, 0, 0, 0, 6901, 6902, 5, 12, 0, 0, 6902, 6903, 5, 293, 0, 0, 6903, + 6904, 3, 694, 347, 0, 6904, 6905, 5, 384, 0, 0, 6905, 6906, 5, 371, 0, + 0, 6906, 6907, 3, 1396, 698, 0, 6907, 7077, 1, 0, 0, 0, 6908, 6909, 5, + 12, 0, 0, 6909, 6910, 5, 293, 0, 0, 6910, 6911, 5, 55, 0, 0, 6911, 6912, + 3, 526, 263, 0, 6912, 6913, 5, 454, 0, 0, 6913, 6914, 3, 1396, 698, 0, + 6914, 6915, 5, 384, 0, 0, 6915, 6916, 5, 371, 0, 0, 6916, 6917, 3, 1396, + 698, 0, 6917, 7077, 1, 0, 0, 0, 6918, 6919, 5, 12, 0, 0, 6919, 6920, 5, + 293, 0, 0, 6920, 6921, 5, 146, 0, 0, 6921, 6922, 3, 526, 263, 0, 6922, + 6923, 5, 454, 0, 0, 6923, 6924, 3, 1396, 698, 0, 6924, 6925, 5, 384, 0, + 0, 6925, 6926, 5, 371, 0, 0, 6926, 6927, 3, 1396, 698, 0, 6927, 7077, 1, + 0, 0, 0, 6928, 6929, 5, 12, 0, 0, 6929, 6930, 5, 331, 0, 0, 6930, 6931, + 3, 632, 316, 0, 6931, 6932, 5, 384, 0, 0, 6932, 6933, 5, 371, 0, 0, 6933, + 6934, 3, 1396, 698, 0, 6934, 7077, 1, 0, 0, 0, 6935, 6936, 5, 12, 0, 0, + 6936, 6937, 5, 364, 0, 0, 6937, 6938, 3, 632, 316, 0, 6938, 6939, 5, 384, + 0, 0, 6939, 6940, 5, 371, 0, 0, 6940, 6941, 3, 1396, 698, 0, 6941, 7077, + 1, 0, 0, 0, 6942, 6943, 5, 12, 0, 0, 6943, 6944, 5, 416, 0, 0, 6944, 6945, + 3, 1082, 541, 0, 6945, 6946, 5, 384, 0, 0, 6946, 6947, 5, 371, 0, 0, 6947, + 6948, 3, 1396, 698, 0, 6948, 7077, 1, 0, 0, 0, 6949, 6950, 5, 12, 0, 0, + 6950, 6951, 5, 416, 0, 0, 6951, 6952, 5, 177, 0, 0, 6952, 6953, 5, 139, + 0, 0, 6953, 6954, 3, 1082, 541, 0, 6954, 6955, 5, 384, 0, 0, 6955, 6956, + 5, 371, 0, 0, 6956, 6957, 3, 1396, 698, 0, 6957, 7077, 1, 0, 0, 0, 6958, + 6959, 5, 12, 0, 0, 6959, 6960, 5, 401, 0, 0, 6960, 6961, 3, 526, 263, 0, + 6961, 6962, 5, 384, 0, 0, 6962, 6963, 5, 371, 0, 0, 6963, 6964, 3, 1396, + 698, 0, 6964, 7077, 1, 0, 0, 0, 6965, 6966, 5, 12, 0, 0, 6966, 6967, 5, + 424, 0, 0, 6967, 6968, 5, 374, 0, 0, 6968, 6969, 5, 310, 0, 0, 6969, 6970, + 3, 526, 263, 0, 6970, 6971, 5, 384, 0, 0, 6971, 6972, 5, 371, 0, 0, 6972, + 6973, 3, 1396, 698, 0, 6973, 7077, 1, 0, 0, 0, 6974, 6975, 5, 12, 0, 0, + 6975, 6976, 5, 424, 0, 0, 6976, 6977, 5, 374, 0, 0, 6977, 6978, 5, 113, + 0, 0, 6978, 6979, 3, 526, 263, 0, 6979, 6980, 5, 384, 0, 0, 6980, 6981, + 5, 371, 0, 0, 6981, 6982, 3, 1396, 698, 0, 6982, 7077, 1, 0, 0, 0, 6983, + 6984, 5, 12, 0, 0, 6984, 6985, 5, 424, 0, 0, 6985, 6986, 5, 374, 0, 0, + 6986, 6987, 5, 422, 0, 0, 6987, 6988, 3, 526, 263, 0, 6988, 6989, 5, 384, + 0, 0, 6989, 6990, 5, 371, 0, 0, 6990, 6991, 3, 1396, 698, 0, 6991, 7077, + 1, 0, 0, 0, 6992, 6993, 5, 12, 0, 0, 6993, 6994, 5, 424, 0, 0, 6994, 6995, + 5, 374, 0, 0, 6995, 6996, 5, 70, 0, 0, 6996, 6997, 3, 526, 263, 0, 6997, + 6998, 5, 384, 0, 0, 6998, 6999, 5, 371, 0, 0, 6999, 7000, 3, 1396, 698, + 0, 7000, 7077, 1, 0, 0, 0, 7001, 7002, 5, 12, 0, 0, 7002, 7003, 5, 378, + 0, 0, 7003, 7004, 3, 1392, 696, 0, 7004, 7005, 5, 384, 0, 0, 7005, 7006, + 5, 371, 0, 0, 7006, 7007, 3, 1396, 698, 0, 7007, 7077, 1, 0, 0, 0, 7008, + 7009, 5, 12, 0, 0, 7009, 7010, 5, 378, 0, 0, 7010, 7011, 5, 177, 0, 0, + 7011, 7012, 5, 139, 0, 0, 7012, 7013, 3, 1392, 696, 0, 7013, 7014, 5, 384, + 0, 0, 7014, 7015, 5, 371, 0, 0, 7015, 7016, 3, 1396, 698, 0, 7016, 7077, + 1, 0, 0, 0, 7017, 7018, 5, 12, 0, 0, 7018, 7019, 5, 466, 0, 0, 7019, 7020, + 3, 1392, 696, 0, 7020, 7021, 5, 384, 0, 0, 7021, 7022, 5, 371, 0, 0, 7022, + 7023, 3, 1396, 698, 0, 7023, 7077, 1, 0, 0, 0, 7024, 7025, 5, 12, 0, 0, + 7025, 7026, 5, 466, 0, 0, 7026, 7027, 5, 177, 0, 0, 7027, 7028, 5, 139, + 0, 0, 7028, 7029, 3, 1392, 696, 0, 7029, 7030, 5, 384, 0, 0, 7030, 7031, + 5, 371, 0, 0, 7031, 7032, 3, 1396, 698, 0, 7032, 7077, 1, 0, 0, 0, 7033, + 7034, 5, 12, 0, 0, 7034, 7035, 5, 248, 0, 0, 7035, 7036, 5, 466, 0, 0, + 7036, 7037, 3, 1392, 696, 0, 7037, 7038, 5, 384, 0, 0, 7038, 7039, 5, 371, + 0, 0, 7039, 7040, 3, 1396, 698, 0, 7040, 7077, 1, 0, 0, 0, 7041, 7042, + 5, 12, 0, 0, 7042, 7043, 5, 248, 0, 0, 7043, 7044, 5, 466, 0, 0, 7044, + 7045, 5, 177, 0, 0, 7045, 7046, 5, 139, 0, 0, 7046, 7047, 3, 1392, 696, + 0, 7047, 7048, 5, 384, 0, 0, 7048, 7049, 5, 371, 0, 0, 7049, 7050, 3, 1396, + 698, 0, 7050, 7077, 1, 0, 0, 0, 7051, 7052, 5, 12, 0, 0, 7052, 7053, 5, + 155, 0, 0, 7053, 7054, 5, 416, 0, 0, 7054, 7055, 3, 1082, 541, 0, 7055, + 7056, 5, 384, 0, 0, 7056, 7057, 5, 371, 0, 0, 7057, 7058, 3, 1396, 698, + 0, 7058, 7077, 1, 0, 0, 0, 7059, 7060, 5, 12, 0, 0, 7060, 7061, 5, 155, + 0, 0, 7061, 7062, 5, 416, 0, 0, 7062, 7063, 5, 177, 0, 0, 7063, 7064, 5, + 139, 0, 0, 7064, 7065, 3, 1082, 541, 0, 7065, 7066, 5, 384, 0, 0, 7066, + 7067, 5, 371, 0, 0, 7067, 7068, 3, 1396, 698, 0, 7068, 7077, 1, 0, 0, 0, + 7069, 7070, 5, 12, 0, 0, 7070, 7071, 5, 439, 0, 0, 7071, 7072, 3, 526, + 263, 0, 7072, 7073, 5, 384, 0, 0, 7073, 7074, 5, 371, 0, 0, 7074, 7075, + 3, 1396, 698, 0, 7075, 7077, 1, 0, 0, 0, 7076, 6859, 1, 0, 0, 0, 7076, + 6866, 1, 0, 0, 0, 7076, 6873, 1, 0, 0, 0, 7076, 6880, 1, 0, 0, 0, 7076, + 6887, 1, 0, 0, 0, 7076, 6894, 1, 0, 0, 0, 7076, 6901, 1, 0, 0, 0, 7076, + 6908, 1, 0, 0, 0, 7076, 6918, 1, 0, 0, 0, 7076, 6928, 1, 0, 0, 0, 7076, + 6935, 1, 0, 0, 0, 7076, 6942, 1, 0, 0, 0, 7076, 6949, 1, 0, 0, 0, 7076, + 6958, 1, 0, 0, 0, 7076, 6965, 1, 0, 0, 0, 7076, 6974, 1, 0, 0, 0, 7076, + 6983, 1, 0, 0, 0, 7076, 6992, 1, 0, 0, 0, 7076, 7001, 1, 0, 0, 0, 7076, + 7008, 1, 0, 0, 0, 7076, 7017, 1, 0, 0, 0, 7076, 7024, 1, 0, 0, 0, 7076, + 7033, 1, 0, 0, 0, 7076, 7041, 1, 0, 0, 0, 7076, 7051, 1, 0, 0, 0, 7076, + 7059, 1, 0, 0, 0, 7076, 7069, 1, 0, 0, 0, 7077, 739, 1, 0, 0, 0, 7078, + 7079, 5, 12, 0, 0, 7079, 7080, 5, 293, 0, 0, 7080, 7081, 3, 694, 347, 0, + 7081, 7082, 5, 384, 0, 0, 7082, 7083, 5, 496, 0, 0, 7083, 7084, 3, 742, + 371, 0, 7084, 7085, 5, 497, 0, 0, 7085, 741, 1, 0, 0, 0, 7086, 7091, 3, + 744, 372, 0, 7087, 7088, 5, 500, 0, 0, 7088, 7090, 3, 744, 372, 0, 7089, + 7087, 1, 0, 0, 0, 7090, 7093, 1, 0, 0, 0, 7091, 7089, 1, 0, 0, 0, 7091, + 7092, 1, 0, 0, 0, 7092, 743, 1, 0, 0, 0, 7093, 7091, 1, 0, 0, 0, 7094, + 7095, 3, 1436, 718, 0, 7095, 7096, 5, 504, 0, 0, 7096, 7097, 5, 271, 0, + 0, 7097, 7103, 1, 0, 0, 0, 7098, 7099, 3, 1436, 718, 0, 7099, 7100, 5, + 504, 0, 0, 7100, 7101, 3, 746, 373, 0, 7101, 7103, 1, 0, 0, 0, 7102, 7094, + 1, 0, 0, 0, 7102, 7098, 1, 0, 0, 0, 7103, 745, 1, 0, 0, 0, 7104, 7110, + 3, 646, 323, 0, 7105, 7110, 3, 1670, 835, 0, 7106, 7110, 3, 1330, 665, + 0, 7107, 7110, 3, 294, 147, 0, 7108, 7110, 3, 1414, 707, 0, 7109, 7104, + 1, 0, 0, 0, 7109, 7105, 1, 0, 0, 0, 7109, 7106, 1, 0, 0, 0, 7109, 7107, + 1, 0, 0, 0, 7109, 7108, 1, 0, 0, 0, 7110, 747, 1, 0, 0, 0, 7111, 7112, + 5, 12, 0, 0, 7112, 7113, 5, 439, 0, 0, 7113, 7114, 3, 526, 263, 0, 7114, + 7115, 5, 384, 0, 0, 7115, 7116, 5, 496, 0, 0, 7116, 7117, 3, 742, 371, + 0, 7117, 7118, 5, 497, 0, 0, 7118, 749, 1, 0, 0, 0, 7119, 7120, 5, 12, + 0, 0, 7120, 7121, 5, 9, 0, 0, 7121, 7122, 3, 656, 328, 0, 7122, 7123, 5, + 307, 0, 0, 7123, 7124, 5, 429, 0, 0, 7124, 7125, 3, 1424, 712, 0, 7125, + 7305, 1, 0, 0, 0, 7126, 7127, 5, 12, 0, 0, 7127, 7128, 5, 60, 0, 0, 7128, + 7129, 3, 526, 263, 0, 7129, 7130, 5, 307, 0, 0, 7130, 7131, 5, 429, 0, + 0, 7131, 7132, 3, 1424, 712, 0, 7132, 7305, 1, 0, 0, 0, 7133, 7134, 5, + 12, 0, 0, 7134, 7135, 5, 77, 0, 0, 7135, 7136, 3, 526, 263, 0, 7136, 7137, + 5, 307, 0, 0, 7137, 7138, 5, 429, 0, 0, 7138, 7139, 3, 1424, 712, 0, 7139, + 7305, 1, 0, 0, 0, 7140, 7141, 5, 12, 0, 0, 7141, 7142, 5, 95, 0, 0, 7142, + 7143, 3, 1396, 698, 0, 7143, 7144, 5, 307, 0, 0, 7144, 7145, 5, 429, 0, + 0, 7145, 7146, 3, 1424, 712, 0, 7146, 7305, 1, 0, 0, 0, 7147, 7148, 5, + 12, 0, 0, 7148, 7149, 5, 119, 0, 0, 7149, 7150, 3, 526, 263, 0, 7150, 7151, + 5, 307, 0, 0, 7151, 7152, 5, 429, 0, 0, 7152, 7153, 3, 1424, 712, 0, 7153, + 7305, 1, 0, 0, 0, 7154, 7155, 5, 12, 0, 0, 7155, 7156, 5, 161, 0, 0, 7156, + 7157, 3, 632, 316, 0, 7157, 7158, 5, 307, 0, 0, 7158, 7159, 5, 429, 0, + 0, 7159, 7160, 3, 1424, 712, 0, 7160, 7305, 1, 0, 0, 0, 7161, 7163, 5, + 12, 0, 0, 7162, 7164, 3, 310, 155, 0, 7163, 7162, 1, 0, 0, 0, 7163, 7164, + 1, 0, 0, 0, 7164, 7165, 1, 0, 0, 0, 7165, 7166, 5, 225, 0, 0, 7166, 7167, + 3, 1396, 698, 0, 7167, 7168, 5, 307, 0, 0, 7168, 7169, 5, 429, 0, 0, 7169, + 7170, 3, 1424, 712, 0, 7170, 7305, 1, 0, 0, 0, 7171, 7172, 5, 12, 0, 0, + 7172, 7173, 5, 226, 0, 0, 7173, 7174, 5, 283, 0, 0, 7174, 7175, 3, 294, + 147, 0, 7175, 7176, 5, 307, 0, 0, 7176, 7177, 5, 429, 0, 0, 7177, 7178, + 3, 1424, 712, 0, 7178, 7305, 1, 0, 0, 0, 7179, 7180, 5, 12, 0, 0, 7180, + 7181, 5, 293, 0, 0, 7181, 7182, 3, 694, 347, 0, 7182, 7183, 5, 307, 0, + 0, 7183, 7184, 5, 429, 0, 0, 7184, 7185, 3, 1424, 712, 0, 7185, 7305, 1, + 0, 0, 0, 7186, 7187, 5, 12, 0, 0, 7187, 7188, 5, 293, 0, 0, 7188, 7189, + 5, 55, 0, 0, 7189, 7190, 3, 526, 263, 0, 7190, 7191, 5, 454, 0, 0, 7191, + 7192, 3, 1396, 698, 0, 7192, 7193, 5, 307, 0, 0, 7193, 7194, 5, 429, 0, + 0, 7194, 7195, 3, 1424, 712, 0, 7195, 7305, 1, 0, 0, 0, 7196, 7197, 5, + 12, 0, 0, 7197, 7198, 5, 293, 0, 0, 7198, 7199, 5, 146, 0, 0, 7199, 7200, + 3, 526, 263, 0, 7200, 7201, 5, 454, 0, 0, 7201, 7202, 3, 1396, 698, 0, + 7202, 7203, 5, 307, 0, 0, 7203, 7204, 5, 429, 0, 0, 7204, 7205, 3, 1424, + 712, 0, 7205, 7305, 1, 0, 0, 0, 7206, 7207, 5, 12, 0, 0, 7207, 7208, 5, + 331, 0, 0, 7208, 7209, 3, 632, 316, 0, 7209, 7210, 5, 307, 0, 0, 7210, + 7211, 5, 429, 0, 0, 7211, 7212, 3, 1424, 712, 0, 7212, 7305, 1, 0, 0, 0, + 7213, 7214, 5, 12, 0, 0, 7214, 7215, 5, 364, 0, 0, 7215, 7216, 3, 632, + 316, 0, 7216, 7217, 5, 307, 0, 0, 7217, 7218, 5, 429, 0, 0, 7218, 7219, + 3, 1424, 712, 0, 7219, 7305, 1, 0, 0, 0, 7220, 7221, 5, 12, 0, 0, 7221, + 7222, 5, 371, 0, 0, 7222, 7223, 3, 1396, 698, 0, 7223, 7224, 5, 307, 0, + 0, 7224, 7225, 5, 429, 0, 0, 7225, 7226, 3, 1424, 712, 0, 7226, 7305, 1, + 0, 0, 0, 7227, 7228, 5, 12, 0, 0, 7228, 7229, 5, 439, 0, 0, 7229, 7230, + 3, 526, 263, 0, 7230, 7231, 5, 307, 0, 0, 7231, 7232, 5, 429, 0, 0, 7232, + 7233, 3, 1424, 712, 0, 7233, 7305, 1, 0, 0, 0, 7234, 7235, 5, 12, 0, 0, + 7235, 7236, 5, 419, 0, 0, 7236, 7237, 3, 1396, 698, 0, 7237, 7238, 5, 307, + 0, 0, 7238, 7239, 5, 429, 0, 0, 7239, 7240, 3, 1424, 712, 0, 7240, 7305, + 1, 0, 0, 0, 7241, 7242, 5, 12, 0, 0, 7242, 7243, 5, 401, 0, 0, 7243, 7244, + 3, 526, 263, 0, 7244, 7245, 5, 307, 0, 0, 7245, 7246, 5, 429, 0, 0, 7246, + 7247, 3, 1424, 712, 0, 7247, 7305, 1, 0, 0, 0, 7248, 7249, 5, 12, 0, 0, + 7249, 7250, 5, 424, 0, 0, 7250, 7251, 5, 374, 0, 0, 7251, 7252, 5, 113, + 0, 0, 7252, 7253, 3, 526, 263, 0, 7253, 7254, 5, 307, 0, 0, 7254, 7255, + 5, 429, 0, 0, 7255, 7256, 3, 1424, 712, 0, 7256, 7305, 1, 0, 0, 0, 7257, + 7258, 5, 12, 0, 0, 7258, 7259, 5, 424, 0, 0, 7259, 7260, 5, 374, 0, 0, + 7260, 7261, 5, 70, 0, 0, 7261, 7262, 3, 526, 263, 0, 7262, 7263, 5, 307, + 0, 0, 7263, 7264, 5, 429, 0, 0, 7264, 7265, 3, 1424, 712, 0, 7265, 7305, + 1, 0, 0, 0, 7266, 7267, 5, 12, 0, 0, 7267, 7268, 5, 155, 0, 0, 7268, 7269, + 5, 94, 0, 0, 7269, 7270, 5, 478, 0, 0, 7270, 7271, 3, 1396, 698, 0, 7271, + 7272, 5, 307, 0, 0, 7272, 7273, 5, 429, 0, 0, 7273, 7274, 3, 1424, 712, + 0, 7274, 7305, 1, 0, 0, 0, 7275, 7276, 5, 12, 0, 0, 7276, 7277, 5, 381, + 0, 0, 7277, 7278, 3, 1396, 698, 0, 7278, 7279, 5, 307, 0, 0, 7279, 7280, + 5, 429, 0, 0, 7280, 7281, 3, 1424, 712, 0, 7281, 7305, 1, 0, 0, 0, 7282, + 7283, 5, 12, 0, 0, 7283, 7284, 5, 133, 0, 0, 7284, 7285, 5, 434, 0, 0, + 7285, 7286, 3, 1396, 698, 0, 7286, 7287, 5, 307, 0, 0, 7287, 7288, 5, 429, + 0, 0, 7288, 7289, 3, 1424, 712, 0, 7289, 7305, 1, 0, 0, 0, 7290, 7291, + 5, 12, 0, 0, 7291, 7292, 5, 334, 0, 0, 7292, 7293, 3, 1396, 698, 0, 7293, + 7294, 5, 307, 0, 0, 7294, 7295, 5, 429, 0, 0, 7295, 7296, 3, 1424, 712, + 0, 7296, 7305, 1, 0, 0, 0, 7297, 7298, 5, 12, 0, 0, 7298, 7299, 5, 409, + 0, 0, 7299, 7300, 3, 1396, 698, 0, 7300, 7301, 5, 307, 0, 0, 7301, 7302, + 5, 429, 0, 0, 7302, 7303, 3, 1424, 712, 0, 7303, 7305, 1, 0, 0, 0, 7304, + 7119, 1, 0, 0, 0, 7304, 7126, 1, 0, 0, 0, 7304, 7133, 1, 0, 0, 0, 7304, + 7140, 1, 0, 0, 0, 7304, 7147, 1, 0, 0, 0, 7304, 7154, 1, 0, 0, 0, 7304, + 7161, 1, 0, 0, 0, 7304, 7171, 1, 0, 0, 0, 7304, 7179, 1, 0, 0, 0, 7304, + 7186, 1, 0, 0, 0, 7304, 7196, 1, 0, 0, 0, 7304, 7206, 1, 0, 0, 0, 7304, + 7213, 1, 0, 0, 0, 7304, 7220, 1, 0, 0, 0, 7304, 7227, 1, 0, 0, 0, 7304, + 7234, 1, 0, 0, 0, 7304, 7241, 1, 0, 0, 0, 7304, 7248, 1, 0, 0, 0, 7304, + 7257, 1, 0, 0, 0, 7304, 7266, 1, 0, 0, 0, 7304, 7275, 1, 0, 0, 0, 7304, + 7282, 1, 0, 0, 0, 7304, 7290, 1, 0, 0, 0, 7304, 7297, 1, 0, 0, 0, 7305, + 751, 1, 0, 0, 0, 7306, 7307, 5, 80, 0, 0, 7307, 7308, 5, 334, 0, 0, 7308, + 7310, 3, 1396, 698, 0, 7309, 7311, 3, 670, 335, 0, 7310, 7309, 1, 0, 0, + 0, 7310, 7311, 1, 0, 0, 0, 7311, 7330, 1, 0, 0, 0, 7312, 7313, 5, 80, 0, + 0, 7313, 7314, 5, 334, 0, 0, 7314, 7315, 3, 1396, 698, 0, 7315, 7316, 5, + 153, 0, 0, 7316, 7317, 5, 10, 0, 0, 7317, 7319, 5, 417, 0, 0, 7318, 7320, + 3, 670, 335, 0, 7319, 7318, 1, 0, 0, 0, 7319, 7320, 1, 0, 0, 0, 7320, 7330, + 1, 0, 0, 0, 7321, 7322, 5, 80, 0, 0, 7322, 7323, 5, 334, 0, 0, 7323, 7324, + 3, 1396, 698, 0, 7324, 7325, 5, 153, 0, 0, 7325, 7327, 3, 754, 377, 0, + 7326, 7328, 3, 670, 335, 0, 7327, 7326, 1, 0, 0, 0, 7327, 7328, 1, 0, 0, + 0, 7328, 7330, 1, 0, 0, 0, 7329, 7306, 1, 0, 0, 0, 7329, 7312, 1, 0, 0, + 0, 7329, 7321, 1, 0, 0, 0, 7330, 753, 1, 0, 0, 0, 7331, 7336, 3, 756, 378, + 0, 7332, 7333, 5, 500, 0, 0, 7333, 7335, 3, 756, 378, 0, 7334, 7332, 1, + 0, 0, 0, 7335, 7338, 1, 0, 0, 0, 7336, 7334, 1, 0, 0, 0, 7336, 7337, 1, + 0, 0, 0, 7337, 755, 1, 0, 0, 0, 7338, 7336, 1, 0, 0, 0, 7339, 7340, 5, + 416, 0, 0, 7340, 7342, 3, 1082, 541, 0, 7341, 7343, 3, 216, 108, 0, 7342, + 7341, 1, 0, 0, 0, 7342, 7343, 1, 0, 0, 0, 7343, 7345, 1, 0, 0, 0, 7344, + 7346, 3, 758, 379, 0, 7345, 7344, 1, 0, 0, 0, 7345, 7346, 1, 0, 0, 0, 7346, + 7378, 1, 0, 0, 0, 7347, 7348, 5, 416, 0, 0, 7348, 7349, 5, 183, 0, 0, 7349, + 7352, 5, 371, 0, 0, 7350, 7353, 3, 1428, 714, 0, 7351, 7353, 5, 88, 0, + 0, 7352, 7350, 1, 0, 0, 0, 7352, 7351, 1, 0, 0, 0, 7353, 7378, 1, 0, 0, + 0, 7354, 7356, 3, 1428, 714, 0, 7355, 7357, 3, 216, 108, 0, 7356, 7355, + 1, 0, 0, 0, 7356, 7357, 1, 0, 0, 0, 7357, 7359, 1, 0, 0, 0, 7358, 7360, + 3, 758, 379, 0, 7359, 7358, 1, 0, 0, 0, 7359, 7360, 1, 0, 0, 0, 7360, 7378, + 1, 0, 0, 0, 7361, 7362, 3, 1428, 714, 0, 7362, 7364, 3, 1378, 689, 0, 7363, + 7365, 3, 216, 108, 0, 7364, 7363, 1, 0, 0, 0, 7364, 7365, 1, 0, 0, 0, 7365, + 7367, 1, 0, 0, 0, 7366, 7368, 3, 758, 379, 0, 7367, 7366, 1, 0, 0, 0, 7367, + 7368, 1, 0, 0, 0, 7368, 7378, 1, 0, 0, 0, 7369, 7371, 3, 1082, 541, 0, + 7370, 7372, 3, 216, 108, 0, 7371, 7370, 1, 0, 0, 0, 7371, 7372, 1, 0, 0, + 0, 7372, 7374, 1, 0, 0, 0, 7373, 7375, 3, 758, 379, 0, 7374, 7373, 1, 0, + 0, 0, 7374, 7375, 1, 0, 0, 0, 7375, 7378, 1, 0, 0, 0, 7376, 7378, 5, 88, + 0, 0, 7377, 7339, 1, 0, 0, 0, 7377, 7347, 1, 0, 0, 0, 7377, 7354, 1, 0, + 0, 0, 7377, 7361, 1, 0, 0, 0, 7377, 7369, 1, 0, 0, 0, 7377, 7376, 1, 0, + 0, 0, 7378, 757, 1, 0, 0, 0, 7379, 7380, 5, 471, 0, 0, 7380, 7381, 5, 496, + 0, 0, 7381, 7382, 3, 1172, 586, 0, 7382, 7383, 5, 497, 0, 0, 7383, 759, + 1, 0, 0, 0, 7384, 7385, 5, 12, 0, 0, 7385, 7386, 5, 334, 0, 0, 7386, 7387, + 3, 1396, 698, 0, 7387, 7388, 5, 384, 0, 0, 7388, 7389, 3, 462, 231, 0, + 7389, 7409, 1, 0, 0, 0, 7390, 7391, 5, 12, 0, 0, 7391, 7392, 5, 334, 0, + 0, 7392, 7393, 3, 1396, 698, 0, 7393, 7394, 5, 6, 0, 0, 7394, 7395, 3, + 754, 377, 0, 7395, 7409, 1, 0, 0, 0, 7396, 7397, 5, 12, 0, 0, 7397, 7398, + 5, 334, 0, 0, 7398, 7399, 3, 1396, 698, 0, 7399, 7400, 5, 384, 0, 0, 7400, + 7401, 3, 754, 377, 0, 7401, 7409, 1, 0, 0, 0, 7402, 7403, 5, 12, 0, 0, + 7403, 7404, 5, 334, 0, 0, 7404, 7405, 3, 1396, 698, 0, 7405, 7406, 5, 121, + 0, 0, 7406, 7407, 3, 754, 377, 0, 7407, 7409, 1, 0, 0, 0, 7408, 7384, 1, + 0, 0, 0, 7408, 7390, 1, 0, 0, 0, 7408, 7396, 1, 0, 0, 0, 7408, 7402, 1, + 0, 0, 0, 7409, 761, 1, 0, 0, 0, 7410, 7411, 5, 80, 0, 0, 7411, 7412, 5, + 409, 0, 0, 7412, 7413, 3, 1396, 698, 0, 7413, 7414, 5, 72, 0, 0, 7414, + 7415, 3, 1414, 707, 0, 7415, 7416, 5, 334, 0, 0, 7416, 7418, 3, 764, 382, + 0, 7417, 7419, 3, 670, 335, 0, 7418, 7417, 1, 0, 0, 0, 7418, 7419, 1, 0, + 0, 0, 7419, 763, 1, 0, 0, 0, 7420, 7425, 3, 766, 383, 0, 7421, 7422, 5, + 500, 0, 0, 7422, 7424, 3, 766, 383, 0, 7423, 7421, 1, 0, 0, 0, 7424, 7427, + 1, 0, 0, 0, 7425, 7423, 1, 0, 0, 0, 7425, 7426, 1, 0, 0, 0, 7426, 765, + 1, 0, 0, 0, 7427, 7425, 1, 0, 0, 0, 7428, 7429, 3, 1436, 718, 0, 7429, + 767, 1, 0, 0, 0, 7430, 7431, 5, 12, 0, 0, 7431, 7432, 5, 409, 0, 0, 7432, + 7433, 3, 1396, 698, 0, 7433, 7434, 5, 384, 0, 0, 7434, 7435, 3, 462, 231, + 0, 7435, 7476, 1, 0, 0, 0, 7436, 7437, 5, 12, 0, 0, 7437, 7438, 5, 409, + 0, 0, 7438, 7439, 3, 1396, 698, 0, 7439, 7440, 5, 72, 0, 0, 7440, 7441, + 3, 1414, 707, 0, 7441, 7476, 1, 0, 0, 0, 7442, 7443, 5, 12, 0, 0, 7443, + 7444, 5, 409, 0, 0, 7444, 7445, 3, 1396, 698, 0, 7445, 7446, 5, 345, 0, + 0, 7446, 7448, 5, 334, 0, 0, 7447, 7449, 3, 670, 335, 0, 7448, 7447, 1, + 0, 0, 0, 7448, 7449, 1, 0, 0, 0, 7449, 7476, 1, 0, 0, 0, 7450, 7451, 5, + 12, 0, 0, 7451, 7452, 5, 409, 0, 0, 7452, 7453, 3, 1396, 698, 0, 7453, + 7454, 5, 384, 0, 0, 7454, 7455, 5, 334, 0, 0, 7455, 7457, 3, 764, 382, + 0, 7456, 7458, 3, 670, 335, 0, 7457, 7456, 1, 0, 0, 0, 7457, 7458, 1, 0, + 0, 0, 7458, 7476, 1, 0, 0, 0, 7459, 7460, 5, 12, 0, 0, 7460, 7461, 5, 409, + 0, 0, 7461, 7462, 3, 1396, 698, 0, 7462, 7463, 5, 125, 0, 0, 7463, 7476, + 1, 0, 0, 0, 7464, 7465, 5, 12, 0, 0, 7465, 7466, 5, 409, 0, 0, 7466, 7467, + 3, 1396, 698, 0, 7467, 7468, 5, 114, 0, 0, 7468, 7476, 1, 0, 0, 0, 7469, + 7470, 5, 12, 0, 0, 7470, 7471, 5, 409, 0, 0, 7471, 7472, 3, 1396, 698, + 0, 7472, 7473, 5, 391, 0, 0, 7473, 7474, 3, 462, 231, 0, 7474, 7476, 1, + 0, 0, 0, 7475, 7430, 1, 0, 0, 0, 7475, 7436, 1, 0, 0, 0, 7475, 7442, 1, + 0, 0, 0, 7475, 7450, 1, 0, 0, 0, 7475, 7459, 1, 0, 0, 0, 7475, 7464, 1, + 0, 0, 0, 7475, 7469, 1, 0, 0, 0, 7476, 769, 1, 0, 0, 0, 7477, 7478, 5, + 121, 0, 0, 7478, 7479, 5, 409, 0, 0, 7479, 7481, 3, 1396, 698, 0, 7480, + 7482, 3, 108, 54, 0, 7481, 7480, 1, 0, 0, 0, 7481, 7482, 1, 0, 0, 0, 7482, + 7492, 1, 0, 0, 0, 7483, 7484, 5, 121, 0, 0, 7484, 7485, 5, 409, 0, 0, 7485, + 7486, 5, 177, 0, 0, 7486, 7487, 5, 139, 0, 0, 7487, 7489, 3, 1396, 698, + 0, 7488, 7490, 3, 108, 54, 0, 7489, 7488, 1, 0, 0, 0, 7489, 7490, 1, 0, + 0, 0, 7490, 7492, 1, 0, 0, 0, 7491, 7477, 1, 0, 0, 0, 7491, 7483, 1, 0, + 0, 0, 7492, 771, 1, 0, 0, 0, 7493, 7495, 5, 80, 0, 0, 7494, 7496, 3, 624, + 312, 0, 7495, 7494, 1, 0, 0, 0, 7495, 7496, 1, 0, 0, 0, 7496, 7497, 1, + 0, 0, 0, 7497, 7498, 5, 368, 0, 0, 7498, 7499, 3, 1396, 698, 0, 7499, 7500, + 5, 19, 0, 0, 7500, 7501, 5, 291, 0, 0, 7501, 7502, 3, 782, 391, 0, 7502, + 7503, 5, 429, 0, 0, 7503, 7505, 3, 1392, 696, 0, 7504, 7506, 3, 1102, 551, + 0, 7505, 7504, 1, 0, 0, 0, 7505, 7506, 1, 0, 0, 0, 7506, 7507, 1, 0, 0, + 0, 7507, 7509, 5, 117, 0, 0, 7508, 7510, 3, 784, 392, 0, 7509, 7508, 1, + 0, 0, 0, 7509, 7510, 1, 0, 0, 0, 7510, 7511, 1, 0, 0, 0, 7511, 7512, 3, + 774, 387, 0, 7512, 773, 1, 0, 0, 0, 7513, 7520, 5, 275, 0, 0, 7514, 7520, + 3, 778, 389, 0, 7515, 7516, 5, 496, 0, 0, 7516, 7517, 3, 776, 388, 0, 7517, + 7518, 5, 497, 0, 0, 7518, 7520, 1, 0, 0, 0, 7519, 7513, 1, 0, 0, 0, 7519, + 7514, 1, 0, 0, 0, 7519, 7515, 1, 0, 0, 0, 7520, 775, 1, 0, 0, 0, 7521, + 7523, 3, 780, 390, 0, 7522, 7521, 1, 0, 0, 0, 7522, 7523, 1, 0, 0, 0, 7523, + 7530, 1, 0, 0, 0, 7524, 7526, 5, 501, 0, 0, 7525, 7527, 3, 780, 390, 0, + 7526, 7525, 1, 0, 0, 0, 7526, 7527, 1, 0, 0, 0, 7527, 7529, 1, 0, 0, 0, + 7528, 7524, 1, 0, 0, 0, 7529, 7532, 1, 0, 0, 0, 7530, 7528, 1, 0, 0, 0, + 7530, 7531, 1, 0, 0, 0, 7531, 777, 1, 0, 0, 0, 7532, 7530, 1, 0, 0, 0, + 7533, 7539, 3, 968, 484, 0, 7534, 7539, 3, 910, 455, 0, 7535, 7539, 3, + 950, 475, 0, 7536, 7539, 3, 936, 468, 0, 7537, 7539, 3, 786, 393, 0, 7538, + 7533, 1, 0, 0, 0, 7538, 7534, 1, 0, 0, 0, 7538, 7535, 1, 0, 0, 0, 7538, + 7536, 1, 0, 0, 0, 7538, 7537, 1, 0, 0, 0, 7539, 779, 1, 0, 0, 0, 7540, + 7541, 3, 778, 389, 0, 7541, 781, 1, 0, 0, 0, 7542, 7543, 7, 33, 0, 0, 7543, + 783, 1, 0, 0, 0, 7544, 7545, 7, 34, 0, 0, 7545, 785, 1, 0, 0, 0, 7546, + 7547, 5, 276, 0, 0, 7547, 7549, 3, 1428, 714, 0, 7548, 7550, 3, 788, 394, + 0, 7549, 7548, 1, 0, 0, 0, 7549, 7550, 1, 0, 0, 0, 7550, 787, 1, 0, 0, + 0, 7551, 7552, 5, 500, 0, 0, 7552, 7553, 3, 1414, 707, 0, 7553, 789, 1, + 0, 0, 0, 7554, 7555, 5, 236, 0, 0, 7555, 7556, 3, 1428, 714, 0, 7556, 791, + 1, 0, 0, 0, 7557, 7558, 5, 449, 0, 0, 7558, 7562, 3, 1428, 714, 0, 7559, + 7560, 5, 449, 0, 0, 7560, 7562, 5, 503, 0, 0, 7561, 7557, 1, 0, 0, 0, 7561, + 7559, 1, 0, 0, 0, 7562, 793, 1, 0, 0, 0, 7563, 7565, 5, 1, 0, 0, 7564, + 7566, 3, 796, 398, 0, 7565, 7564, 1, 0, 0, 0, 7565, 7566, 1, 0, 0, 0, 7566, + 7568, 1, 0, 0, 0, 7567, 7569, 3, 804, 402, 0, 7568, 7567, 1, 0, 0, 0, 7568, + 7569, 1, 0, 0, 0, 7569, 7633, 1, 0, 0, 0, 7570, 7572, 5, 32, 0, 0, 7571, + 7573, 3, 796, 398, 0, 7572, 7571, 1, 0, 0, 0, 7572, 7573, 1, 0, 0, 0, 7573, + 7575, 1, 0, 0, 0, 7574, 7576, 3, 802, 401, 0, 7575, 7574, 1, 0, 0, 0, 7575, + 7576, 1, 0, 0, 0, 7576, 7633, 1, 0, 0, 0, 7577, 7578, 5, 399, 0, 0, 7578, + 7580, 5, 431, 0, 0, 7579, 7581, 3, 802, 401, 0, 7580, 7579, 1, 0, 0, 0, + 7580, 7581, 1, 0, 0, 0, 7581, 7633, 1, 0, 0, 0, 7582, 7584, 5, 65, 0, 0, + 7583, 7585, 3, 796, 398, 0, 7584, 7583, 1, 0, 0, 0, 7584, 7585, 1, 0, 0, + 0, 7585, 7587, 1, 0, 0, 0, 7586, 7588, 3, 804, 402, 0, 7587, 7586, 1, 0, + 0, 0, 7587, 7588, 1, 0, 0, 0, 7588, 7633, 1, 0, 0, 0, 7589, 7591, 5, 128, + 0, 0, 7590, 7592, 3, 796, 398, 0, 7591, 7590, 1, 0, 0, 0, 7591, 7592, 1, + 0, 0, 0, 7592, 7594, 1, 0, 0, 0, 7593, 7595, 3, 804, 402, 0, 7594, 7593, + 1, 0, 0, 0, 7594, 7595, 1, 0, 0, 0, 7595, 7633, 1, 0, 0, 0, 7596, 7598, + 5, 362, 0, 0, 7597, 7599, 3, 796, 398, 0, 7598, 7597, 1, 0, 0, 0, 7598, + 7599, 1, 0, 0, 0, 7599, 7601, 1, 0, 0, 0, 7600, 7602, 3, 804, 402, 0, 7601, + 7600, 1, 0, 0, 0, 7601, 7602, 1, 0, 0, 0, 7602, 7633, 1, 0, 0, 0, 7603, + 7604, 5, 369, 0, 0, 7604, 7633, 3, 1428, 714, 0, 7605, 7606, 5, 348, 0, + 0, 7606, 7607, 5, 369, 0, 0, 7607, 7633, 3, 1428, 714, 0, 7608, 7609, 5, + 348, 0, 0, 7609, 7633, 3, 1428, 714, 0, 7610, 7612, 5, 362, 0, 0, 7611, + 7613, 3, 796, 398, 0, 7612, 7611, 1, 0, 0, 0, 7612, 7613, 1, 0, 0, 0, 7613, + 7614, 1, 0, 0, 0, 7614, 7615, 5, 429, 0, 0, 7615, 7616, 5, 369, 0, 0, 7616, + 7633, 3, 1428, 714, 0, 7617, 7619, 5, 362, 0, 0, 7618, 7620, 3, 796, 398, + 0, 7619, 7618, 1, 0, 0, 0, 7619, 7620, 1, 0, 0, 0, 7620, 7621, 1, 0, 0, + 0, 7621, 7622, 5, 429, 0, 0, 7622, 7633, 3, 1428, 714, 0, 7623, 7624, 5, + 324, 0, 0, 7624, 7625, 5, 431, 0, 0, 7625, 7633, 3, 1414, 707, 0, 7626, + 7627, 5, 65, 0, 0, 7627, 7628, 5, 325, 0, 0, 7628, 7633, 3, 1414, 707, + 0, 7629, 7630, 5, 362, 0, 0, 7630, 7631, 5, 325, 0, 0, 7631, 7633, 3, 1414, + 707, 0, 7632, 7563, 1, 0, 0, 0, 7632, 7570, 1, 0, 0, 0, 7632, 7577, 1, + 0, 0, 0, 7632, 7582, 1, 0, 0, 0, 7632, 7589, 1, 0, 0, 0, 7632, 7596, 1, + 0, 0, 0, 7632, 7603, 1, 0, 0, 0, 7632, 7605, 1, 0, 0, 0, 7632, 7608, 1, + 0, 0, 0, 7632, 7610, 1, 0, 0, 0, 7632, 7617, 1, 0, 0, 0, 7632, 7623, 1, + 0, 0, 0, 7632, 7626, 1, 0, 0, 0, 7632, 7629, 1, 0, 0, 0, 7633, 795, 1, + 0, 0, 0, 7634, 7635, 7, 35, 0, 0, 7635, 797, 1, 0, 0, 0, 7636, 7637, 5, + 208, 0, 0, 7637, 7638, 5, 233, 0, 0, 7638, 7647, 3, 64, 32, 0, 7639, 7640, + 5, 338, 0, 0, 7640, 7647, 5, 292, 0, 0, 7641, 7642, 5, 338, 0, 0, 7642, + 7647, 5, 479, 0, 0, 7643, 7647, 5, 103, 0, 0, 7644, 7645, 5, 274, 0, 0, + 7645, 7647, 5, 103, 0, 0, 7646, 7636, 1, 0, 0, 0, 7646, 7639, 1, 0, 0, + 0, 7646, 7641, 1, 0, 0, 0, 7646, 7643, 1, 0, 0, 0, 7646, 7644, 1, 0, 0, + 0, 7647, 799, 1, 0, 0, 0, 7648, 7655, 3, 798, 399, 0, 7649, 7651, 5, 500, + 0, 0, 7650, 7649, 1, 0, 0, 0, 7650, 7651, 1, 0, 0, 0, 7651, 7652, 1, 0, + 0, 0, 7652, 7654, 3, 798, 399, 0, 7653, 7650, 1, 0, 0, 0, 7654, 7657, 1, + 0, 0, 0, 7655, 7653, 1, 0, 0, 0, 7655, 7656, 1, 0, 0, 0, 7656, 801, 1, + 0, 0, 0, 7657, 7655, 1, 0, 0, 0, 7658, 7659, 3, 800, 400, 0, 7659, 803, + 1, 0, 0, 0, 7660, 7662, 5, 16, 0, 0, 7661, 7663, 5, 270, 0, 0, 7662, 7661, + 1, 0, 0, 0, 7662, 7663, 1, 0, 0, 0, 7663, 7664, 1, 0, 0, 0, 7664, 7665, + 5, 49, 0, 0, 7665, 805, 1, 0, 0, 0, 7666, 7669, 5, 80, 0, 0, 7667, 7668, + 5, 296, 0, 0, 7668, 7670, 5, 351, 0, 0, 7669, 7667, 1, 0, 0, 0, 7669, 7670, + 1, 0, 0, 0, 7670, 7672, 1, 0, 0, 0, 7671, 7673, 3, 174, 87, 0, 7672, 7671, + 1, 0, 0, 0, 7672, 7673, 1, 0, 0, 0, 7673, 7691, 1, 0, 0, 0, 7674, 7675, + 5, 466, 0, 0, 7675, 7677, 3, 1392, 696, 0, 7676, 7678, 3, 216, 108, 0, + 7677, 7676, 1, 0, 0, 0, 7677, 7678, 1, 0, 0, 0, 7678, 7680, 1, 0, 0, 0, + 7679, 7681, 3, 118, 59, 0, 7680, 7679, 1, 0, 0, 0, 7680, 7681, 1, 0, 0, + 0, 7681, 7692, 1, 0, 0, 0, 7682, 7683, 5, 341, 0, 0, 7683, 7684, 5, 466, + 0, 0, 7684, 7685, 3, 1392, 696, 0, 7685, 7686, 5, 496, 0, 0, 7686, 7687, + 3, 218, 109, 0, 7687, 7689, 5, 497, 0, 0, 7688, 7690, 3, 118, 59, 0, 7689, + 7688, 1, 0, 0, 0, 7689, 7690, 1, 0, 0, 0, 7690, 7692, 1, 0, 0, 0, 7691, + 7674, 1, 0, 0, 0, 7691, 7682, 1, 0, 0, 0, 7692, 7693, 1, 0, 0, 0, 7693, + 7694, 5, 19, 0, 0, 7694, 7696, 3, 968, 484, 0, 7695, 7697, 3, 808, 404, + 0, 7696, 7695, 1, 0, 0, 0, 7696, 7697, 1, 0, 0, 0, 7697, 807, 1, 0, 0, + 0, 7698, 7700, 5, 474, 0, 0, 7699, 7701, 7, 36, 0, 0, 7700, 7699, 1, 0, + 0, 0, 7700, 7701, 1, 0, 0, 0, 7701, 7702, 1, 0, 0, 0, 7702, 7703, 5, 53, + 0, 0, 7703, 7704, 5, 294, 0, 0, 7704, 809, 1, 0, 0, 0, 7705, 7706, 5, 237, + 0, 0, 7706, 7707, 3, 1400, 700, 0, 7707, 811, 1, 0, 0, 0, 7708, 7709, 5, + 80, 0, 0, 7709, 7710, 5, 95, 0, 0, 7710, 7712, 3, 1396, 698, 0, 7711, 7713, + 3, 16, 8, 0, 7712, 7711, 1, 0, 0, 0, 7712, 7713, 1, 0, 0, 0, 7713, 7715, + 1, 0, 0, 0, 7714, 7716, 3, 814, 407, 0, 7715, 7714, 1, 0, 0, 0, 7715, 7716, + 1, 0, 0, 0, 7716, 813, 1, 0, 0, 0, 7717, 7718, 3, 816, 408, 0, 7718, 815, + 1, 0, 0, 0, 7719, 7721, 3, 818, 409, 0, 7720, 7719, 1, 0, 0, 0, 7721, 7722, + 1, 0, 0, 0, 7722, 7720, 1, 0, 0, 0, 7722, 7723, 1, 0, 0, 0, 7723, 817, + 1, 0, 0, 0, 7724, 7726, 3, 820, 410, 0, 7725, 7727, 3, 822, 411, 0, 7726, + 7725, 1, 0, 0, 0, 7726, 7727, 1, 0, 0, 0, 7727, 7731, 1, 0, 0, 0, 7728, + 7732, 3, 1420, 710, 0, 7729, 7732, 3, 66, 33, 0, 7730, 7732, 5, 101, 0, + 0, 7731, 7728, 1, 0, 0, 0, 7731, 7729, 1, 0, 0, 0, 7731, 7730, 1, 0, 0, + 0, 7732, 819, 1, 0, 0, 0, 7733, 7742, 3, 1438, 719, 0, 7734, 7735, 5, 72, + 0, 0, 7735, 7742, 5, 235, 0, 0, 7736, 7742, 5, 126, 0, 0, 7737, 7742, 5, + 241, 0, 0, 7738, 7742, 5, 307, 0, 0, 7739, 7742, 5, 419, 0, 0, 7740, 7742, + 5, 422, 0, 0, 7741, 7733, 1, 0, 0, 0, 7741, 7734, 1, 0, 0, 0, 7741, 7736, + 1, 0, 0, 0, 7741, 7737, 1, 0, 0, 0, 7741, 7738, 1, 0, 0, 0, 7741, 7739, + 1, 0, 0, 0, 7741, 7740, 1, 0, 0, 0, 7742, 821, 1, 0, 0, 0, 7743, 7744, + 5, 504, 0, 0, 7744, 823, 1, 0, 0, 0, 7745, 7746, 5, 12, 0, 0, 7746, 7747, + 5, 95, 0, 0, 7747, 7761, 3, 1396, 698, 0, 7748, 7750, 5, 474, 0, 0, 7749, + 7751, 3, 814, 407, 0, 7750, 7749, 1, 0, 0, 0, 7750, 7751, 1, 0, 0, 0, 7751, + 7762, 1, 0, 0, 0, 7752, 7754, 3, 814, 407, 0, 7753, 7752, 1, 0, 0, 0, 7753, + 7754, 1, 0, 0, 0, 7754, 7762, 1, 0, 0, 0, 7755, 7756, 5, 384, 0, 0, 7756, + 7757, 5, 419, 0, 0, 7757, 7762, 3, 1396, 698, 0, 7758, 7759, 5, 345, 0, + 0, 7759, 7760, 5, 60, 0, 0, 7760, 7762, 5, 465, 0, 0, 7761, 7748, 1, 0, + 0, 0, 7761, 7753, 1, 0, 0, 0, 7761, 7755, 1, 0, 0, 0, 7761, 7758, 1, 0, + 0, 0, 7762, 825, 1, 0, 0, 0, 7763, 7764, 5, 12, 0, 0, 7764, 7765, 5, 95, + 0, 0, 7765, 7766, 3, 1396, 698, 0, 7766, 7767, 3, 80, 40, 0, 7767, 827, + 1, 0, 0, 0, 7768, 7769, 5, 121, 0, 0, 7769, 7772, 5, 95, 0, 0, 7770, 7771, + 5, 177, 0, 0, 7771, 7773, 5, 139, 0, 0, 7772, 7770, 1, 0, 0, 0, 7772, 7773, + 1, 0, 0, 0, 7773, 7774, 1, 0, 0, 0, 7774, 7782, 3, 1396, 698, 0, 7775, + 7777, 3, 16, 8, 0, 7776, 7775, 1, 0, 0, 0, 7776, 7777, 1, 0, 0, 0, 7777, + 7778, 1, 0, 0, 0, 7778, 7779, 5, 496, 0, 0, 7779, 7780, 3, 830, 415, 0, + 7780, 7781, 5, 497, 0, 0, 7781, 7783, 1, 0, 0, 0, 7782, 7776, 1, 0, 0, + 0, 7782, 7783, 1, 0, 0, 0, 7783, 829, 1, 0, 0, 0, 7784, 7789, 3, 832, 416, + 0, 7785, 7786, 5, 500, 0, 0, 7786, 7788, 3, 832, 416, 0, 7787, 7785, 1, + 0, 0, 0, 7788, 7791, 1, 0, 0, 0, 7789, 7787, 1, 0, 0, 0, 7789, 7790, 1, + 0, 0, 0, 7790, 831, 1, 0, 0, 0, 7791, 7789, 1, 0, 0, 0, 7792, 7793, 5, + 154, 0, 0, 7793, 833, 1, 0, 0, 0, 7794, 7795, 5, 12, 0, 0, 7795, 7796, + 5, 60, 0, 0, 7796, 7797, 3, 526, 263, 0, 7797, 7798, 5, 345, 0, 0, 7798, + 7799, 5, 465, 0, 0, 7799, 835, 1, 0, 0, 0, 7800, 7801, 5, 12, 0, 0, 7801, + 7802, 5, 414, 0, 0, 7802, 7803, 7, 37, 0, 0, 7803, 7804, 3, 54, 27, 0, + 7804, 837, 1, 0, 0, 0, 7805, 7806, 5, 80, 0, 0, 7806, 7807, 5, 119, 0, + 0, 7807, 7809, 3, 526, 263, 0, 7808, 7810, 3, 842, 421, 0, 7809, 7808, + 1, 0, 0, 0, 7809, 7810, 1, 0, 0, 0, 7810, 7811, 1, 0, 0, 0, 7811, 7812, + 3, 1126, 563, 0, 7812, 7813, 3, 192, 96, 0, 7813, 839, 1, 0, 0, 0, 7814, + 7815, 5, 12, 0, 0, 7815, 7816, 5, 119, 0, 0, 7816, 7839, 3, 526, 263, 0, + 7817, 7840, 3, 106, 53, 0, 7818, 7819, 5, 121, 0, 0, 7819, 7820, 5, 274, + 0, 0, 7820, 7840, 5, 279, 0, 0, 7821, 7822, 5, 384, 0, 0, 7822, 7823, 5, + 274, 0, 0, 7823, 7840, 5, 279, 0, 0, 7824, 7825, 5, 6, 0, 0, 7825, 7840, + 3, 210, 105, 0, 7826, 7827, 5, 121, 0, 0, 7827, 7830, 5, 73, 0, 0, 7828, + 7829, 5, 177, 0, 0, 7829, 7831, 5, 139, 0, 0, 7830, 7828, 1, 0, 0, 0, 7830, + 7831, 1, 0, 0, 0, 7831, 7832, 1, 0, 0, 0, 7832, 7834, 3, 1396, 698, 0, + 7833, 7835, 3, 108, 54, 0, 7834, 7833, 1, 0, 0, 0, 7834, 7835, 1, 0, 0, + 0, 7835, 7840, 1, 0, 0, 0, 7836, 7837, 5, 457, 0, 0, 7837, 7838, 5, 73, + 0, 0, 7838, 7840, 3, 1396, 698, 0, 7839, 7817, 1, 0, 0, 0, 7839, 7818, + 1, 0, 0, 0, 7839, 7821, 1, 0, 0, 0, 7839, 7824, 1, 0, 0, 0, 7839, 7826, + 1, 0, 0, 0, 7839, 7836, 1, 0, 0, 0, 7840, 841, 1, 0, 0, 0, 7841, 7842, + 5, 19, 0, 0, 7842, 843, 1, 0, 0, 0, 7843, 7844, 5, 12, 0, 0, 7844, 7845, + 5, 424, 0, 0, 7845, 7846, 5, 374, 0, 0, 7846, 7847, 5, 113, 0, 0, 7847, + 7848, 3, 526, 263, 0, 7848, 7849, 3, 462, 231, 0, 7849, 845, 1, 0, 0, 0, + 7850, 7851, 5, 12, 0, 0, 7851, 7852, 5, 424, 0, 0, 7852, 7853, 5, 374, + 0, 0, 7853, 7854, 5, 70, 0, 0, 7854, 7855, 3, 526, 263, 0, 7855, 7856, + 5, 6, 0, 0, 7856, 7857, 5, 245, 0, 0, 7857, 7858, 5, 153, 0, 0, 7858, 7859, + 3, 1394, 697, 0, 7859, 7860, 3, 848, 424, 0, 7860, 7861, 3, 524, 262, 0, + 7861, 7923, 1, 0, 0, 0, 7862, 7863, 5, 12, 0, 0, 7863, 7864, 5, 424, 0, + 0, 7864, 7865, 5, 374, 0, 0, 7865, 7866, 5, 70, 0, 0, 7866, 7867, 3, 526, + 263, 0, 7867, 7868, 5, 12, 0, 0, 7868, 7869, 5, 245, 0, 0, 7869, 7870, + 5, 153, 0, 0, 7870, 7871, 3, 1394, 697, 0, 7871, 7872, 3, 848, 424, 0, + 7872, 7873, 3, 524, 262, 0, 7873, 7923, 1, 0, 0, 0, 7874, 7875, 5, 12, + 0, 0, 7875, 7876, 5, 424, 0, 0, 7876, 7877, 5, 374, 0, 0, 7877, 7878, 5, + 70, 0, 0, 7878, 7879, 3, 526, 263, 0, 7879, 7880, 5, 12, 0, 0, 7880, 7881, + 5, 245, 0, 0, 7881, 7882, 5, 351, 0, 0, 7882, 7883, 3, 526, 263, 0, 7883, + 7884, 3, 848, 424, 0, 7884, 7885, 3, 526, 263, 0, 7885, 7923, 1, 0, 0, + 0, 7886, 7887, 5, 12, 0, 0, 7887, 7888, 5, 424, 0, 0, 7888, 7889, 5, 374, + 0, 0, 7889, 7890, 5, 70, 0, 0, 7890, 7891, 3, 526, 263, 0, 7891, 7892, + 5, 12, 0, 0, 7892, 7893, 5, 245, 0, 0, 7893, 7894, 5, 153, 0, 0, 7894, + 7895, 3, 1394, 697, 0, 7895, 7896, 5, 351, 0, 0, 7896, 7897, 3, 526, 263, + 0, 7897, 7898, 3, 848, 424, 0, 7898, 7899, 3, 526, 263, 0, 7899, 7923, + 1, 0, 0, 0, 7900, 7901, 5, 12, 0, 0, 7901, 7902, 5, 424, 0, 0, 7902, 7903, + 5, 374, 0, 0, 7903, 7904, 5, 70, 0, 0, 7904, 7905, 3, 526, 263, 0, 7905, + 7906, 5, 121, 0, 0, 7906, 7907, 5, 245, 0, 0, 7907, 7908, 5, 153, 0, 0, + 7908, 7909, 3, 1394, 697, 0, 7909, 7923, 1, 0, 0, 0, 7910, 7911, 5, 12, + 0, 0, 7911, 7912, 5, 424, 0, 0, 7912, 7913, 5, 374, 0, 0, 7913, 7914, 5, + 70, 0, 0, 7914, 7915, 3, 526, 263, 0, 7915, 7916, 5, 121, 0, 0, 7916, 7917, + 5, 245, 0, 0, 7917, 7918, 5, 177, 0, 0, 7918, 7919, 5, 139, 0, 0, 7919, + 7920, 5, 153, 0, 0, 7920, 7921, 3, 1394, 697, 0, 7921, 7923, 1, 0, 0, 0, + 7922, 7850, 1, 0, 0, 0, 7922, 7862, 1, 0, 0, 0, 7922, 7874, 1, 0, 0, 0, + 7922, 7886, 1, 0, 0, 0, 7922, 7900, 1, 0, 0, 0, 7922, 7910, 1, 0, 0, 0, + 7923, 847, 1, 0, 0, 0, 7924, 7925, 5, 474, 0, 0, 7925, 849, 1, 0, 0, 0, + 7926, 7928, 5, 80, 0, 0, 7927, 7929, 3, 490, 245, 0, 7928, 7927, 1, 0, + 0, 0, 7928, 7929, 1, 0, 0, 0, 7929, 7930, 1, 0, 0, 0, 7930, 7931, 5, 77, + 0, 0, 7931, 7932, 3, 526, 263, 0, 7932, 7933, 5, 153, 0, 0, 7933, 7934, + 3, 1414, 707, 0, 7934, 7935, 5, 429, 0, 0, 7935, 7936, 3, 1414, 707, 0, + 7936, 7937, 5, 159, 0, 0, 7937, 7938, 3, 526, 263, 0, 7938, 851, 1, 0, + 0, 0, 7939, 7941, 5, 57, 0, 0, 7940, 7942, 3, 872, 436, 0, 7941, 7940, + 1, 0, 0, 0, 7941, 7942, 1, 0, 0, 0, 7942, 7943, 1, 0, 0, 0, 7943, 7945, + 3, 1392, 696, 0, 7944, 7946, 3, 854, 427, 0, 7945, 7944, 1, 0, 0, 0, 7945, + 7946, 1, 0, 0, 0, 7946, 7960, 1, 0, 0, 0, 7947, 7949, 5, 57, 0, 0, 7948, + 7950, 3, 872, 436, 0, 7949, 7948, 1, 0, 0, 0, 7949, 7950, 1, 0, 0, 0, 7950, + 7960, 1, 0, 0, 0, 7951, 7953, 5, 57, 0, 0, 7952, 7954, 3, 872, 436, 0, + 7953, 7952, 1, 0, 0, 0, 7953, 7954, 1, 0, 0, 0, 7954, 7955, 1, 0, 0, 0, + 7955, 7956, 3, 1396, 698, 0, 7956, 7957, 5, 291, 0, 0, 7957, 7958, 3, 1392, + 696, 0, 7958, 7960, 1, 0, 0, 0, 7959, 7939, 1, 0, 0, 0, 7959, 7947, 1, + 0, 0, 0, 7959, 7951, 1, 0, 0, 0, 7960, 853, 1, 0, 0, 0, 7961, 7962, 5, + 454, 0, 0, 7962, 7963, 3, 1396, 698, 0, 7963, 855, 1, 0, 0, 0, 7964, 7966, + 5, 455, 0, 0, 7965, 7967, 3, 874, 437, 0, 7966, 7965, 1, 0, 0, 0, 7966, + 7967, 1, 0, 0, 0, 7967, 7969, 1, 0, 0, 0, 7968, 7970, 3, 876, 438, 0, 7969, + 7968, 1, 0, 0, 0, 7969, 7970, 1, 0, 0, 0, 7970, 7972, 1, 0, 0, 0, 7971, + 7973, 3, 872, 436, 0, 7972, 7971, 1, 0, 0, 0, 7972, 7973, 1, 0, 0, 0, 7973, + 7975, 1, 0, 0, 0, 7974, 7976, 3, 870, 435, 0, 7975, 7974, 1, 0, 0, 0, 7975, + 7976, 1, 0, 0, 0, 7976, 7978, 1, 0, 0, 0, 7977, 7979, 3, 884, 442, 0, 7978, + 7977, 1, 0, 0, 0, 7978, 7979, 1, 0, 0, 0, 7979, 7988, 1, 0, 0, 0, 7980, + 7981, 5, 455, 0, 0, 7981, 7982, 5, 496, 0, 0, 7982, 7983, 3, 860, 430, + 0, 7983, 7985, 5, 497, 0, 0, 7984, 7986, 3, 884, 442, 0, 7985, 7984, 1, + 0, 0, 0, 7985, 7986, 1, 0, 0, 0, 7986, 7988, 1, 0, 0, 0, 7987, 7964, 1, + 0, 0, 0, 7987, 7980, 1, 0, 0, 0, 7988, 857, 1, 0, 0, 0, 7989, 7991, 3, + 862, 431, 0, 7990, 7992, 3, 872, 436, 0, 7991, 7990, 1, 0, 0, 0, 7991, + 7992, 1, 0, 0, 0, 7992, 7994, 1, 0, 0, 0, 7993, 7995, 3, 884, 442, 0, 7994, + 7993, 1, 0, 0, 0, 7994, 7995, 1, 0, 0, 0, 7995, 8004, 1, 0, 0, 0, 7996, + 7997, 3, 862, 431, 0, 7997, 7998, 5, 496, 0, 0, 7998, 7999, 3, 860, 430, + 0, 7999, 8001, 5, 497, 0, 0, 8000, 8002, 3, 884, 442, 0, 8001, 8000, 1, + 0, 0, 0, 8001, 8002, 1, 0, 0, 0, 8002, 8004, 1, 0, 0, 0, 8003, 7989, 1, + 0, 0, 0, 8003, 7996, 1, 0, 0, 0, 8004, 859, 1, 0, 0, 0, 8005, 8010, 3, + 864, 432, 0, 8006, 8007, 5, 500, 0, 0, 8007, 8009, 3, 864, 432, 0, 8008, + 8006, 1, 0, 0, 0, 8009, 8012, 1, 0, 0, 0, 8010, 8008, 1, 0, 0, 0, 8010, + 8011, 1, 0, 0, 0, 8011, 861, 1, 0, 0, 0, 8012, 8010, 1, 0, 0, 0, 8013, + 8014, 7, 38, 0, 0, 8014, 863, 1, 0, 0, 0, 8015, 8017, 3, 866, 433, 0, 8016, + 8018, 3, 868, 434, 0, 8017, 8016, 1, 0, 0, 0, 8017, 8018, 1, 0, 0, 0, 8018, + 865, 1, 0, 0, 0, 8019, 8022, 3, 1434, 717, 0, 8020, 8022, 3, 862, 431, + 0, 8021, 8019, 1, 0, 0, 0, 8021, 8020, 1, 0, 0, 0, 8022, 867, 1, 0, 0, + 0, 8023, 8026, 3, 66, 33, 0, 8024, 8026, 3, 294, 147, 0, 8025, 8023, 1, + 0, 0, 0, 8025, 8024, 1, 0, 0, 0, 8026, 869, 1, 0, 0, 0, 8027, 8028, 3, + 862, 431, 0, 8028, 871, 1, 0, 0, 0, 8029, 8030, 5, 464, 0, 0, 8030, 873, + 1, 0, 0, 0, 8031, 8032, 5, 160, 0, 0, 8032, 875, 1, 0, 0, 0, 8033, 8034, + 5, 158, 0, 0, 8034, 877, 1, 0, 0, 0, 8035, 8036, 5, 496, 0, 0, 8036, 8037, + 3, 1394, 697, 0, 8037, 8038, 5, 497, 0, 0, 8038, 879, 1, 0, 0, 0, 8039, + 8041, 3, 1392, 696, 0, 8040, 8042, 3, 878, 439, 0, 8041, 8040, 1, 0, 0, + 0, 8041, 8042, 1, 0, 0, 0, 8042, 881, 1, 0, 0, 0, 8043, 8048, 3, 880, 440, + 0, 8044, 8045, 5, 500, 0, 0, 8045, 8047, 3, 880, 440, 0, 8046, 8044, 1, + 0, 0, 0, 8047, 8050, 1, 0, 0, 0, 8048, 8046, 1, 0, 0, 0, 8048, 8049, 1, + 0, 0, 0, 8049, 883, 1, 0, 0, 0, 8050, 8048, 1, 0, 0, 0, 8051, 8052, 3, + 882, 441, 0, 8052, 885, 1, 0, 0, 0, 8053, 8054, 5, 140, 0, 0, 8054, 8072, + 3, 888, 444, 0, 8055, 8056, 5, 140, 0, 0, 8056, 8058, 3, 862, 431, 0, 8057, + 8059, 3, 872, 436, 0, 8058, 8057, 1, 0, 0, 0, 8058, 8059, 1, 0, 0, 0, 8059, + 8060, 1, 0, 0, 0, 8060, 8061, 3, 888, 444, 0, 8061, 8072, 1, 0, 0, 0, 8062, + 8063, 5, 140, 0, 0, 8063, 8064, 5, 464, 0, 0, 8064, 8072, 3, 888, 444, + 0, 8065, 8066, 5, 140, 0, 0, 8066, 8067, 5, 496, 0, 0, 8067, 8068, 3, 890, + 445, 0, 8068, 8069, 5, 497, 0, 0, 8069, 8070, 3, 888, 444, 0, 8070, 8072, + 1, 0, 0, 0, 8071, 8053, 1, 0, 0, 0, 8071, 8055, 1, 0, 0, 0, 8071, 8062, + 1, 0, 0, 0, 8071, 8065, 1, 0, 0, 0, 8072, 887, 1, 0, 0, 0, 8073, 8083, + 3, 968, 484, 0, 8074, 8083, 3, 910, 455, 0, 8075, 8083, 3, 950, 475, 0, + 8076, 8083, 3, 936, 468, 0, 8077, 8083, 3, 960, 480, 0, 8078, 8083, 3, + 266, 133, 0, 8079, 8083, 3, 272, 136, 0, 8080, 8083, 3, 278, 139, 0, 8081, + 8083, 3, 904, 452, 0, 8082, 8073, 1, 0, 0, 0, 8082, 8074, 1, 0, 0, 0, 8082, + 8075, 1, 0, 0, 0, 8082, 8076, 1, 0, 0, 0, 8082, 8077, 1, 0, 0, 0, 8082, + 8078, 1, 0, 0, 0, 8082, 8079, 1, 0, 0, 0, 8082, 8080, 1, 0, 0, 0, 8082, + 8081, 1, 0, 0, 0, 8083, 889, 1, 0, 0, 0, 8084, 8089, 3, 892, 446, 0, 8085, + 8086, 5, 500, 0, 0, 8086, 8088, 3, 892, 446, 0, 8087, 8085, 1, 0, 0, 0, + 8088, 8091, 1, 0, 0, 0, 8089, 8087, 1, 0, 0, 0, 8089, 8090, 1, 0, 0, 0, + 8090, 891, 1, 0, 0, 0, 8091, 8089, 1, 0, 0, 0, 8092, 8094, 3, 894, 447, + 0, 8093, 8095, 3, 896, 448, 0, 8094, 8093, 1, 0, 0, 0, 8094, 8095, 1, 0, + 0, 0, 8095, 893, 1, 0, 0, 0, 8096, 8099, 3, 1434, 717, 0, 8097, 8099, 3, + 862, 431, 0, 8098, 8096, 1, 0, 0, 0, 8098, 8097, 1, 0, 0, 0, 8099, 895, + 1, 0, 0, 0, 8100, 8103, 3, 66, 33, 0, 8101, 8103, 3, 294, 147, 0, 8102, + 8100, 1, 0, 0, 0, 8102, 8101, 1, 0, 0, 0, 8103, 897, 1, 0, 0, 0, 8104, + 8105, 5, 324, 0, 0, 8105, 8107, 3, 1396, 698, 0, 8106, 8108, 3, 900, 450, + 0, 8107, 8106, 1, 0, 0, 0, 8107, 8108, 1, 0, 0, 0, 8108, 8109, 1, 0, 0, + 0, 8109, 8110, 5, 19, 0, 0, 8110, 8111, 3, 902, 451, 0, 8111, 899, 1, 0, + 0, 0, 8112, 8113, 5, 496, 0, 0, 8113, 8114, 3, 1340, 670, 0, 8114, 8115, + 5, 497, 0, 0, 8115, 901, 1, 0, 0, 0, 8116, 8122, 3, 968, 484, 0, 8117, + 8122, 3, 910, 455, 0, 8118, 8122, 3, 950, 475, 0, 8119, 8122, 3, 936, 468, + 0, 8120, 8122, 3, 928, 464, 0, 8121, 8116, 1, 0, 0, 0, 8121, 8117, 1, 0, + 0, 0, 8121, 8118, 1, 0, 0, 0, 8121, 8119, 1, 0, 0, 0, 8121, 8120, 1, 0, + 0, 0, 8122, 903, 1, 0, 0, 0, 8123, 8124, 5, 138, 0, 0, 8124, 8126, 3, 1396, + 698, 0, 8125, 8127, 3, 906, 453, 0, 8126, 8125, 1, 0, 0, 0, 8126, 8127, + 1, 0, 0, 0, 8127, 8162, 1, 0, 0, 0, 8128, 8130, 5, 80, 0, 0, 8129, 8131, + 3, 174, 87, 0, 8130, 8129, 1, 0, 0, 0, 8130, 8131, 1, 0, 0, 0, 8131, 8132, + 1, 0, 0, 0, 8132, 8133, 5, 416, 0, 0, 8133, 8134, 3, 268, 134, 0, 8134, + 8135, 5, 19, 0, 0, 8135, 8136, 5, 138, 0, 0, 8136, 8138, 3, 1396, 698, + 0, 8137, 8139, 3, 906, 453, 0, 8138, 8137, 1, 0, 0, 0, 8138, 8139, 1, 0, + 0, 0, 8139, 8141, 1, 0, 0, 0, 8140, 8142, 3, 270, 135, 0, 8141, 8140, 1, + 0, 0, 0, 8141, 8142, 1, 0, 0, 0, 8142, 8162, 1, 0, 0, 0, 8143, 8145, 5, + 80, 0, 0, 8144, 8146, 3, 174, 87, 0, 8145, 8144, 1, 0, 0, 0, 8145, 8146, + 1, 0, 0, 0, 8146, 8147, 1, 0, 0, 0, 8147, 8148, 5, 416, 0, 0, 8148, 8149, + 5, 177, 0, 0, 8149, 8150, 5, 274, 0, 0, 8150, 8151, 5, 139, 0, 0, 8151, + 8152, 3, 268, 134, 0, 8152, 8153, 5, 19, 0, 0, 8153, 8154, 5, 138, 0, 0, + 8154, 8156, 3, 1396, 698, 0, 8155, 8157, 3, 906, 453, 0, 8156, 8155, 1, + 0, 0, 0, 8156, 8157, 1, 0, 0, 0, 8157, 8159, 1, 0, 0, 0, 8158, 8160, 3, + 270, 135, 0, 8159, 8158, 1, 0, 0, 0, 8159, 8160, 1, 0, 0, 0, 8160, 8162, + 1, 0, 0, 0, 8161, 8123, 1, 0, 0, 0, 8161, 8128, 1, 0, 0, 0, 8161, 8143, + 1, 0, 0, 0, 8162, 905, 1, 0, 0, 0, 8163, 8164, 5, 496, 0, 0, 8164, 8165, + 3, 1334, 667, 0, 8165, 8166, 5, 497, 0, 0, 8166, 907, 1, 0, 0, 0, 8167, + 8168, 5, 97, 0, 0, 8168, 8178, 3, 1396, 698, 0, 8169, 8170, 5, 97, 0, 0, + 8170, 8171, 5, 324, 0, 0, 8171, 8178, 3, 1396, 698, 0, 8172, 8173, 5, 97, + 0, 0, 8173, 8178, 5, 10, 0, 0, 8174, 8175, 5, 97, 0, 0, 8175, 8176, 5, + 324, 0, 0, 8176, 8178, 5, 10, 0, 0, 8177, 8167, 1, 0, 0, 0, 8177, 8169, + 1, 0, 0, 0, 8177, 8172, 1, 0, 0, 0, 8177, 8174, 1, 0, 0, 0, 8178, 909, + 1, 0, 0, 0, 8179, 8181, 3, 988, 494, 0, 8180, 8179, 1, 0, 0, 0, 8180, 8181, + 1, 0, 0, 0, 8181, 8182, 1, 0, 0, 0, 8182, 8183, 5, 198, 0, 0, 8183, 8184, + 5, 204, 0, 0, 8184, 8185, 3, 912, 456, 0, 8185, 8187, 3, 914, 457, 0, 8186, + 8188, 3, 922, 461, 0, 8187, 8186, 1, 0, 0, 0, 8187, 8188, 1, 0, 0, 0, 8188, + 8190, 1, 0, 0, 0, 8189, 8191, 3, 926, 463, 0, 8190, 8189, 1, 0, 0, 0, 8190, + 8191, 1, 0, 0, 0, 8191, 911, 1, 0, 0, 0, 8192, 8195, 3, 1392, 696, 0, 8193, + 8194, 5, 19, 0, 0, 8194, 8196, 3, 1428, 714, 0, 8195, 8193, 1, 0, 0, 0, + 8195, 8196, 1, 0, 0, 0, 8196, 913, 1, 0, 0, 0, 8197, 8217, 3, 968, 484, + 0, 8198, 8199, 5, 305, 0, 0, 8199, 8200, 3, 916, 458, 0, 8200, 8201, 5, + 459, 0, 0, 8201, 8202, 3, 968, 484, 0, 8202, 8217, 1, 0, 0, 0, 8203, 8204, + 5, 496, 0, 0, 8204, 8205, 3, 918, 459, 0, 8205, 8210, 5, 497, 0, 0, 8206, + 8207, 5, 305, 0, 0, 8207, 8208, 3, 916, 458, 0, 8208, 8209, 5, 459, 0, + 0, 8209, 8211, 1, 0, 0, 0, 8210, 8206, 1, 0, 0, 0, 8210, 8211, 1, 0, 0, + 0, 8211, 8212, 1, 0, 0, 0, 8212, 8213, 3, 968, 484, 0, 8213, 8217, 1, 0, + 0, 0, 8214, 8215, 5, 101, 0, 0, 8215, 8217, 5, 460, 0, 0, 8216, 8197, 1, + 0, 0, 0, 8216, 8198, 1, 0, 0, 0, 8216, 8203, 1, 0, 0, 0, 8216, 8214, 1, + 0, 0, 0, 8217, 915, 1, 0, 0, 0, 8218, 8219, 7, 39, 0, 0, 8219, 917, 1, + 0, 0, 0, 8220, 8225, 3, 920, 460, 0, 8221, 8222, 5, 500, 0, 0, 8222, 8224, + 3, 920, 460, 0, 8223, 8221, 1, 0, 0, 0, 8224, 8227, 1, 0, 0, 0, 8225, 8223, + 1, 0, 0, 0, 8225, 8226, 1, 0, 0, 0, 8226, 919, 1, 0, 0, 0, 8227, 8225, + 1, 0, 0, 0, 8228, 8229, 3, 1428, 714, 0, 8229, 8230, 3, 1380, 690, 0, 8230, + 921, 1, 0, 0, 0, 8231, 8232, 5, 291, 0, 0, 8232, 8234, 5, 71, 0, 0, 8233, + 8235, 3, 924, 462, 0, 8234, 8233, 1, 0, 0, 0, 8234, 8235, 1, 0, 0, 0, 8235, + 8236, 1, 0, 0, 0, 8236, 8244, 5, 117, 0, 0, 8237, 8238, 5, 452, 0, 0, 8238, + 8239, 5, 384, 0, 0, 8239, 8241, 3, 952, 476, 0, 8240, 8242, 3, 1102, 551, + 0, 8241, 8240, 1, 0, 0, 0, 8241, 8242, 1, 0, 0, 0, 8242, 8245, 1, 0, 0, + 0, 8243, 8245, 5, 275, 0, 0, 8244, 8237, 1, 0, 0, 0, 8244, 8243, 1, 0, + 0, 0, 8245, 923, 1, 0, 0, 0, 8246, 8247, 5, 496, 0, 0, 8247, 8248, 3, 604, + 302, 0, 8248, 8250, 5, 497, 0, 0, 8249, 8251, 3, 1102, 551, 0, 8250, 8249, + 1, 0, 0, 0, 8250, 8251, 1, 0, 0, 0, 8251, 8256, 1, 0, 0, 0, 8252, 8253, + 5, 291, 0, 0, 8253, 8254, 5, 73, 0, 0, 8254, 8256, 3, 1396, 698, 0, 8255, + 8246, 1, 0, 0, 0, 8255, 8252, 1, 0, 0, 0, 8256, 925, 1, 0, 0, 0, 8257, + 8258, 5, 357, 0, 0, 8258, 8259, 3, 1384, 692, 0, 8259, 927, 1, 0, 0, 0, + 8260, 8262, 3, 980, 490, 0, 8261, 8260, 1, 0, 0, 0, 8261, 8262, 1, 0, 0, + 0, 8262, 8263, 1, 0, 0, 0, 8263, 8264, 5, 250, 0, 0, 8264, 8266, 5, 204, + 0, 0, 8265, 8267, 5, 292, 0, 0, 8266, 8265, 1, 0, 0, 0, 8266, 8267, 1, + 0, 0, 0, 8267, 8268, 1, 0, 0, 0, 8268, 8270, 3, 1392, 696, 0, 8269, 8271, + 3, 1070, 535, 0, 8270, 8269, 1, 0, 0, 0, 8270, 8271, 1, 0, 0, 0, 8271, + 8272, 1, 0, 0, 0, 8272, 8275, 5, 454, 0, 0, 8273, 8276, 3, 970, 485, 0, + 8274, 8276, 3, 1392, 696, 0, 8275, 8273, 1, 0, 0, 0, 8275, 8274, 1, 0, + 0, 0, 8276, 8278, 1, 0, 0, 0, 8277, 8279, 3, 1070, 535, 0, 8278, 8277, + 1, 0, 0, 0, 8278, 8279, 1, 0, 0, 0, 8279, 8280, 1, 0, 0, 0, 8280, 8281, + 5, 291, 0, 0, 8281, 8290, 3, 1172, 586, 0, 8282, 8284, 3, 930, 465, 0, + 8283, 8285, 3, 932, 466, 0, 8284, 8283, 1, 0, 0, 0, 8284, 8285, 1, 0, 0, + 0, 8285, 8291, 1, 0, 0, 0, 8286, 8288, 3, 932, 466, 0, 8287, 8289, 3, 930, + 465, 0, 8288, 8287, 1, 0, 0, 0, 8288, 8289, 1, 0, 0, 0, 8289, 8291, 1, + 0, 0, 0, 8290, 8282, 1, 0, 0, 0, 8290, 8286, 1, 0, 0, 0, 8291, 8293, 1, + 0, 0, 0, 8292, 8294, 3, 934, 467, 0, 8293, 8292, 1, 0, 0, 0, 8293, 8294, + 1, 0, 0, 0, 8294, 929, 1, 0, 0, 0, 8295, 8296, 5, 470, 0, 0, 8296, 8297, + 5, 274, 0, 0, 8297, 8300, 5, 247, 0, 0, 8298, 8299, 5, 16, 0, 0, 8299, + 8301, 3, 1172, 586, 0, 8300, 8298, 1, 0, 0, 0, 8300, 8301, 1, 0, 0, 0, + 8301, 8303, 1, 0, 0, 0, 8302, 8304, 5, 425, 0, 0, 8303, 8302, 1, 0, 0, + 0, 8303, 8304, 1, 0, 0, 0, 8304, 8305, 1, 0, 0, 0, 8305, 8310, 5, 198, + 0, 0, 8306, 8307, 5, 496, 0, 0, 8307, 8308, 3, 918, 459, 0, 8308, 8309, + 5, 497, 0, 0, 8309, 8311, 1, 0, 0, 0, 8310, 8306, 1, 0, 0, 0, 8310, 8311, + 1, 0, 0, 0, 8311, 8312, 1, 0, 0, 0, 8312, 8313, 3, 1060, 530, 0, 8313, + 931, 1, 0, 0, 0, 8314, 8315, 5, 470, 0, 0, 8315, 8318, 5, 247, 0, 0, 8316, + 8317, 5, 16, 0, 0, 8317, 8319, 3, 1172, 586, 0, 8318, 8316, 1, 0, 0, 0, + 8318, 8319, 1, 0, 0, 0, 8319, 8321, 1, 0, 0, 0, 8320, 8322, 5, 425, 0, + 0, 8321, 8320, 1, 0, 0, 0, 8321, 8322, 1, 0, 0, 0, 8322, 8323, 1, 0, 0, + 0, 8323, 8324, 5, 452, 0, 0, 8324, 8325, 5, 384, 0, 0, 8325, 8326, 3, 952, + 476, 0, 8326, 933, 1, 0, 0, 0, 8327, 8328, 5, 470, 0, 0, 8328, 8330, 5, + 247, 0, 0, 8329, 8331, 5, 425, 0, 0, 8330, 8329, 1, 0, 0, 0, 8330, 8331, + 1, 0, 0, 0, 8331, 8332, 1, 0, 0, 0, 8332, 8333, 5, 106, 0, 0, 8333, 935, + 1, 0, 0, 0, 8334, 8336, 3, 988, 494, 0, 8335, 8334, 1, 0, 0, 0, 8335, 8336, + 1, 0, 0, 0, 8336, 8337, 1, 0, 0, 0, 8337, 8338, 5, 106, 0, 0, 8338, 8339, + 5, 159, 0, 0, 8339, 8341, 3, 1086, 543, 0, 8340, 8342, 3, 938, 469, 0, + 8341, 8340, 1, 0, 0, 0, 8341, 8342, 1, 0, 0, 0, 8342, 8344, 1, 0, 0, 0, + 8343, 8345, 3, 1104, 552, 0, 8344, 8343, 1, 0, 0, 0, 8344, 8345, 1, 0, + 0, 0, 8345, 8347, 1, 0, 0, 0, 8346, 8348, 3, 926, 463, 0, 8347, 8346, 1, + 0, 0, 0, 8347, 8348, 1, 0, 0, 0, 8348, 937, 1, 0, 0, 0, 8349, 8350, 5, + 454, 0, 0, 8350, 8351, 3, 1064, 532, 0, 8351, 939, 1, 0, 0, 0, 8352, 8354, + 5, 242, 0, 0, 8353, 8355, 3, 996, 498, 0, 8354, 8353, 1, 0, 0, 0, 8354, + 8355, 1, 0, 0, 0, 8355, 8356, 1, 0, 0, 0, 8356, 8358, 3, 1084, 542, 0, + 8357, 8359, 3, 942, 471, 0, 8358, 8357, 1, 0, 0, 0, 8358, 8359, 1, 0, 0, + 0, 8359, 8361, 1, 0, 0, 0, 8360, 8362, 3, 946, 473, 0, 8361, 8360, 1, 0, + 0, 0, 8361, 8362, 1, 0, 0, 0, 8362, 941, 1, 0, 0, 0, 8363, 8364, 5, 183, + 0, 0, 8364, 8365, 3, 944, 472, 0, 8365, 8366, 5, 255, 0, 0, 8366, 943, + 1, 0, 0, 0, 8367, 8368, 5, 4, 0, 0, 8368, 8380, 7, 40, 0, 0, 8369, 8370, + 5, 366, 0, 0, 8370, 8380, 7, 40, 0, 0, 8371, 8376, 5, 387, 0, 0, 8372, + 8373, 5, 452, 0, 0, 8373, 8377, 5, 137, 0, 0, 8374, 8375, 5, 366, 0, 0, + 8375, 8377, 5, 137, 0, 0, 8376, 8372, 1, 0, 0, 0, 8376, 8374, 1, 0, 0, + 0, 8376, 8377, 1, 0, 0, 0, 8377, 8380, 1, 0, 0, 0, 8378, 8380, 5, 137, + 0, 0, 8379, 8367, 1, 0, 0, 0, 8379, 8369, 1, 0, 0, 0, 8379, 8371, 1, 0, + 0, 0, 8379, 8378, 1, 0, 0, 0, 8380, 945, 1, 0, 0, 0, 8381, 8382, 5, 278, + 0, 0, 8382, 947, 1, 0, 0, 0, 8383, 8387, 5, 278, 0, 0, 8384, 8385, 5, 391, + 0, 0, 8385, 8387, 5, 243, 0, 0, 8386, 8383, 1, 0, 0, 0, 8386, 8384, 1, + 0, 0, 0, 8387, 949, 1, 0, 0, 0, 8388, 8390, 3, 988, 494, 0, 8389, 8388, + 1, 0, 0, 0, 8389, 8390, 1, 0, 0, 0, 8390, 8391, 1, 0, 0, 0, 8391, 8392, + 5, 452, 0, 0, 8392, 8393, 3, 1086, 543, 0, 8393, 8394, 5, 384, 0, 0, 8394, + 8396, 3, 952, 476, 0, 8395, 8397, 3, 1062, 531, 0, 8396, 8395, 1, 0, 0, + 0, 8396, 8397, 1, 0, 0, 0, 8397, 8399, 1, 0, 0, 0, 8398, 8400, 3, 1104, + 552, 0, 8399, 8398, 1, 0, 0, 0, 8399, 8400, 1, 0, 0, 0, 8400, 8402, 1, + 0, 0, 0, 8401, 8403, 3, 926, 463, 0, 8402, 8401, 1, 0, 0, 0, 8402, 8403, + 1, 0, 0, 0, 8403, 951, 1, 0, 0, 0, 8404, 8409, 3, 954, 477, 0, 8405, 8406, + 5, 500, 0, 0, 8406, 8408, 3, 954, 477, 0, 8407, 8405, 1, 0, 0, 0, 8408, + 8411, 1, 0, 0, 0, 8409, 8407, 1, 0, 0, 0, 8409, 8410, 1, 0, 0, 0, 8410, + 953, 1, 0, 0, 0, 8411, 8409, 1, 0, 0, 0, 8412, 8413, 3, 956, 478, 0, 8413, + 8414, 5, 504, 0, 0, 8414, 8415, 3, 1172, 586, 0, 8415, 8423, 1, 0, 0, 0, + 8416, 8417, 5, 496, 0, 0, 8417, 8418, 3, 958, 479, 0, 8418, 8419, 5, 497, + 0, 0, 8419, 8420, 5, 504, 0, 0, 8420, 8421, 3, 1172, 586, 0, 8421, 8423, + 1, 0, 0, 0, 8422, 8412, 1, 0, 0, 0, 8422, 8416, 1, 0, 0, 0, 8423, 955, + 1, 0, 0, 0, 8424, 8425, 3, 1428, 714, 0, 8425, 8426, 3, 1380, 690, 0, 8426, + 957, 1, 0, 0, 0, 8427, 8432, 3, 956, 478, 0, 8428, 8429, 5, 500, 0, 0, + 8429, 8431, 3, 956, 478, 0, 8430, 8428, 1, 0, 0, 0, 8431, 8434, 1, 0, 0, + 0, 8432, 8430, 1, 0, 0, 0, 8432, 8433, 1, 0, 0, 0, 8433, 959, 1, 0, 0, + 0, 8434, 8432, 1, 0, 0, 0, 8435, 8436, 5, 100, 0, 0, 8436, 8437, 3, 962, + 481, 0, 8437, 8438, 3, 964, 482, 0, 8438, 8440, 5, 92, 0, 0, 8439, 8441, + 3, 966, 483, 0, 8440, 8439, 1, 0, 0, 0, 8440, 8441, 1, 0, 0, 0, 8441, 8442, + 1, 0, 0, 0, 8442, 8443, 5, 153, 0, 0, 8443, 8444, 3, 968, 484, 0, 8444, + 961, 1, 0, 0, 0, 8445, 8446, 3, 1396, 698, 0, 8446, 963, 1, 0, 0, 0, 8447, + 8448, 5, 270, 0, 0, 8448, 8453, 5, 373, 0, 0, 8449, 8453, 5, 373, 0, 0, + 8450, 8453, 5, 35, 0, 0, 8451, 8453, 5, 197, 0, 0, 8452, 8447, 1, 0, 0, + 0, 8452, 8449, 1, 0, 0, 0, 8452, 8450, 1, 0, 0, 0, 8452, 8451, 1, 0, 0, + 0, 8453, 8456, 1, 0, 0, 0, 8454, 8452, 1, 0, 0, 0, 8454, 8455, 1, 0, 0, + 0, 8455, 965, 1, 0, 0, 0, 8456, 8454, 1, 0, 0, 0, 8457, 8458, 5, 474, 0, + 0, 8458, 8462, 5, 174, 0, 0, 8459, 8460, 5, 476, 0, 0, 8460, 8462, 5, 174, + 0, 0, 8461, 8457, 1, 0, 0, 0, 8461, 8459, 1, 0, 0, 0, 8462, 967, 1, 0, + 0, 0, 8463, 8466, 3, 972, 486, 0, 8464, 8466, 3, 970, 485, 0, 8465, 8463, + 1, 0, 0, 0, 8465, 8464, 1, 0, 0, 0, 8466, 969, 1, 0, 0, 0, 8467, 8468, + 5, 496, 0, 0, 8468, 8469, 3, 972, 486, 0, 8469, 8470, 5, 497, 0, 0, 8470, + 8476, 1, 0, 0, 0, 8471, 8472, 5, 496, 0, 0, 8472, 8473, 3, 970, 485, 0, + 8473, 8474, 5, 497, 0, 0, 8474, 8476, 1, 0, 0, 0, 8475, 8467, 1, 0, 0, + 0, 8475, 8471, 1, 0, 0, 0, 8476, 971, 1, 0, 0, 0, 8477, 8479, 3, 980, 490, + 0, 8478, 8477, 1, 0, 0, 0, 8478, 8479, 1, 0, 0, 0, 8479, 8480, 1, 0, 0, + 0, 8480, 8482, 3, 974, 487, 0, 8481, 8483, 3, 1004, 502, 0, 8482, 8481, + 1, 0, 0, 0, 8482, 8483, 1, 0, 0, 0, 8483, 8492, 1, 0, 0, 0, 8484, 8486, + 3, 1048, 524, 0, 8485, 8487, 3, 1014, 507, 0, 8486, 8485, 1, 0, 0, 0, 8486, + 8487, 1, 0, 0, 0, 8487, 8493, 1, 0, 0, 0, 8488, 8490, 3, 1012, 506, 0, + 8489, 8491, 3, 1050, 525, 0, 8490, 8489, 1, 0, 0, 0, 8490, 8491, 1, 0, + 0, 0, 8491, 8493, 1, 0, 0, 0, 8492, 8484, 1, 0, 0, 0, 8492, 8488, 1, 0, + 0, 0, 8492, 8493, 1, 0, 0, 0, 8493, 973, 1, 0, 0, 0, 8494, 8502, 3, 976, + 488, 0, 8495, 8497, 7, 41, 0, 0, 8496, 8498, 3, 998, 499, 0, 8497, 8496, + 1, 0, 0, 0, 8497, 8498, 1, 0, 0, 0, 8498, 8499, 1, 0, 0, 0, 8499, 8501, + 3, 976, 488, 0, 8500, 8495, 1, 0, 0, 0, 8501, 8504, 1, 0, 0, 0, 8502, 8500, + 1, 0, 0, 0, 8502, 8503, 1, 0, 0, 0, 8503, 975, 1, 0, 0, 0, 8504, 8502, + 1, 0, 0, 0, 8505, 8513, 3, 978, 489, 0, 8506, 8508, 5, 202, 0, 0, 8507, + 8509, 3, 998, 499, 0, 8508, 8507, 1, 0, 0, 0, 8508, 8509, 1, 0, 0, 0, 8509, + 8510, 1, 0, 0, 0, 8510, 8512, 3, 978, 489, 0, 8511, 8506, 1, 0, 0, 0, 8512, + 8515, 1, 0, 0, 0, 8513, 8511, 1, 0, 0, 0, 8513, 8514, 1, 0, 0, 0, 8514, + 977, 1, 0, 0, 0, 8515, 8513, 1, 0, 0, 0, 8516, 8529, 5, 377, 0, 0, 8517, + 8519, 3, 1002, 501, 0, 8518, 8517, 1, 0, 0, 0, 8518, 8519, 1, 0, 0, 0, + 8519, 8521, 1, 0, 0, 0, 8520, 8522, 3, 990, 495, 0, 8521, 8520, 1, 0, 0, + 0, 8521, 8522, 1, 0, 0, 0, 8522, 8524, 1, 0, 0, 0, 8523, 8525, 3, 1382, + 691, 0, 8524, 8523, 1, 0, 0, 0, 8524, 8525, 1, 0, 0, 0, 8525, 8530, 1, + 0, 0, 0, 8526, 8527, 3, 1000, 500, 0, 8527, 8528, 3, 1384, 692, 0, 8528, + 8530, 1, 0, 0, 0, 8529, 8518, 1, 0, 0, 0, 8529, 8526, 1, 0, 0, 0, 8530, + 8532, 1, 0, 0, 0, 8531, 8533, 3, 990, 495, 0, 8532, 8531, 1, 0, 0, 0, 8532, + 8533, 1, 0, 0, 0, 8533, 8535, 1, 0, 0, 0, 8534, 8536, 3, 1062, 531, 0, + 8535, 8534, 1, 0, 0, 0, 8535, 8536, 1, 0, 0, 0, 8536, 8538, 1, 0, 0, 0, + 8537, 8539, 3, 1102, 551, 0, 8538, 8537, 1, 0, 0, 0, 8538, 8539, 1, 0, + 0, 0, 8539, 8541, 1, 0, 0, 0, 8540, 8542, 3, 1032, 516, 0, 8541, 8540, + 1, 0, 0, 0, 8541, 8542, 1, 0, 0, 0, 8542, 8544, 1, 0, 0, 0, 8543, 8545, + 3, 1046, 523, 0, 8544, 8543, 1, 0, 0, 0, 8544, 8545, 1, 0, 0, 0, 8545, + 8547, 1, 0, 0, 0, 8546, 8548, 3, 1294, 647, 0, 8547, 8546, 1, 0, 0, 0, + 8547, 8548, 1, 0, 0, 0, 8548, 8554, 1, 0, 0, 0, 8549, 8554, 3, 1060, 530, + 0, 8550, 8551, 5, 416, 0, 0, 8551, 8554, 3, 1082, 541, 0, 8552, 8554, 3, + 970, 485, 0, 8553, 8516, 1, 0, 0, 0, 8553, 8549, 1, 0, 0, 0, 8553, 8550, + 1, 0, 0, 0, 8553, 8552, 1, 0, 0, 0, 8554, 979, 1, 0, 0, 0, 8555, 8557, + 5, 474, 0, 0, 8556, 8558, 5, 341, 0, 0, 8557, 8556, 1, 0, 0, 0, 8557, 8558, + 1, 0, 0, 0, 8558, 8559, 1, 0, 0, 0, 8559, 8560, 3, 982, 491, 0, 8560, 981, + 1, 0, 0, 0, 8561, 8566, 3, 984, 492, 0, 8562, 8563, 5, 500, 0, 0, 8563, + 8565, 3, 984, 492, 0, 8564, 8562, 1, 0, 0, 0, 8565, 8568, 1, 0, 0, 0, 8566, + 8564, 1, 0, 0, 0, 8566, 8567, 1, 0, 0, 0, 8567, 983, 1, 0, 0, 0, 8568, + 8566, 1, 0, 0, 0, 8569, 8571, 3, 1396, 698, 0, 8570, 8572, 3, 878, 439, + 0, 8571, 8570, 1, 0, 0, 0, 8571, 8572, 1, 0, 0, 0, 8572, 8573, 1, 0, 0, + 0, 8573, 8575, 5, 19, 0, 0, 8574, 8576, 3, 986, 493, 0, 8575, 8574, 1, + 0, 0, 0, 8575, 8576, 1, 0, 0, 0, 8576, 8577, 1, 0, 0, 0, 8577, 8578, 5, + 496, 0, 0, 8578, 8579, 3, 902, 451, 0, 8579, 8580, 5, 497, 0, 0, 8580, + 985, 1, 0, 0, 0, 8581, 8585, 5, 248, 0, 0, 8582, 8583, 5, 274, 0, 0, 8583, + 8585, 5, 248, 0, 0, 8584, 8581, 1, 0, 0, 0, 8584, 8582, 1, 0, 0, 0, 8585, + 987, 1, 0, 0, 0, 8586, 8587, 3, 980, 490, 0, 8587, 989, 1, 0, 0, 0, 8588, + 8594, 5, 204, 0, 0, 8589, 8591, 3, 992, 496, 0, 8590, 8589, 1, 0, 0, 0, + 8590, 8591, 1, 0, 0, 0, 8591, 8592, 1, 0, 0, 0, 8592, 8595, 3, 994, 497, + 0, 8593, 8595, 3, 1612, 806, 0, 8594, 8590, 1, 0, 0, 0, 8594, 8593, 1, + 0, 0, 0, 8595, 991, 1, 0, 0, 0, 8596, 8597, 5, 406, 0, 0, 8597, 993, 1, + 0, 0, 0, 8598, 8600, 7, 42, 0, 0, 8599, 8598, 1, 0, 0, 0, 8599, 8600, 1, + 0, 0, 0, 8600, 8601, 1, 0, 0, 0, 8601, 8603, 7, 12, 0, 0, 8602, 8604, 3, + 996, 498, 0, 8603, 8602, 1, 0, 0, 0, 8603, 8604, 1, 0, 0, 0, 8604, 8605, + 1, 0, 0, 0, 8605, 8615, 3, 1392, 696, 0, 8606, 8608, 5, 450, 0, 0, 8607, + 8609, 3, 996, 498, 0, 8608, 8607, 1, 0, 0, 0, 8608, 8609, 1, 0, 0, 0, 8609, + 8610, 1, 0, 0, 0, 8610, 8615, 3, 1392, 696, 0, 8611, 8612, 5, 416, 0, 0, + 8612, 8615, 3, 1392, 696, 0, 8613, 8615, 3, 1392, 696, 0, 8614, 8599, 1, + 0, 0, 0, 8614, 8606, 1, 0, 0, 0, 8614, 8611, 1, 0, 0, 0, 8614, 8613, 1, + 0, 0, 0, 8615, 995, 1, 0, 0, 0, 8616, 8617, 5, 416, 0, 0, 8617, 997, 1, + 0, 0, 0, 8618, 8619, 7, 43, 0, 0, 8619, 999, 1, 0, 0, 0, 8620, 8626, 5, + 116, 0, 0, 8621, 8622, 5, 291, 0, 0, 8622, 8623, 5, 496, 0, 0, 8623, 8624, + 3, 1334, 667, 0, 8624, 8625, 5, 497, 0, 0, 8625, 8627, 1, 0, 0, 0, 8626, + 8621, 1, 0, 0, 0, 8626, 8627, 1, 0, 0, 0, 8627, 1001, 1, 0, 0, 0, 8628, + 8629, 5, 10, 0, 0, 8629, 1003, 1, 0, 0, 0, 8630, 8631, 3, 1006, 503, 0, + 8631, 1005, 1, 0, 0, 0, 8632, 8633, 5, 297, 0, 0, 8633, 8634, 5, 40, 0, + 0, 8634, 8635, 3, 1008, 504, 0, 8635, 1007, 1, 0, 0, 0, 8636, 8641, 3, + 1010, 505, 0, 8637, 8638, 5, 500, 0, 0, 8638, 8640, 3, 1010, 505, 0, 8639, + 8637, 1, 0, 0, 0, 8640, 8643, 1, 0, 0, 0, 8641, 8639, 1, 0, 0, 0, 8641, + 8642, 1, 0, 0, 0, 8642, 1009, 1, 0, 0, 0, 8643, 8641, 1, 0, 0, 0, 8644, + 8650, 3, 1172, 586, 0, 8645, 8646, 5, 454, 0, 0, 8646, 8651, 3, 1330, 665, + 0, 8647, 8649, 3, 618, 309, 0, 8648, 8647, 1, 0, 0, 0, 8648, 8649, 1, 0, + 0, 0, 8649, 8651, 1, 0, 0, 0, 8650, 8645, 1, 0, 0, 0, 8650, 8648, 1, 0, + 0, 0, 8651, 8653, 1, 0, 0, 0, 8652, 8654, 3, 620, 310, 0, 8653, 8652, 1, + 0, 0, 0, 8653, 8654, 1, 0, 0, 0, 8654, 1011, 1, 0, 0, 0, 8655, 8657, 3, + 1016, 508, 0, 8656, 8658, 3, 1018, 509, 0, 8657, 8656, 1, 0, 0, 0, 8657, + 8658, 1, 0, 0, 0, 8658, 8664, 1, 0, 0, 0, 8659, 8661, 3, 1018, 509, 0, + 8660, 8662, 3, 1016, 508, 0, 8661, 8660, 1, 0, 0, 0, 8661, 8662, 1, 0, + 0, 0, 8662, 8664, 1, 0, 0, 0, 8663, 8655, 1, 0, 0, 0, 8663, 8659, 1, 0, + 0, 0, 8664, 1013, 1, 0, 0, 0, 8665, 8666, 3, 1012, 506, 0, 8666, 1015, + 1, 0, 0, 0, 8667, 8668, 5, 235, 0, 0, 8668, 8671, 3, 1020, 510, 0, 8669, + 8670, 5, 500, 0, 0, 8670, 8672, 3, 1022, 511, 0, 8671, 8669, 1, 0, 0, 0, + 8671, 8672, 1, 0, 0, 0, 8672, 8691, 1, 0, 0, 0, 8673, 8674, 5, 147, 0, + 0, 8674, 8688, 3, 1030, 515, 0, 8675, 8676, 3, 1024, 512, 0, 8676, 8680, + 3, 1028, 514, 0, 8677, 8681, 5, 292, 0, 0, 8678, 8679, 5, 474, 0, 0, 8679, + 8681, 5, 426, 0, 0, 8680, 8677, 1, 0, 0, 0, 8680, 8678, 1, 0, 0, 0, 8681, + 8689, 1, 0, 0, 0, 8682, 8686, 3, 1028, 514, 0, 8683, 8687, 5, 292, 0, 0, + 8684, 8685, 5, 474, 0, 0, 8685, 8687, 5, 426, 0, 0, 8686, 8683, 1, 0, 0, + 0, 8686, 8684, 1, 0, 0, 0, 8687, 8689, 1, 0, 0, 0, 8688, 8675, 1, 0, 0, + 0, 8688, 8682, 1, 0, 0, 0, 8689, 8691, 1, 0, 0, 0, 8690, 8667, 1, 0, 0, + 0, 8690, 8673, 1, 0, 0, 0, 8691, 1017, 1, 0, 0, 0, 8692, 8697, 5, 287, + 0, 0, 8693, 8698, 3, 1022, 511, 0, 8694, 8695, 3, 1024, 512, 0, 8695, 8696, + 3, 1028, 514, 0, 8696, 8698, 1, 0, 0, 0, 8697, 8693, 1, 0, 0, 0, 8697, + 8694, 1, 0, 0, 0, 8698, 1019, 1, 0, 0, 0, 8699, 8702, 3, 1172, 586, 0, + 8700, 8702, 5, 10, 0, 0, 8701, 8699, 1, 0, 0, 0, 8701, 8700, 1, 0, 0, 0, + 8702, 1021, 1, 0, 0, 0, 8703, 8704, 3, 1172, 586, 0, 8704, 1023, 1, 0, + 0, 0, 8705, 8711, 3, 1216, 608, 0, 8706, 8707, 5, 506, 0, 0, 8707, 8711, + 3, 1026, 513, 0, 8708, 8709, 5, 507, 0, 0, 8709, 8711, 3, 1026, 513, 0, + 8710, 8705, 1, 0, 0, 0, 8710, 8706, 1, 0, 0, 0, 8710, 8708, 1, 0, 0, 0, + 8711, 1025, 1, 0, 0, 0, 8712, 8715, 3, 1412, 706, 0, 8713, 8715, 3, 1410, + 705, 0, 8714, 8712, 1, 0, 0, 0, 8714, 8713, 1, 0, 0, 0, 8715, 1027, 1, + 0, 0, 0, 8716, 8717, 7, 44, 0, 0, 8717, 1029, 1, 0, 0, 0, 8718, 8719, 7, + 45, 0, 0, 8719, 1031, 1, 0, 0, 0, 8720, 8721, 5, 168, 0, 0, 8721, 8722, + 5, 40, 0, 0, 8722, 8723, 3, 1034, 517, 0, 8723, 1033, 1, 0, 0, 0, 8724, + 8729, 3, 1036, 518, 0, 8725, 8726, 5, 500, 0, 0, 8726, 8728, 3, 1036, 518, + 0, 8727, 8725, 1, 0, 0, 0, 8728, 8731, 1, 0, 0, 0, 8729, 8727, 1, 0, 0, + 0, 8729, 8730, 1, 0, 0, 0, 8730, 1035, 1, 0, 0, 0, 8731, 8729, 1, 0, 0, + 0, 8732, 8738, 3, 1172, 586, 0, 8733, 8738, 3, 1038, 519, 0, 8734, 8738, + 3, 1042, 521, 0, 8735, 8738, 3, 1040, 520, 0, 8736, 8738, 3, 1044, 522, + 0, 8737, 8732, 1, 0, 0, 0, 8737, 8733, 1, 0, 0, 0, 8737, 8734, 1, 0, 0, + 0, 8737, 8735, 1, 0, 0, 0, 8737, 8736, 1, 0, 0, 0, 8738, 1037, 1, 0, 0, + 0, 8739, 8740, 5, 496, 0, 0, 8740, 8741, 5, 497, 0, 0, 8741, 1039, 1, 0, + 0, 0, 8742, 8743, 5, 363, 0, 0, 8743, 8744, 5, 496, 0, 0, 8744, 8745, 3, + 1334, 667, 0, 8745, 8746, 5, 497, 0, 0, 8746, 1041, 1, 0, 0, 0, 8747, 8748, + 5, 83, 0, 0, 8748, 8749, 5, 496, 0, 0, 8749, 8750, 3, 1334, 667, 0, 8750, + 8751, 5, 497, 0, 0, 8751, 1043, 1, 0, 0, 0, 8752, 8753, 5, 169, 0, 0, 8753, + 8754, 5, 386, 0, 0, 8754, 8755, 5, 496, 0, 0, 8755, 8756, 3, 1034, 517, + 0, 8756, 8757, 5, 497, 0, 0, 8757, 1045, 1, 0, 0, 0, 8758, 8759, 5, 172, + 0, 0, 8759, 8760, 3, 1172, 586, 0, 8760, 1047, 1, 0, 0, 0, 8761, 8766, + 3, 1052, 526, 0, 8762, 8763, 5, 153, 0, 0, 8763, 8764, 5, 338, 0, 0, 8764, + 8766, 5, 292, 0, 0, 8765, 8761, 1, 0, 0, 0, 8765, 8762, 1, 0, 0, 0, 8766, + 1049, 1, 0, 0, 0, 8767, 8768, 3, 1048, 524, 0, 8768, 1051, 1, 0, 0, 0, + 8769, 8771, 3, 1054, 527, 0, 8770, 8769, 1, 0, 0, 0, 8771, 8772, 1, 0, + 0, 0, 8772, 8770, 1, 0, 0, 0, 8772, 8773, 1, 0, 0, 0, 8773, 1053, 1, 0, + 0, 0, 8774, 8776, 3, 1056, 528, 0, 8775, 8777, 3, 1058, 529, 0, 8776, 8775, + 1, 0, 0, 0, 8776, 8777, 1, 0, 0, 0, 8777, 8779, 1, 0, 0, 0, 8778, 8780, + 3, 948, 474, 0, 8779, 8778, 1, 0, 0, 0, 8779, 8780, 1, 0, 0, 0, 8780, 1055, + 1, 0, 0, 0, 8781, 8791, 5, 153, 0, 0, 8782, 8783, 5, 270, 0, 0, 8783, 8785, + 5, 222, 0, 0, 8784, 8782, 1, 0, 0, 0, 8784, 8785, 1, 0, 0, 0, 8785, 8786, + 1, 0, 0, 0, 8786, 8792, 5, 452, 0, 0, 8787, 8789, 5, 222, 0, 0, 8788, 8787, + 1, 0, 0, 0, 8788, 8789, 1, 0, 0, 0, 8789, 8790, 1, 0, 0, 0, 8790, 8792, + 5, 387, 0, 0, 8791, 8784, 1, 0, 0, 0, 8791, 8788, 1, 0, 0, 0, 8792, 1057, + 1, 0, 0, 0, 8793, 8794, 5, 285, 0, 0, 8794, 8795, 3, 1390, 695, 0, 8795, + 1059, 1, 0, 0, 0, 8796, 8797, 5, 460, 0, 0, 8797, 8798, 5, 496, 0, 0, 8798, + 8799, 3, 1334, 667, 0, 8799, 8807, 5, 497, 0, 0, 8800, 8801, 5, 500, 0, + 0, 8801, 8802, 5, 496, 0, 0, 8802, 8803, 3, 1334, 667, 0, 8803, 8804, 5, + 497, 0, 0, 8804, 8806, 1, 0, 0, 0, 8805, 8800, 1, 0, 0, 0, 8806, 8809, + 1, 0, 0, 0, 8807, 8805, 1, 0, 0, 0, 8807, 8808, 1, 0, 0, 0, 8808, 1061, + 1, 0, 0, 0, 8809, 8807, 1, 0, 0, 0, 8810, 8811, 5, 159, 0, 0, 8811, 8812, + 3, 1064, 532, 0, 8812, 1063, 1, 0, 0, 0, 8813, 8818, 3, 1066, 533, 0, 8814, + 8815, 5, 500, 0, 0, 8815, 8817, 3, 1066, 533, 0, 8816, 8814, 1, 0, 0, 0, + 8817, 8820, 1, 0, 0, 0, 8818, 8816, 1, 0, 0, 0, 8818, 8819, 1, 0, 0, 0, + 8819, 1065, 1, 0, 0, 0, 8820, 8818, 1, 0, 0, 0, 8821, 8823, 3, 1082, 541, + 0, 8822, 8824, 3, 1072, 536, 0, 8823, 8822, 1, 0, 0, 0, 8823, 8824, 1, + 0, 0, 0, 8824, 8826, 1, 0, 0, 0, 8825, 8827, 3, 1088, 544, 0, 8826, 8825, + 1, 0, 0, 0, 8826, 8827, 1, 0, 0, 0, 8827, 8865, 1, 0, 0, 0, 8828, 8830, + 3, 1092, 546, 0, 8829, 8831, 3, 1076, 538, 0, 8830, 8829, 1, 0, 0, 0, 8830, + 8831, 1, 0, 0, 0, 8831, 8865, 1, 0, 0, 0, 8832, 8834, 3, 1112, 556, 0, + 8833, 8835, 3, 1072, 536, 0, 8834, 8833, 1, 0, 0, 0, 8834, 8835, 1, 0, + 0, 0, 8835, 8865, 1, 0, 0, 0, 8836, 8838, 3, 970, 485, 0, 8837, 8839, 3, + 1072, 536, 0, 8838, 8837, 1, 0, 0, 0, 8838, 8839, 1, 0, 0, 0, 8839, 8865, + 1, 0, 0, 0, 8840, 8853, 5, 228, 0, 0, 8841, 8843, 3, 1112, 556, 0, 8842, + 8844, 3, 1072, 536, 0, 8843, 8842, 1, 0, 0, 0, 8843, 8844, 1, 0, 0, 0, + 8844, 8854, 1, 0, 0, 0, 8845, 8847, 3, 1092, 546, 0, 8846, 8848, 3, 1076, + 538, 0, 8847, 8846, 1, 0, 0, 0, 8847, 8848, 1, 0, 0, 0, 8848, 8854, 1, + 0, 0, 0, 8849, 8851, 3, 970, 485, 0, 8850, 8852, 3, 1072, 536, 0, 8851, + 8850, 1, 0, 0, 0, 8851, 8852, 1, 0, 0, 0, 8852, 8854, 1, 0, 0, 0, 8853, + 8841, 1, 0, 0, 0, 8853, 8845, 1, 0, 0, 0, 8853, 8849, 1, 0, 0, 0, 8854, + 8865, 1, 0, 0, 0, 8855, 8856, 5, 496, 0, 0, 8856, 8858, 3, 1066, 533, 0, + 8857, 8859, 3, 1068, 534, 0, 8858, 8857, 1, 0, 0, 0, 8858, 8859, 1, 0, + 0, 0, 8859, 8860, 1, 0, 0, 0, 8860, 8862, 5, 497, 0, 0, 8861, 8863, 3, + 1072, 536, 0, 8862, 8861, 1, 0, 0, 0, 8862, 8863, 1, 0, 0, 0, 8863, 8865, + 1, 0, 0, 0, 8864, 8821, 1, 0, 0, 0, 8864, 8828, 1, 0, 0, 0, 8864, 8832, + 1, 0, 0, 0, 8864, 8836, 1, 0, 0, 0, 8864, 8840, 1, 0, 0, 0, 8864, 8855, + 1, 0, 0, 0, 8865, 8869, 1, 0, 0, 0, 8866, 8868, 3, 1068, 534, 0, 8867, + 8866, 1, 0, 0, 0, 8868, 8871, 1, 0, 0, 0, 8869, 8867, 1, 0, 0, 0, 8869, + 8870, 1, 0, 0, 0, 8870, 1067, 1, 0, 0, 0, 8871, 8869, 1, 0, 0, 0, 8872, + 8873, 5, 81, 0, 0, 8873, 8874, 5, 209, 0, 0, 8874, 8889, 3, 1066, 533, + 0, 8875, 8877, 5, 261, 0, 0, 8876, 8878, 3, 1078, 539, 0, 8877, 8876, 1, + 0, 0, 0, 8877, 8878, 1, 0, 0, 0, 8878, 8879, 1, 0, 0, 0, 8879, 8880, 5, + 209, 0, 0, 8880, 8889, 3, 1066, 533, 0, 8881, 8883, 3, 1078, 539, 0, 8882, + 8881, 1, 0, 0, 0, 8882, 8883, 1, 0, 0, 0, 8883, 8884, 1, 0, 0, 0, 8884, + 8885, 5, 209, 0, 0, 8885, 8886, 3, 1066, 533, 0, 8886, 8887, 3, 1080, 540, + 0, 8887, 8889, 1, 0, 0, 0, 8888, 8872, 1, 0, 0, 0, 8888, 8875, 1, 0, 0, + 0, 8888, 8882, 1, 0, 0, 0, 8889, 1069, 1, 0, 0, 0, 8890, 8892, 5, 19, 0, + 0, 8891, 8890, 1, 0, 0, 0, 8891, 8892, 1, 0, 0, 0, 8892, 8893, 1, 0, 0, + 0, 8893, 8898, 3, 1428, 714, 0, 8894, 8895, 5, 496, 0, 0, 8895, 8896, 3, + 1394, 697, 0, 8896, 8897, 5, 497, 0, 0, 8897, 8899, 1, 0, 0, 0, 8898, 8894, + 1, 0, 0, 0, 8898, 8899, 1, 0, 0, 0, 8899, 1071, 1, 0, 0, 0, 8900, 8901, + 3, 1074, 537, 0, 8901, 1073, 1, 0, 0, 0, 8902, 8904, 5, 19, 0, 0, 8903, + 8902, 1, 0, 0, 0, 8903, 8904, 1, 0, 0, 0, 8904, 8905, 1, 0, 0, 0, 8905, + 8910, 3, 1430, 715, 0, 8906, 8907, 5, 496, 0, 0, 8907, 8908, 3, 1394, 697, + 0, 8908, 8909, 5, 497, 0, 0, 8909, 8911, 1, 0, 0, 0, 8910, 8906, 1, 0, + 0, 0, 8910, 8911, 1, 0, 0, 0, 8911, 1075, 1, 0, 0, 0, 8912, 8925, 3, 1070, + 535, 0, 8913, 8915, 5, 19, 0, 0, 8914, 8916, 3, 1428, 714, 0, 8915, 8914, + 1, 0, 0, 0, 8915, 8916, 1, 0, 0, 0, 8916, 8919, 1, 0, 0, 0, 8917, 8919, + 3, 1428, 714, 0, 8918, 8913, 1, 0, 0, 0, 8918, 8917, 1, 0, 0, 0, 8919, + 8920, 1, 0, 0, 0, 8920, 8921, 5, 496, 0, 0, 8921, 8922, 3, 1108, 554, 0, + 8922, 8923, 5, 497, 0, 0, 8923, 8925, 1, 0, 0, 0, 8924, 8912, 1, 0, 0, + 0, 8924, 8918, 1, 0, 0, 0, 8925, 1077, 1, 0, 0, 0, 8926, 8928, 7, 46, 0, + 0, 8927, 8929, 5, 301, 0, 0, 8928, 8927, 1, 0, 0, 0, 8928, 8929, 1, 0, + 0, 0, 8929, 1079, 1, 0, 0, 0, 8930, 8931, 5, 454, 0, 0, 8931, 8932, 5, + 496, 0, 0, 8932, 8933, 3, 1394, 697, 0, 8933, 8934, 5, 497, 0, 0, 8934, + 8938, 1, 0, 0, 0, 8935, 8936, 5, 291, 0, 0, 8936, 8938, 3, 1172, 586, 0, + 8937, 8930, 1, 0, 0, 0, 8937, 8935, 1, 0, 0, 0, 8938, 1081, 1, 0, 0, 0, + 8939, 8941, 3, 1392, 696, 0, 8940, 8942, 5, 503, 0, 0, 8941, 8940, 1, 0, + 0, 0, 8941, 8942, 1, 0, 0, 0, 8942, 8952, 1, 0, 0, 0, 8943, 8949, 5, 292, + 0, 0, 8944, 8950, 3, 1392, 696, 0, 8945, 8946, 5, 496, 0, 0, 8946, 8947, + 3, 1392, 696, 0, 8947, 8948, 5, 497, 0, 0, 8948, 8950, 1, 0, 0, 0, 8949, + 8944, 1, 0, 0, 0, 8949, 8945, 1, 0, 0, 0, 8950, 8952, 1, 0, 0, 0, 8951, + 8939, 1, 0, 0, 0, 8951, 8943, 1, 0, 0, 0, 8952, 1083, 1, 0, 0, 0, 8953, + 8958, 3, 1082, 541, 0, 8954, 8955, 5, 500, 0, 0, 8955, 8957, 3, 1082, 541, + 0, 8956, 8954, 1, 0, 0, 0, 8957, 8960, 1, 0, 0, 0, 8958, 8956, 1, 0, 0, + 0, 8958, 8959, 1, 0, 0, 0, 8959, 1085, 1, 0, 0, 0, 8960, 8958, 1, 0, 0, + 0, 8961, 8966, 3, 1082, 541, 0, 8962, 8964, 5, 19, 0, 0, 8963, 8962, 1, + 0, 0, 0, 8963, 8964, 1, 0, 0, 0, 8964, 8965, 1, 0, 0, 0, 8965, 8967, 3, + 1428, 714, 0, 8966, 8963, 1, 0, 0, 0, 8966, 8967, 1, 0, 0, 0, 8967, 1087, + 1, 0, 0, 0, 8968, 8969, 5, 418, 0, 0, 8969, 8970, 3, 1402, 701, 0, 8970, + 8971, 5, 496, 0, 0, 8971, 8972, 3, 1334, 667, 0, 8972, 8974, 5, 497, 0, + 0, 8973, 8975, 3, 1090, 545, 0, 8974, 8973, 1, 0, 0, 0, 8974, 8975, 1, + 0, 0, 0, 8975, 1089, 1, 0, 0, 0, 8976, 8977, 5, 350, 0, 0, 8977, 8978, + 5, 496, 0, 0, 8978, 8979, 3, 1172, 586, 0, 8979, 8980, 5, 497, 0, 0, 8980, + 1091, 1, 0, 0, 0, 8981, 8983, 3, 1224, 612, 0, 8982, 8984, 3, 1100, 550, + 0, 8983, 8982, 1, 0, 0, 0, 8983, 8984, 1, 0, 0, 0, 8984, 8994, 1, 0, 0, + 0, 8985, 8986, 5, 367, 0, 0, 8986, 8987, 5, 159, 0, 0, 8987, 8988, 5, 496, + 0, 0, 8988, 8989, 3, 1096, 548, 0, 8989, 8991, 5, 497, 0, 0, 8990, 8992, + 3, 1100, 550, 0, 8991, 8990, 1, 0, 0, 0, 8991, 8992, 1, 0, 0, 0, 8992, + 8994, 1, 0, 0, 0, 8993, 8981, 1, 0, 0, 0, 8993, 8985, 1, 0, 0, 0, 8994, + 1093, 1, 0, 0, 0, 8995, 8997, 3, 1224, 612, 0, 8996, 8998, 3, 1098, 549, + 0, 8997, 8996, 1, 0, 0, 0, 8997, 8998, 1, 0, 0, 0, 8998, 1095, 1, 0, 0, + 0, 8999, 9004, 3, 1094, 547, 0, 9000, 9001, 5, 500, 0, 0, 9001, 9003, 3, + 1094, 547, 0, 9002, 9000, 1, 0, 0, 0, 9003, 9006, 1, 0, 0, 0, 9004, 9002, + 1, 0, 0, 0, 9004, 9005, 1, 0, 0, 0, 9005, 1097, 1, 0, 0, 0, 9006, 9004, + 1, 0, 0, 0, 9007, 9008, 5, 19, 0, 0, 9008, 9009, 5, 496, 0, 0, 9009, 9010, + 3, 1108, 554, 0, 9010, 9011, 5, 497, 0, 0, 9011, 1099, 1, 0, 0, 0, 9012, + 9013, 5, 474, 0, 0, 9013, 9014, 5, 298, 0, 0, 9014, 1101, 1, 0, 0, 0, 9015, + 9016, 5, 471, 0, 0, 9016, 9017, 3, 1172, 586, 0, 9017, 1103, 1, 0, 0, 0, + 9018, 9023, 5, 471, 0, 0, 9019, 9020, 5, 84, 0, 0, 9020, 9021, 5, 285, + 0, 0, 9021, 9024, 3, 962, 481, 0, 9022, 9024, 3, 1172, 586, 0, 9023, 9019, + 1, 0, 0, 0, 9023, 9022, 1, 0, 0, 0, 9024, 1105, 1, 0, 0, 0, 9025, 9026, + 3, 1108, 554, 0, 9026, 1107, 1, 0, 0, 0, 9027, 9032, 3, 1110, 555, 0, 9028, + 9029, 5, 500, 0, 0, 9029, 9031, 3, 1110, 555, 0, 9030, 9028, 1, 0, 0, 0, + 9031, 9034, 1, 0, 0, 0, 9032, 9030, 1, 0, 0, 0, 9032, 9033, 1, 0, 0, 0, + 9033, 1109, 1, 0, 0, 0, 9034, 9032, 1, 0, 0, 0, 9035, 9036, 3, 1428, 714, + 0, 9036, 9038, 3, 1126, 563, 0, 9037, 9039, 3, 110, 55, 0, 9038, 9037, + 1, 0, 0, 0, 9038, 9039, 1, 0, 0, 0, 9039, 1111, 1, 0, 0, 0, 9040, 9041, + 5, 491, 0, 0, 9041, 9057, 5, 496, 0, 0, 9042, 9043, 3, 1216, 608, 0, 9043, + 9044, 3, 1286, 643, 0, 9044, 9045, 5, 62, 0, 0, 9045, 9046, 3, 1114, 557, + 0, 9046, 9058, 1, 0, 0, 0, 9047, 9048, 5, 486, 0, 0, 9048, 9049, 5, 496, + 0, 0, 9049, 9050, 3, 1122, 561, 0, 9050, 9051, 5, 497, 0, 0, 9051, 9052, + 5, 500, 0, 0, 9052, 9053, 3, 1216, 608, 0, 9053, 9054, 3, 1286, 643, 0, + 9054, 9055, 5, 62, 0, 0, 9055, 9056, 3, 1114, 557, 0, 9056, 9058, 1, 0, + 0, 0, 9057, 9042, 1, 0, 0, 0, 9057, 9047, 1, 0, 0, 0, 9058, 9059, 1, 0, + 0, 0, 9059, 9060, 5, 497, 0, 0, 9060, 1113, 1, 0, 0, 0, 9061, 9066, 3, + 1116, 558, 0, 9062, 9063, 5, 500, 0, 0, 9063, 9065, 3, 1116, 558, 0, 9064, + 9062, 1, 0, 0, 0, 9065, 9068, 1, 0, 0, 0, 9066, 9064, 1, 0, 0, 0, 9066, + 9067, 1, 0, 0, 0, 9067, 1115, 1, 0, 0, 0, 9068, 9066, 1, 0, 0, 0, 9069, + 9076, 3, 1428, 714, 0, 9070, 9072, 3, 1126, 563, 0, 9071, 9073, 3, 1118, + 559, 0, 9072, 9071, 1, 0, 0, 0, 9072, 9073, 1, 0, 0, 0, 9073, 9077, 1, + 0, 0, 0, 9074, 9075, 5, 153, 0, 0, 9075, 9077, 5, 298, 0, 0, 9076, 9070, + 1, 0, 0, 0, 9076, 9074, 1, 0, 0, 0, 9077, 1117, 1, 0, 0, 0, 9078, 9080, + 3, 1120, 560, 0, 9079, 9078, 1, 0, 0, 0, 9080, 9081, 1, 0, 0, 0, 9081, + 9079, 1, 0, 0, 0, 9081, 9082, 1, 0, 0, 0, 9082, 1119, 1, 0, 0, 0, 9083, + 9084, 5, 101, 0, 0, 9084, 9092, 3, 1172, 586, 0, 9085, 9086, 3, 1438, 719, + 0, 9086, 9087, 3, 1172, 586, 0, 9087, 9092, 1, 0, 0, 0, 9088, 9089, 5, + 274, 0, 0, 9089, 9092, 5, 279, 0, 0, 9090, 9092, 5, 279, 0, 0, 9091, 9083, + 1, 0, 0, 0, 9091, 9085, 1, 0, 0, 0, 9091, 9088, 1, 0, 0, 0, 9091, 9090, + 1, 0, 0, 0, 9092, 1121, 1, 0, 0, 0, 9093, 9098, 3, 1124, 562, 0, 9094, + 9095, 5, 500, 0, 0, 9095, 9097, 3, 1124, 562, 0, 9096, 9094, 1, 0, 0, 0, + 9097, 9100, 1, 0, 0, 0, 9098, 9096, 1, 0, 0, 0, 9098, 9099, 1, 0, 0, 0, + 9099, 1123, 1, 0, 0, 0, 9100, 9098, 1, 0, 0, 0, 9101, 9102, 3, 1214, 607, + 0, 9102, 9103, 5, 19, 0, 0, 9103, 9104, 3, 1436, 718, 0, 9104, 9108, 1, + 0, 0, 0, 9105, 9106, 5, 101, 0, 0, 9106, 9108, 3, 1214, 607, 0, 9107, 9101, + 1, 0, 0, 0, 9107, 9105, 1, 0, 0, 0, 9108, 1125, 1, 0, 0, 0, 9109, 9111, + 5, 385, 0, 0, 9110, 9109, 1, 0, 0, 0, 9110, 9111, 1, 0, 0, 0, 9111, 9112, + 1, 0, 0, 0, 9112, 9121, 3, 1130, 565, 0, 9113, 9122, 3, 1128, 564, 0, 9114, + 9119, 5, 18, 0, 0, 9115, 9116, 5, 498, 0, 0, 9116, 9117, 3, 1412, 706, + 0, 9117, 9118, 5, 499, 0, 0, 9118, 9120, 1, 0, 0, 0, 9119, 9115, 1, 0, + 0, 0, 9119, 9120, 1, 0, 0, 0, 9120, 9122, 1, 0, 0, 0, 9121, 9113, 1, 0, + 0, 0, 9121, 9114, 1, 0, 0, 0, 9122, 9128, 1, 0, 0, 0, 9123, 9124, 3, 1392, + 696, 0, 9124, 9125, 5, 521, 0, 0, 9125, 9126, 7, 47, 0, 0, 9126, 9128, + 1, 0, 0, 0, 9127, 9110, 1, 0, 0, 0, 9127, 9123, 1, 0, 0, 0, 9128, 1127, + 1, 0, 0, 0, 9129, 9131, 5, 498, 0, 0, 9130, 9132, 3, 1412, 706, 0, 9131, + 9130, 1, 0, 0, 0, 9131, 9132, 1, 0, 0, 0, 9132, 9133, 1, 0, 0, 0, 9133, + 9135, 5, 499, 0, 0, 9134, 9129, 1, 0, 0, 0, 9135, 9138, 1, 0, 0, 0, 9136, + 9134, 1, 0, 0, 0, 9136, 9137, 1, 0, 0, 0, 9137, 1129, 1, 0, 0, 0, 9138, + 9136, 1, 0, 0, 0, 9139, 9156, 3, 1134, 567, 0, 9140, 9156, 3, 1140, 570, + 0, 9141, 9156, 3, 1144, 572, 0, 9142, 9156, 3, 1152, 576, 0, 9143, 9156, + 3, 1160, 580, 0, 9144, 9152, 3, 1162, 581, 0, 9145, 9147, 3, 1166, 583, + 0, 9146, 9145, 1, 0, 0, 0, 9146, 9147, 1, 0, 0, 0, 9147, 9153, 1, 0, 0, + 0, 9148, 9149, 5, 496, 0, 0, 9149, 9150, 3, 1412, 706, 0, 9150, 9151, 5, + 497, 0, 0, 9151, 9153, 1, 0, 0, 0, 9152, 9146, 1, 0, 0, 0, 9152, 9148, + 1, 0, 0, 0, 9153, 9156, 1, 0, 0, 0, 9154, 9156, 3, 1136, 568, 0, 9155, + 9139, 1, 0, 0, 0, 9155, 9140, 1, 0, 0, 0, 9155, 9141, 1, 0, 0, 0, 9155, + 9142, 1, 0, 0, 0, 9155, 9143, 1, 0, 0, 0, 9155, 9144, 1, 0, 0, 0, 9155, + 9154, 1, 0, 0, 0, 9156, 1131, 1, 0, 0, 0, 9157, 9163, 3, 1140, 570, 0, + 9158, 9163, 3, 1146, 573, 0, 9159, 9163, 3, 1154, 577, 0, 9160, 9163, 3, + 1160, 580, 0, 9161, 9163, 3, 1136, 568, 0, 9162, 9157, 1, 0, 0, 0, 9162, + 9158, 1, 0, 0, 0, 9162, 9159, 1, 0, 0, 0, 9162, 9160, 1, 0, 0, 0, 9162, + 9161, 1, 0, 0, 0, 9163, 1133, 1, 0, 0, 0, 9164, 9168, 3, 1432, 716, 0, + 9165, 9168, 5, 232, 0, 0, 9166, 9168, 5, 360, 0, 0, 9167, 9164, 1, 0, 0, + 0, 9167, 9165, 1, 0, 0, 0, 9167, 9166, 1, 0, 0, 0, 9168, 9170, 1, 0, 0, + 0, 9169, 9171, 3, 528, 264, 0, 9170, 9169, 1, 0, 0, 0, 9170, 9171, 1, 0, + 0, 0, 9171, 9173, 1, 0, 0, 0, 9172, 9174, 3, 1138, 569, 0, 9173, 9172, + 1, 0, 0, 0, 9173, 9174, 1, 0, 0, 0, 9174, 1135, 1, 0, 0, 0, 9175, 9176, + 5, 210, 0, 0, 9176, 1137, 1, 0, 0, 0, 9177, 9178, 5, 496, 0, 0, 9178, 9179, + 3, 1334, 667, 0, 9179, 9180, 5, 497, 0, 0, 9180, 1139, 1, 0, 0, 0, 9181, + 9206, 5, 200, 0, 0, 9182, 9206, 5, 201, 0, 0, 9183, 9206, 5, 392, 0, 0, + 9184, 9206, 5, 34, 0, 0, 9185, 9206, 5, 339, 0, 0, 9186, 9188, 5, 151, + 0, 0, 9187, 9189, 3, 1142, 571, 0, 9188, 9187, 1, 0, 0, 0, 9188, 9189, + 1, 0, 0, 0, 9189, 9206, 1, 0, 0, 0, 9190, 9191, 5, 120, 0, 0, 9191, 9206, + 5, 323, 0, 0, 9192, 9194, 5, 99, 0, 0, 9193, 9195, 3, 1138, 569, 0, 9194, + 9193, 1, 0, 0, 0, 9194, 9195, 1, 0, 0, 0, 9195, 9206, 1, 0, 0, 0, 9196, + 9198, 5, 98, 0, 0, 9197, 9199, 3, 1138, 569, 0, 9198, 9197, 1, 0, 0, 0, + 9198, 9199, 1, 0, 0, 0, 9199, 9206, 1, 0, 0, 0, 9200, 9202, 5, 282, 0, + 0, 9201, 9203, 3, 1138, 569, 0, 9202, 9201, 1, 0, 0, 0, 9202, 9203, 1, + 0, 0, 0, 9203, 9206, 1, 0, 0, 0, 9204, 9206, 5, 37, 0, 0, 9205, 9181, 1, + 0, 0, 0, 9205, 9182, 1, 0, 0, 0, 9205, 9183, 1, 0, 0, 0, 9205, 9184, 1, + 0, 0, 0, 9205, 9185, 1, 0, 0, 0, 9205, 9186, 1, 0, 0, 0, 9205, 9190, 1, + 0, 0, 0, 9205, 9192, 1, 0, 0, 0, 9205, 9196, 1, 0, 0, 0, 9205, 9200, 1, + 0, 0, 0, 9205, 9204, 1, 0, 0, 0, 9206, 1141, 1, 0, 0, 0, 9207, 9208, 5, + 496, 0, 0, 9208, 9209, 3, 1412, 706, 0, 9209, 9210, 5, 497, 0, 0, 9210, + 1143, 1, 0, 0, 0, 9211, 9214, 3, 1148, 574, 0, 9212, 9214, 3, 1150, 575, + 0, 9213, 9211, 1, 0, 0, 0, 9213, 9212, 1, 0, 0, 0, 9214, 1145, 1, 0, 0, + 0, 9215, 9218, 3, 1148, 574, 0, 9216, 9218, 3, 1150, 575, 0, 9217, 9215, + 1, 0, 0, 0, 9217, 9216, 1, 0, 0, 0, 9218, 1147, 1, 0, 0, 0, 9219, 9221, + 5, 36, 0, 0, 9220, 9222, 3, 1158, 579, 0, 9221, 9220, 1, 0, 0, 0, 9221, + 9222, 1, 0, 0, 0, 9222, 9223, 1, 0, 0, 0, 9223, 9224, 5, 496, 0, 0, 9224, + 9225, 3, 1334, 667, 0, 9225, 9226, 5, 497, 0, 0, 9226, 1149, 1, 0, 0, 0, + 9227, 9229, 5, 36, 0, 0, 9228, 9230, 3, 1158, 579, 0, 9229, 9228, 1, 0, + 0, 0, 9229, 9230, 1, 0, 0, 0, 9230, 1151, 1, 0, 0, 0, 9231, 9236, 3, 1156, + 578, 0, 9232, 9233, 5, 496, 0, 0, 9233, 9234, 3, 1412, 706, 0, 9234, 9235, + 5, 497, 0, 0, 9235, 9237, 1, 0, 0, 0, 9236, 9232, 1, 0, 0, 0, 9236, 9237, + 1, 0, 0, 0, 9237, 1153, 1, 0, 0, 0, 9238, 9243, 3, 1156, 578, 0, 9239, + 9240, 5, 496, 0, 0, 9240, 9241, 3, 1412, 706, 0, 9241, 9242, 5, 497, 0, + 0, 9242, 9244, 1, 0, 0, 0, 9243, 9239, 1, 0, 0, 0, 9243, 9244, 1, 0, 0, + 0, 9244, 1155, 1, 0, 0, 0, 9245, 9247, 7, 48, 0, 0, 9246, 9248, 3, 1158, + 579, 0, 9247, 9246, 1, 0, 0, 0, 9247, 9248, 1, 0, 0, 0, 9248, 9256, 1, + 0, 0, 0, 9249, 9256, 5, 461, 0, 0, 9250, 9251, 5, 260, 0, 0, 9251, 9253, + 7, 49, 0, 0, 9252, 9254, 3, 1158, 579, 0, 9253, 9252, 1, 0, 0, 0, 9253, + 9254, 1, 0, 0, 0, 9254, 9256, 1, 0, 0, 0, 9255, 9245, 1, 0, 0, 0, 9255, + 9249, 1, 0, 0, 0, 9255, 9250, 1, 0, 0, 0, 9256, 1157, 1, 0, 0, 0, 9257, + 9258, 5, 463, 0, 0, 9258, 1159, 1, 0, 0, 0, 9259, 9264, 7, 50, 0, 0, 9260, + 9261, 5, 496, 0, 0, 9261, 9262, 3, 1412, 706, 0, 9262, 9263, 5, 497, 0, + 0, 9263, 9265, 1, 0, 0, 0, 9264, 9260, 1, 0, 0, 0, 9264, 9265, 1, 0, 0, + 0, 9265, 9267, 1, 0, 0, 0, 9266, 9268, 3, 1164, 582, 0, 9267, 9266, 1, + 0, 0, 0, 9267, 9268, 1, 0, 0, 0, 9268, 1161, 1, 0, 0, 0, 9269, 9270, 5, + 203, 0, 0, 9270, 1163, 1, 0, 0, 0, 9271, 9272, 5, 474, 0, 0, 9272, 9273, + 5, 427, 0, 0, 9273, 9278, 5, 494, 0, 0, 9274, 9275, 5, 476, 0, 0, 9275, + 9276, 5, 427, 0, 0, 9276, 9278, 5, 494, 0, 0, 9277, 9271, 1, 0, 0, 0, 9277, + 9274, 1, 0, 0, 0, 9278, 1165, 1, 0, 0, 0, 9279, 9305, 5, 492, 0, 0, 9280, + 9305, 5, 256, 0, 0, 9281, 9305, 5, 96, 0, 0, 9282, 9305, 5, 175, 0, 0, + 9283, 9305, 5, 253, 0, 0, 9284, 9305, 3, 1168, 584, 0, 9285, 9286, 5, 492, + 0, 0, 9286, 9287, 5, 429, 0, 0, 9287, 9305, 5, 256, 0, 0, 9288, 9289, 5, + 96, 0, 0, 9289, 9293, 5, 429, 0, 0, 9290, 9294, 5, 175, 0, 0, 9291, 9294, + 5, 253, 0, 0, 9292, 9294, 3, 1168, 584, 0, 9293, 9290, 1, 0, 0, 0, 9293, + 9291, 1, 0, 0, 0, 9293, 9292, 1, 0, 0, 0, 9294, 9305, 1, 0, 0, 0, 9295, + 9296, 5, 175, 0, 0, 9296, 9299, 5, 429, 0, 0, 9297, 9300, 5, 253, 0, 0, + 9298, 9300, 3, 1168, 584, 0, 9299, 9297, 1, 0, 0, 0, 9299, 9298, 1, 0, + 0, 0, 9300, 9305, 1, 0, 0, 0, 9301, 9302, 5, 253, 0, 0, 9302, 9303, 5, + 429, 0, 0, 9303, 9305, 3, 1168, 584, 0, 9304, 9279, 1, 0, 0, 0, 9304, 9280, + 1, 0, 0, 0, 9304, 9281, 1, 0, 0, 0, 9304, 9282, 1, 0, 0, 0, 9304, 9283, + 1, 0, 0, 0, 9304, 9284, 1, 0, 0, 0, 9304, 9285, 1, 0, 0, 0, 9304, 9288, + 1, 0, 0, 0, 9304, 9295, 1, 0, 0, 0, 9304, 9301, 1, 0, 0, 0, 9305, 1167, + 1, 0, 0, 0, 9306, 9311, 5, 375, 0, 0, 9307, 9308, 5, 496, 0, 0, 9308, 9309, + 3, 1412, 706, 0, 9309, 9310, 5, 497, 0, 0, 9310, 9312, 1, 0, 0, 0, 9311, + 9307, 1, 0, 0, 0, 9311, 9312, 1, 0, 0, 0, 9312, 1169, 1, 0, 0, 0, 9313, + 9314, 5, 132, 0, 0, 9314, 9315, 3, 1172, 586, 0, 9315, 1171, 1, 0, 0, 0, + 9316, 9317, 3, 1174, 587, 0, 9317, 1173, 1, 0, 0, 0, 9318, 9320, 3, 1176, + 588, 0, 9319, 9321, 3, 1328, 664, 0, 9320, 9319, 1, 0, 0, 0, 9320, 9321, + 1, 0, 0, 0, 9321, 1175, 1, 0, 0, 0, 9322, 9327, 3, 1178, 589, 0, 9323, + 9324, 7, 51, 0, 0, 9324, 9326, 3, 1178, 589, 0, 9325, 9323, 1, 0, 0, 0, + 9326, 9329, 1, 0, 0, 0, 9327, 9325, 1, 0, 0, 0, 9327, 9328, 1, 0, 0, 0, + 9328, 1177, 1, 0, 0, 0, 9329, 9327, 1, 0, 0, 0, 9330, 9335, 3, 1180, 590, + 0, 9331, 9332, 5, 296, 0, 0, 9332, 9334, 3, 1180, 590, 0, 9333, 9331, 1, + 0, 0, 0, 9334, 9337, 1, 0, 0, 0, 9335, 9333, 1, 0, 0, 0, 9335, 9336, 1, + 0, 0, 0, 9336, 1179, 1, 0, 0, 0, 9337, 9335, 1, 0, 0, 0, 9338, 9343, 3, + 1182, 591, 0, 9339, 9340, 5, 16, 0, 0, 9340, 9342, 3, 1182, 591, 0, 9341, + 9339, 1, 0, 0, 0, 9342, 9345, 1, 0, 0, 0, 9343, 9341, 1, 0, 0, 0, 9343, + 9344, 1, 0, 0, 0, 9344, 1181, 1, 0, 0, 0, 9345, 9343, 1, 0, 0, 0, 9346, + 9358, 3, 1184, 592, 0, 9347, 9349, 5, 274, 0, 0, 9348, 9347, 1, 0, 0, 0, + 9348, 9349, 1, 0, 0, 0, 9349, 9350, 1, 0, 0, 0, 9350, 9352, 5, 33, 0, 0, + 9351, 9353, 5, 412, 0, 0, 9352, 9351, 1, 0, 0, 0, 9352, 9353, 1, 0, 0, + 0, 9353, 9354, 1, 0, 0, 0, 9354, 9355, 3, 1184, 592, 0, 9355, 9356, 5, + 16, 0, 0, 9356, 9357, 3, 1184, 592, 0, 9357, 9359, 1, 0, 0, 0, 9358, 9348, + 1, 0, 0, 0, 9358, 9359, 1, 0, 0, 0, 9359, 1183, 1, 0, 0, 0, 9360, 9366, + 3, 1186, 593, 0, 9361, 9363, 5, 274, 0, 0, 9362, 9361, 1, 0, 0, 0, 9362, + 9363, 1, 0, 0, 0, 9363, 9364, 1, 0, 0, 0, 9364, 9365, 5, 183, 0, 0, 9365, + 9367, 3, 1360, 680, 0, 9366, 9362, 1, 0, 0, 0, 9366, 9367, 1, 0, 0, 0, + 9367, 1185, 1, 0, 0, 0, 9368, 9370, 5, 274, 0, 0, 9369, 9368, 1, 0, 0, + 0, 9369, 9370, 1, 0, 0, 0, 9370, 9371, 1, 0, 0, 0, 9371, 9372, 3, 1188, + 594, 0, 9372, 1187, 1, 0, 0, 0, 9373, 9375, 3, 1190, 595, 0, 9374, 9376, + 7, 52, 0, 0, 9375, 9374, 1, 0, 0, 0, 9375, 9376, 1, 0, 0, 0, 9376, 1189, + 1, 0, 0, 0, 9377, 9401, 3, 1192, 596, 0, 9378, 9380, 5, 206, 0, 0, 9379, + 9381, 5, 274, 0, 0, 9380, 9379, 1, 0, 0, 0, 9380, 9381, 1, 0, 0, 0, 9381, + 9399, 1, 0, 0, 0, 9382, 9400, 5, 279, 0, 0, 9383, 9400, 5, 436, 0, 0, 9384, + 9400, 5, 145, 0, 0, 9385, 9400, 5, 448, 0, 0, 9386, 9387, 5, 116, 0, 0, + 9387, 9388, 5, 159, 0, 0, 9388, 9400, 3, 1172, 586, 0, 9389, 9390, 5, 285, + 0, 0, 9390, 9391, 5, 496, 0, 0, 9391, 9392, 3, 1340, 670, 0, 9392, 9393, + 5, 497, 0, 0, 9393, 9400, 1, 0, 0, 0, 9394, 9400, 5, 118, 0, 0, 9395, 9397, + 3, 1350, 675, 0, 9396, 9395, 1, 0, 0, 0, 9396, 9397, 1, 0, 0, 0, 9397, + 9398, 1, 0, 0, 0, 9398, 9400, 5, 273, 0, 0, 9399, 9382, 1, 0, 0, 0, 9399, + 9383, 1, 0, 0, 0, 9399, 9384, 1, 0, 0, 0, 9399, 9385, 1, 0, 0, 0, 9399, + 9386, 1, 0, 0, 0, 9399, 9389, 1, 0, 0, 0, 9399, 9394, 1, 0, 0, 0, 9399, + 9396, 1, 0, 0, 0, 9400, 9402, 1, 0, 0, 0, 9401, 9378, 1, 0, 0, 0, 9401, + 9402, 1, 0, 0, 0, 9402, 1191, 1, 0, 0, 0, 9403, 9415, 3, 1194, 597, 0, + 9404, 9405, 7, 53, 0, 0, 9405, 9416, 3, 1194, 597, 0, 9406, 9407, 3, 1332, + 666, 0, 9407, 9413, 3, 1322, 661, 0, 9408, 9414, 3, 970, 485, 0, 9409, + 9410, 5, 496, 0, 0, 9410, 9411, 3, 1172, 586, 0, 9411, 9412, 5, 497, 0, + 0, 9412, 9414, 1, 0, 0, 0, 9413, 9408, 1, 0, 0, 0, 9413, 9409, 1, 0, 0, + 0, 9414, 9416, 1, 0, 0, 0, 9415, 9404, 1, 0, 0, 0, 9415, 9406, 1, 0, 0, + 0, 9415, 9416, 1, 0, 0, 0, 9416, 1193, 1, 0, 0, 0, 9417, 9431, 3, 1196, + 598, 0, 9418, 9420, 5, 274, 0, 0, 9419, 9418, 1, 0, 0, 0, 9419, 9420, 1, + 0, 0, 0, 9420, 9425, 1, 0, 0, 0, 9421, 9426, 5, 234, 0, 0, 9422, 9426, + 5, 178, 0, 0, 9423, 9424, 5, 389, 0, 0, 9424, 9426, 5, 429, 0, 0, 9425, + 9421, 1, 0, 0, 0, 9425, 9422, 1, 0, 0, 0, 9425, 9423, 1, 0, 0, 0, 9426, + 9427, 1, 0, 0, 0, 9427, 9429, 3, 1196, 598, 0, 9428, 9430, 3, 1170, 585, + 0, 9429, 9428, 1, 0, 0, 0, 9429, 9430, 1, 0, 0, 0, 9430, 9432, 1, 0, 0, + 0, 9431, 9419, 1, 0, 0, 0, 9431, 9432, 1, 0, 0, 0, 9432, 1195, 1, 0, 0, + 0, 9433, 9439, 3, 1198, 599, 0, 9434, 9435, 3, 1328, 664, 0, 9435, 9436, + 3, 1198, 599, 0, 9436, 9438, 1, 0, 0, 0, 9437, 9434, 1, 0, 0, 0, 9438, + 9441, 1, 0, 0, 0, 9439, 9437, 1, 0, 0, 0, 9439, 9440, 1, 0, 0, 0, 9440, + 1197, 1, 0, 0, 0, 9441, 9439, 1, 0, 0, 0, 9442, 9444, 3, 1328, 664, 0, + 9443, 9442, 1, 0, 0, 0, 9443, 9444, 1, 0, 0, 0, 9444, 9445, 1, 0, 0, 0, + 9445, 9446, 3, 1200, 600, 0, 9446, 1199, 1, 0, 0, 0, 9447, 9452, 3, 1202, + 601, 0, 9448, 9449, 7, 54, 0, 0, 9449, 9451, 3, 1202, 601, 0, 9450, 9448, + 1, 0, 0, 0, 9451, 9454, 1, 0, 0, 0, 9452, 9450, 1, 0, 0, 0, 9452, 9453, + 1, 0, 0, 0, 9453, 1201, 1, 0, 0, 0, 9454, 9452, 1, 0, 0, 0, 9455, 9460, + 3, 1204, 602, 0, 9456, 9457, 7, 55, 0, 0, 9457, 9459, 3, 1204, 602, 0, + 9458, 9456, 1, 0, 0, 0, 9459, 9462, 1, 0, 0, 0, 9460, 9458, 1, 0, 0, 0, + 9460, 9461, 1, 0, 0, 0, 9461, 1203, 1, 0, 0, 0, 9462, 9460, 1, 0, 0, 0, + 9463, 9466, 3, 1206, 603, 0, 9464, 9465, 5, 509, 0, 0, 9465, 9467, 3, 1172, + 586, 0, 9466, 9464, 1, 0, 0, 0, 9466, 9467, 1, 0, 0, 0, 9467, 1205, 1, + 0, 0, 0, 9468, 9470, 7, 54, 0, 0, 9469, 9468, 1, 0, 0, 0, 9469, 9470, 1, + 0, 0, 0, 9470, 9471, 1, 0, 0, 0, 9471, 9472, 3, 1208, 604, 0, 9472, 1207, + 1, 0, 0, 0, 9473, 9478, 3, 1210, 605, 0, 9474, 9475, 5, 25, 0, 0, 9475, + 9476, 5, 427, 0, 0, 9476, 9477, 5, 494, 0, 0, 9477, 9479, 3, 1172, 586, + 0, 9478, 9474, 1, 0, 0, 0, 9478, 9479, 1, 0, 0, 0, 9479, 1209, 1, 0, 0, + 0, 9480, 9483, 3, 1212, 606, 0, 9481, 9482, 5, 59, 0, 0, 9482, 9484, 3, + 526, 263, 0, 9483, 9481, 1, 0, 0, 0, 9483, 9484, 1, 0, 0, 0, 9484, 1211, + 1, 0, 0, 0, 9485, 9490, 3, 1216, 608, 0, 9486, 9487, 5, 520, 0, 0, 9487, + 9489, 3, 1126, 563, 0, 9488, 9486, 1, 0, 0, 0, 9489, 9492, 1, 0, 0, 0, + 9490, 9488, 1, 0, 0, 0, 9490, 9491, 1, 0, 0, 0, 9491, 1213, 1, 0, 0, 0, + 9492, 9490, 1, 0, 0, 0, 9493, 9494, 6, 607, -1, 0, 9494, 9501, 3, 1216, + 608, 0, 9495, 9496, 7, 54, 0, 0, 9496, 9501, 3, 1214, 607, 9, 9497, 9498, + 3, 1328, 664, 0, 9498, 9499, 3, 1214, 607, 3, 9499, 9501, 1, 0, 0, 0, 9500, + 9493, 1, 0, 0, 0, 9500, 9495, 1, 0, 0, 0, 9500, 9497, 1, 0, 0, 0, 9501, + 9541, 1, 0, 0, 0, 9502, 9503, 10, 8, 0, 0, 9503, 9504, 5, 509, 0, 0, 9504, + 9540, 3, 1214, 607, 9, 9505, 9506, 10, 7, 0, 0, 9506, 9507, 7, 55, 0, 0, + 9507, 9540, 3, 1214, 607, 8, 9508, 9509, 10, 6, 0, 0, 9509, 9510, 7, 54, + 0, 0, 9510, 9540, 3, 1214, 607, 7, 9511, 9512, 10, 5, 0, 0, 9512, 9513, + 3, 1328, 664, 0, 9513, 9514, 3, 1214, 607, 6, 9514, 9540, 1, 0, 0, 0, 9515, + 9516, 10, 4, 0, 0, 9516, 9517, 7, 53, 0, 0, 9517, 9540, 3, 1214, 607, 5, + 9518, 9519, 10, 10, 0, 0, 9519, 9520, 5, 520, 0, 0, 9520, 9540, 3, 1126, + 563, 0, 9521, 9522, 10, 2, 0, 0, 9522, 9540, 3, 1328, 664, 0, 9523, 9524, + 10, 1, 0, 0, 9524, 9526, 5, 206, 0, 0, 9525, 9527, 5, 274, 0, 0, 9526, + 9525, 1, 0, 0, 0, 9526, 9527, 1, 0, 0, 0, 9527, 9537, 1, 0, 0, 0, 9528, + 9529, 5, 116, 0, 0, 9529, 9530, 5, 159, 0, 0, 9530, 9538, 3, 1214, 607, + 0, 9531, 9532, 5, 285, 0, 0, 9532, 9533, 5, 496, 0, 0, 9533, 9534, 3, 1340, + 670, 0, 9534, 9535, 5, 497, 0, 0, 9535, 9538, 1, 0, 0, 0, 9536, 9538, 5, + 118, 0, 0, 9537, 9528, 1, 0, 0, 0, 9537, 9531, 1, 0, 0, 0, 9537, 9536, + 1, 0, 0, 0, 9538, 9540, 1, 0, 0, 0, 9539, 9502, 1, 0, 0, 0, 9539, 9505, + 1, 0, 0, 0, 9539, 9508, 1, 0, 0, 0, 9539, 9511, 1, 0, 0, 0, 9539, 9515, + 1, 0, 0, 0, 9539, 9518, 1, 0, 0, 0, 9539, 9521, 1, 0, 0, 0, 9539, 9523, + 1, 0, 0, 0, 9540, 9543, 1, 0, 0, 0, 9541, 9539, 1, 0, 0, 0, 9541, 9542, + 1, 0, 0, 0, 9542, 1215, 1, 0, 0, 0, 9543, 9541, 1, 0, 0, 0, 9544, 9545, + 5, 139, 0, 0, 9545, 9581, 3, 970, 485, 0, 9546, 9549, 5, 18, 0, 0, 9547, + 9550, 3, 970, 485, 0, 9548, 9550, 3, 1342, 671, 0, 9549, 9547, 1, 0, 0, + 0, 9549, 9548, 1, 0, 0, 0, 9550, 9581, 1, 0, 0, 0, 9551, 9552, 5, 522, + 0, 0, 9552, 9581, 3, 1380, 690, 0, 9553, 9554, 5, 169, 0, 0, 9554, 9555, + 5, 496, 0, 0, 9555, 9556, 3, 1334, 667, 0, 9556, 9557, 5, 497, 0, 0, 9557, + 9581, 1, 0, 0, 0, 9558, 9559, 5, 447, 0, 0, 9559, 9581, 3, 970, 485, 0, + 9560, 9581, 3, 1372, 686, 0, 9561, 9581, 3, 1404, 702, 0, 9562, 9581, 3, + 1218, 609, 0, 9563, 9564, 5, 496, 0, 0, 9564, 9565, 3, 1172, 586, 0, 9565, + 9566, 5, 497, 0, 0, 9566, 9567, 3, 1380, 690, 0, 9567, 9581, 1, 0, 0, 0, + 9568, 9581, 3, 1362, 681, 0, 9569, 9581, 3, 1222, 611, 0, 9570, 9572, 3, + 970, 485, 0, 9571, 9573, 3, 1378, 689, 0, 9572, 9571, 1, 0, 0, 0, 9572, + 9573, 1, 0, 0, 0, 9573, 9581, 1, 0, 0, 0, 9574, 9581, 3, 1318, 659, 0, + 9575, 9581, 3, 1320, 660, 0, 9576, 9577, 3, 1316, 658, 0, 9577, 9578, 5, + 303, 0, 0, 9578, 9579, 3, 1316, 658, 0, 9579, 9581, 1, 0, 0, 0, 9580, 9544, + 1, 0, 0, 0, 9580, 9546, 1, 0, 0, 0, 9580, 9551, 1, 0, 0, 0, 9580, 9553, + 1, 0, 0, 0, 9580, 9558, 1, 0, 0, 0, 9580, 9560, 1, 0, 0, 0, 9580, 9561, + 1, 0, 0, 0, 9580, 9562, 1, 0, 0, 0, 9580, 9563, 1, 0, 0, 0, 9580, 9568, + 1, 0, 0, 0, 9580, 9569, 1, 0, 0, 0, 9580, 9570, 1, 0, 0, 0, 9580, 9574, + 1, 0, 0, 0, 9580, 9575, 1, 0, 0, 0, 9580, 9576, 1, 0, 0, 0, 9581, 1217, + 1, 0, 0, 0, 9582, 9583, 5, 587, 0, 0, 9583, 1219, 1, 0, 0, 0, 9584, 9585, + 3, 1402, 701, 0, 9585, 9607, 5, 496, 0, 0, 9586, 9590, 3, 1336, 668, 0, + 9587, 9588, 5, 500, 0, 0, 9588, 9589, 5, 462, 0, 0, 9589, 9591, 3, 1338, + 669, 0, 9590, 9587, 1, 0, 0, 0, 9590, 9591, 1, 0, 0, 0, 9591, 9593, 1, + 0, 0, 0, 9592, 9594, 3, 1004, 502, 0, 9593, 9592, 1, 0, 0, 0, 9593, 9594, + 1, 0, 0, 0, 9594, 9608, 1, 0, 0, 0, 9595, 9596, 5, 462, 0, 0, 9596, 9598, + 3, 1338, 669, 0, 9597, 9599, 3, 1004, 502, 0, 9598, 9597, 1, 0, 0, 0, 9598, + 9599, 1, 0, 0, 0, 9599, 9608, 1, 0, 0, 0, 9600, 9601, 7, 43, 0, 0, 9601, + 9603, 3, 1336, 668, 0, 9602, 9604, 3, 1004, 502, 0, 9603, 9602, 1, 0, 0, + 0, 9603, 9604, 1, 0, 0, 0, 9604, 9608, 1, 0, 0, 0, 9605, 9608, 5, 503, + 0, 0, 9606, 9608, 1, 0, 0, 0, 9607, 9586, 1, 0, 0, 0, 9607, 9595, 1, 0, + 0, 0, 9607, 9600, 1, 0, 0, 0, 9607, 9605, 1, 0, 0, 0, 9607, 9606, 1, 0, + 0, 0, 9608, 9609, 1, 0, 0, 0, 9609, 9610, 5, 497, 0, 0, 9610, 1221, 1, + 0, 0, 0, 9611, 9613, 3, 1220, 610, 0, 9612, 9614, 3, 1290, 645, 0, 9613, + 9612, 1, 0, 0, 0, 9613, 9614, 1, 0, 0, 0, 9614, 9616, 1, 0, 0, 0, 9615, + 9617, 3, 1292, 646, 0, 9616, 9615, 1, 0, 0, 0, 9616, 9617, 1, 0, 0, 0, + 9617, 9619, 1, 0, 0, 0, 9618, 9620, 3, 1300, 650, 0, 9619, 9618, 1, 0, + 0, 0, 9619, 9620, 1, 0, 0, 0, 9620, 9630, 1, 0, 0, 0, 9621, 9623, 3, 1226, + 613, 0, 9622, 9624, 3, 1292, 646, 0, 9623, 9622, 1, 0, 0, 0, 9623, 9624, + 1, 0, 0, 0, 9624, 9626, 1, 0, 0, 0, 9625, 9627, 3, 1300, 650, 0, 9626, + 9625, 1, 0, 0, 0, 9626, 9627, 1, 0, 0, 0, 9627, 9630, 1, 0, 0, 0, 9628, + 9630, 3, 1232, 616, 0, 9629, 9611, 1, 0, 0, 0, 9629, 9621, 1, 0, 0, 0, + 9629, 9628, 1, 0, 0, 0, 9630, 1223, 1, 0, 0, 0, 9631, 9635, 3, 1220, 610, + 0, 9632, 9635, 3, 1232, 616, 0, 9633, 9635, 3, 1226, 613, 0, 9634, 9631, + 1, 0, 0, 0, 9634, 9632, 1, 0, 0, 0, 9634, 9633, 1, 0, 0, 0, 9635, 1225, + 1, 0, 0, 0, 9636, 9637, 5, 215, 0, 0, 9637, 9638, 5, 496, 0, 0, 9638, 9640, + 3, 1266, 633, 0, 9639, 9641, 3, 1262, 631, 0, 9640, 9639, 1, 0, 0, 0, 9640, + 9641, 1, 0, 0, 0, 9641, 9643, 1, 0, 0, 0, 9642, 9644, 3, 1258, 629, 0, + 9643, 9642, 1, 0, 0, 0, 9643, 9644, 1, 0, 0, 0, 9644, 9646, 1, 0, 0, 0, + 9645, 9647, 3, 1228, 614, 0, 9646, 9645, 1, 0, 0, 0, 9646, 9647, 1, 0, + 0, 0, 9647, 9648, 1, 0, 0, 0, 9648, 9649, 5, 497, 0, 0, 9649, 9665, 1, + 0, 0, 0, 9650, 9651, 5, 212, 0, 0, 9651, 9652, 5, 496, 0, 0, 9652, 9654, + 3, 1268, 634, 0, 9653, 9655, 3, 1230, 615, 0, 9654, 9653, 1, 0, 0, 0, 9654, + 9655, 1, 0, 0, 0, 9655, 9657, 1, 0, 0, 0, 9656, 9658, 3, 1260, 630, 0, + 9657, 9656, 1, 0, 0, 0, 9657, 9658, 1, 0, 0, 0, 9658, 9660, 1, 0, 0, 0, + 9659, 9661, 3, 1228, 614, 0, 9660, 9659, 1, 0, 0, 0, 9660, 9661, 1, 0, + 0, 0, 9661, 9662, 1, 0, 0, 0, 9662, 9663, 5, 497, 0, 0, 9663, 9665, 1, + 0, 0, 0, 9664, 9636, 1, 0, 0, 0, 9664, 9650, 1, 0, 0, 0, 9665, 1227, 1, + 0, 0, 0, 9666, 9667, 5, 357, 0, 0, 9667, 9669, 3, 1126, 563, 0, 9668, 9670, + 3, 1270, 635, 0, 9669, 9668, 1, 0, 0, 0, 9669, 9670, 1, 0, 0, 0, 9670, + 1229, 1, 0, 0, 0, 9671, 9672, 5, 297, 0, 0, 9672, 9673, 5, 40, 0, 0, 9673, + 9674, 3, 1008, 504, 0, 9674, 1231, 1, 0, 0, 0, 9675, 9676, 5, 60, 0, 0, + 9676, 9677, 5, 153, 0, 0, 9677, 9678, 5, 496, 0, 0, 9678, 9679, 3, 1172, + 586, 0, 9679, 9680, 5, 497, 0, 0, 9680, 9985, 1, 0, 0, 0, 9681, 9985, 5, + 86, 0, 0, 9682, 9687, 5, 89, 0, 0, 9683, 9684, 5, 496, 0, 0, 9684, 9685, + 3, 1412, 706, 0, 9685, 9686, 5, 497, 0, 0, 9686, 9688, 1, 0, 0, 0, 9687, + 9683, 1, 0, 0, 0, 9687, 9688, 1, 0, 0, 0, 9688, 9985, 1, 0, 0, 0, 9689, + 9694, 5, 90, 0, 0, 9690, 9691, 5, 496, 0, 0, 9691, 9692, 3, 1412, 706, + 0, 9692, 9693, 5, 497, 0, 0, 9693, 9695, 1, 0, 0, 0, 9694, 9690, 1, 0, + 0, 0, 9694, 9695, 1, 0, 0, 0, 9695, 9985, 1, 0, 0, 0, 9696, 9701, 5, 239, + 0, 0, 9697, 9698, 5, 496, 0, 0, 9698, 9699, 3, 1412, 706, 0, 9699, 9700, + 5, 497, 0, 0, 9700, 9702, 1, 0, 0, 0, 9701, 9697, 1, 0, 0, 0, 9701, 9702, + 1, 0, 0, 0, 9702, 9985, 1, 0, 0, 0, 9703, 9708, 5, 240, 0, 0, 9704, 9705, + 5, 496, 0, 0, 9705, 9706, 3, 1412, 706, 0, 9706, 9707, 5, 497, 0, 0, 9707, + 9709, 1, 0, 0, 0, 9708, 9704, 1, 0, 0, 0, 9708, 9709, 1, 0, 0, 0, 9709, + 9985, 1, 0, 0, 0, 9710, 9985, 5, 87, 0, 0, 9711, 9985, 5, 91, 0, 0, 9712, + 9985, 5, 383, 0, 0, 9713, 9985, 5, 453, 0, 0, 9714, 9985, 5, 85, 0, 0, + 9715, 9985, 5, 88, 0, 0, 9716, 9717, 5, 47, 0, 0, 9717, 9718, 5, 496, 0, + 0, 9718, 9719, 3, 1172, 586, 0, 9719, 9720, 5, 19, 0, 0, 9720, 9721, 3, + 1126, 563, 0, 9721, 9722, 5, 497, 0, 0, 9722, 9985, 1, 0, 0, 0, 9723, 9724, + 5, 144, 0, 0, 9724, 9726, 5, 496, 0, 0, 9725, 9727, 3, 1346, 673, 0, 9726, + 9725, 1, 0, 0, 0, 9726, 9727, 1, 0, 0, 0, 9727, 9728, 1, 0, 0, 0, 9728, + 9985, 5, 497, 0, 0, 9729, 9730, 5, 272, 0, 0, 9730, 9731, 5, 496, 0, 0, + 9731, 9734, 3, 1172, 586, 0, 9732, 9733, 5, 500, 0, 0, 9733, 9735, 3, 1350, + 675, 0, 9734, 9732, 1, 0, 0, 0, 9734, 9735, 1, 0, 0, 0, 9735, 9736, 1, + 0, 0, 0, 9736, 9737, 5, 497, 0, 0, 9737, 9985, 1, 0, 0, 0, 9738, 9739, + 5, 304, 0, 0, 9739, 9740, 5, 496, 0, 0, 9740, 9741, 3, 1352, 676, 0, 9741, + 9742, 5, 497, 0, 0, 9742, 9985, 1, 0, 0, 0, 9743, 9744, 5, 321, 0, 0, 9744, + 9746, 5, 496, 0, 0, 9745, 9747, 3, 1354, 677, 0, 9746, 9745, 1, 0, 0, 0, + 9746, 9747, 1, 0, 0, 0, 9747, 9748, 1, 0, 0, 0, 9748, 9985, 5, 497, 0, + 0, 9749, 9750, 5, 410, 0, 0, 9750, 9751, 5, 496, 0, 0, 9751, 9752, 3, 1356, + 678, 0, 9752, 9753, 5, 497, 0, 0, 9753, 9985, 1, 0, 0, 0, 9754, 9755, 5, + 433, 0, 0, 9755, 9756, 5, 496, 0, 0, 9756, 9757, 3, 1172, 586, 0, 9757, + 9758, 5, 19, 0, 0, 9758, 9759, 3, 1126, 563, 0, 9759, 9760, 5, 497, 0, + 0, 9760, 9985, 1, 0, 0, 0, 9761, 9762, 5, 435, 0, 0, 9762, 9764, 5, 496, + 0, 0, 9763, 9765, 7, 56, 0, 0, 9764, 9763, 1, 0, 0, 0, 9764, 9765, 1, 0, + 0, 0, 9765, 9766, 1, 0, 0, 0, 9766, 9767, 3, 1358, 679, 0, 9767, 9768, + 5, 497, 0, 0, 9768, 9985, 1, 0, 0, 0, 9769, 9770, 5, 280, 0, 0, 9770, 9771, + 5, 496, 0, 0, 9771, 9772, 3, 1172, 586, 0, 9772, 9773, 5, 500, 0, 0, 9773, + 9774, 3, 1172, 586, 0, 9774, 9775, 5, 497, 0, 0, 9775, 9985, 1, 0, 0, 0, + 9776, 9777, 5, 58, 0, 0, 9777, 9778, 5, 496, 0, 0, 9778, 9779, 3, 1334, + 667, 0, 9779, 9780, 5, 497, 0, 0, 9780, 9985, 1, 0, 0, 0, 9781, 9782, 5, + 167, 0, 0, 9782, 9783, 5, 496, 0, 0, 9783, 9784, 3, 1334, 667, 0, 9784, + 9785, 5, 497, 0, 0, 9785, 9985, 1, 0, 0, 0, 9786, 9787, 5, 231, 0, 0, 9787, + 9788, 5, 496, 0, 0, 9788, 9789, 3, 1334, 667, 0, 9789, 9790, 5, 497, 0, + 0, 9790, 9985, 1, 0, 0, 0, 9791, 9792, 5, 482, 0, 0, 9792, 9793, 5, 496, + 0, 0, 9793, 9794, 3, 1334, 667, 0, 9794, 9795, 5, 497, 0, 0, 9795, 9985, + 1, 0, 0, 0, 9796, 9797, 5, 483, 0, 0, 9797, 9798, 5, 496, 0, 0, 9798, 9799, + 5, 258, 0, 0, 9799, 9805, 3, 1436, 718, 0, 9800, 9803, 5, 500, 0, 0, 9801, + 9804, 3, 1276, 638, 0, 9802, 9804, 3, 1334, 667, 0, 9803, 9801, 1, 0, 0, + 0, 9803, 9802, 1, 0, 0, 0, 9804, 9806, 1, 0, 0, 0, 9805, 9800, 1, 0, 0, + 0, 9805, 9806, 1, 0, 0, 0, 9806, 9807, 1, 0, 0, 0, 9807, 9808, 5, 497, + 0, 0, 9808, 9985, 1, 0, 0, 0, 9809, 9810, 5, 484, 0, 0, 9810, 9811, 5, + 496, 0, 0, 9811, 9812, 3, 1216, 608, 0, 9812, 9813, 3, 1286, 643, 0, 9813, + 9814, 5, 497, 0, 0, 9814, 9985, 1, 0, 0, 0, 9815, 9816, 5, 485, 0, 0, 9816, + 9817, 5, 496, 0, 0, 9817, 9818, 3, 1278, 639, 0, 9818, 9819, 5, 497, 0, + 0, 9819, 9985, 1, 0, 0, 0, 9820, 9821, 5, 487, 0, 0, 9821, 9822, 5, 496, + 0, 0, 9822, 9823, 3, 1282, 641, 0, 9823, 9825, 3, 1172, 586, 0, 9824, 9826, + 3, 1284, 642, 0, 9825, 9824, 1, 0, 0, 0, 9825, 9826, 1, 0, 0, 0, 9826, + 9827, 1, 0, 0, 0, 9827, 9828, 5, 497, 0, 0, 9828, 9985, 1, 0, 0, 0, 9829, + 9830, 5, 488, 0, 0, 9830, 9831, 5, 496, 0, 0, 9831, 9832, 5, 258, 0, 0, + 9832, 9835, 3, 1436, 718, 0, 9833, 9834, 5, 500, 0, 0, 9834, 9836, 3, 1172, + 586, 0, 9835, 9833, 1, 0, 0, 0, 9835, 9836, 1, 0, 0, 0, 9836, 9837, 1, + 0, 0, 0, 9837, 9838, 5, 497, 0, 0, 9838, 9985, 1, 0, 0, 0, 9839, 9840, + 5, 489, 0, 0, 9840, 9841, 5, 496, 0, 0, 9841, 9842, 5, 480, 0, 0, 9842, + 9843, 3, 1172, 586, 0, 9843, 9844, 5, 500, 0, 0, 9844, 9846, 3, 1272, 636, + 0, 9845, 9847, 3, 1274, 637, 0, 9846, 9845, 1, 0, 0, 0, 9846, 9847, 1, + 0, 0, 0, 9847, 9848, 1, 0, 0, 0, 9848, 9849, 5, 497, 0, 0, 9849, 9985, + 1, 0, 0, 0, 9850, 9851, 5, 490, 0, 0, 9851, 9852, 5, 496, 0, 0, 9852, 9853, + 3, 1282, 641, 0, 9853, 9854, 3, 1172, 586, 0, 9854, 9855, 5, 19, 0, 0, + 9855, 9856, 3, 1130, 565, 0, 9856, 9857, 5, 497, 0, 0, 9857, 9985, 1, 0, + 0, 0, 9858, 9859, 5, 214, 0, 0, 9859, 9860, 5, 496, 0, 0, 9860, 9861, 3, + 1336, 668, 0, 9861, 9862, 5, 497, 0, 0, 9862, 9985, 1, 0, 0, 0, 9863, 9864, + 5, 214, 0, 0, 9864, 9865, 5, 496, 0, 0, 9865, 9867, 3, 1264, 632, 0, 9866, + 9868, 3, 1262, 631, 0, 9867, 9866, 1, 0, 0, 0, 9867, 9868, 1, 0, 0, 0, + 9868, 9870, 1, 0, 0, 0, 9869, 9871, 3, 1258, 629, 0, 9870, 9869, 1, 0, + 0, 0, 9870, 9871, 1, 0, 0, 0, 9871, 9873, 1, 0, 0, 0, 9872, 9874, 3, 1256, + 628, 0, 9873, 9872, 1, 0, 0, 0, 9873, 9874, 1, 0, 0, 0, 9874, 9875, 1, + 0, 0, 0, 9875, 9876, 5, 497, 0, 0, 9876, 9985, 1, 0, 0, 0, 9877, 9878, + 5, 214, 0, 0, 9878, 9880, 5, 496, 0, 0, 9879, 9881, 3, 1256, 628, 0, 9880, + 9879, 1, 0, 0, 0, 9880, 9881, 1, 0, 0, 0, 9881, 9882, 1, 0, 0, 0, 9882, + 9985, 5, 497, 0, 0, 9883, 9884, 5, 211, 0, 0, 9884, 9885, 5, 496, 0, 0, + 9885, 9887, 3, 1254, 627, 0, 9886, 9888, 3, 1260, 630, 0, 9887, 9886, 1, + 0, 0, 0, 9887, 9888, 1, 0, 0, 0, 9888, 9890, 1, 0, 0, 0, 9889, 9891, 3, + 1256, 628, 0, 9890, 9889, 1, 0, 0, 0, 9890, 9891, 1, 0, 0, 0, 9891, 9892, + 1, 0, 0, 0, 9892, 9893, 5, 497, 0, 0, 9893, 9985, 1, 0, 0, 0, 9894, 9895, + 5, 211, 0, 0, 9895, 9896, 5, 496, 0, 0, 9896, 9898, 3, 972, 486, 0, 9897, + 9899, 3, 1252, 626, 0, 9898, 9897, 1, 0, 0, 0, 9898, 9899, 1, 0, 0, 0, + 9899, 9901, 1, 0, 0, 0, 9900, 9902, 3, 1256, 628, 0, 9901, 9900, 1, 0, + 0, 0, 9901, 9902, 1, 0, 0, 0, 9902, 9903, 1, 0, 0, 0, 9903, 9904, 5, 497, + 0, 0, 9904, 9985, 1, 0, 0, 0, 9905, 9906, 5, 211, 0, 0, 9906, 9908, 5, + 496, 0, 0, 9907, 9909, 3, 1256, 628, 0, 9908, 9907, 1, 0, 0, 0, 9908, 9909, + 1, 0, 0, 0, 9909, 9910, 1, 0, 0, 0, 9910, 9985, 5, 497, 0, 0, 9911, 9912, + 5, 210, 0, 0, 9912, 9913, 5, 496, 0, 0, 9913, 9915, 3, 1268, 634, 0, 9914, + 9916, 3, 1258, 629, 0, 9915, 9914, 1, 0, 0, 0, 9915, 9916, 1, 0, 0, 0, + 9916, 9917, 1, 0, 0, 0, 9917, 9918, 5, 497, 0, 0, 9918, 9985, 1, 0, 0, + 0, 9919, 9920, 5, 217, 0, 0, 9920, 9921, 5, 496, 0, 0, 9921, 9922, 3, 1172, + 586, 0, 9922, 9923, 5, 497, 0, 0, 9923, 9985, 1, 0, 0, 0, 9924, 9925, 5, + 218, 0, 0, 9925, 9926, 5, 496, 0, 0, 9926, 9928, 3, 1268, 634, 0, 9927, + 9929, 3, 1256, 628, 0, 9928, 9927, 1, 0, 0, 0, 9928, 9929, 1, 0, 0, 0, + 9929, 9930, 1, 0, 0, 0, 9930, 9931, 5, 497, 0, 0, 9931, 9985, 1, 0, 0, + 0, 9932, 9933, 5, 251, 0, 0, 9933, 9934, 5, 496, 0, 0, 9934, 9985, 5, 497, + 0, 0, 9935, 9936, 5, 216, 0, 0, 9936, 9937, 5, 496, 0, 0, 9937, 9938, 3, + 1268, 634, 0, 9938, 9939, 5, 500, 0, 0, 9939, 9941, 3, 1172, 586, 0, 9940, + 9942, 3, 1246, 623, 0, 9941, 9940, 1, 0, 0, 0, 9941, 9942, 1, 0, 0, 0, + 9942, 9944, 1, 0, 0, 0, 9943, 9945, 3, 1256, 628, 0, 9944, 9943, 1, 0, + 0, 0, 9944, 9945, 1, 0, 0, 0, 9945, 9946, 1, 0, 0, 0, 9946, 9948, 3, 1244, + 622, 0, 9947, 9949, 3, 1242, 621, 0, 9948, 9947, 1, 0, 0, 0, 9948, 9949, + 1, 0, 0, 0, 9949, 9951, 1, 0, 0, 0, 9950, 9952, 3, 1236, 618, 0, 9951, + 9950, 1, 0, 0, 0, 9951, 9952, 1, 0, 0, 0, 9952, 9953, 1, 0, 0, 0, 9953, + 9954, 5, 497, 0, 0, 9954, 9985, 1, 0, 0, 0, 9955, 9956, 5, 213, 0, 0, 9956, + 9957, 5, 496, 0, 0, 9957, 9958, 3, 1268, 634, 0, 9958, 9959, 5, 500, 0, + 0, 9959, 9961, 3, 1172, 586, 0, 9960, 9962, 3, 1246, 623, 0, 9961, 9960, + 1, 0, 0, 0, 9961, 9962, 1, 0, 0, 0, 9962, 9964, 1, 0, 0, 0, 9963, 9965, + 3, 1234, 617, 0, 9964, 9963, 1, 0, 0, 0, 9964, 9965, 1, 0, 0, 0, 9965, + 9966, 1, 0, 0, 0, 9966, 9967, 5, 497, 0, 0, 9967, 9985, 1, 0, 0, 0, 9968, + 9969, 5, 220, 0, 0, 9969, 9970, 5, 496, 0, 0, 9970, 9971, 3, 1268, 634, + 0, 9971, 9972, 5, 500, 0, 0, 9972, 9974, 3, 1172, 586, 0, 9973, 9975, 3, + 1246, 623, 0, 9974, 9973, 1, 0, 0, 0, 9974, 9975, 1, 0, 0, 0, 9975, 9977, + 1, 0, 0, 0, 9976, 9978, 3, 1256, 628, 0, 9977, 9976, 1, 0, 0, 0, 9977, + 9978, 1, 0, 0, 0, 9978, 9980, 1, 0, 0, 0, 9979, 9981, 3, 1236, 618, 0, + 9980, 9979, 1, 0, 0, 0, 9980, 9981, 1, 0, 0, 0, 9981, 9982, 1, 0, 0, 0, + 9982, 9983, 5, 497, 0, 0, 9983, 9985, 1, 0, 0, 0, 9984, 9675, 1, 0, 0, + 0, 9984, 9681, 1, 0, 0, 0, 9984, 9682, 1, 0, 0, 0, 9984, 9689, 1, 0, 0, + 0, 9984, 9696, 1, 0, 0, 0, 9984, 9703, 1, 0, 0, 0, 9984, 9710, 1, 0, 0, + 0, 9984, 9711, 1, 0, 0, 0, 9984, 9712, 1, 0, 0, 0, 9984, 9713, 1, 0, 0, + 0, 9984, 9714, 1, 0, 0, 0, 9984, 9715, 1, 0, 0, 0, 9984, 9716, 1, 0, 0, + 0, 9984, 9723, 1, 0, 0, 0, 9984, 9729, 1, 0, 0, 0, 9984, 9738, 1, 0, 0, + 0, 9984, 9743, 1, 0, 0, 0, 9984, 9749, 1, 0, 0, 0, 9984, 9754, 1, 0, 0, + 0, 9984, 9761, 1, 0, 0, 0, 9984, 9769, 1, 0, 0, 0, 9984, 9776, 1, 0, 0, + 0, 9984, 9781, 1, 0, 0, 0, 9984, 9786, 1, 0, 0, 0, 9984, 9791, 1, 0, 0, + 0, 9984, 9796, 1, 0, 0, 0, 9984, 9809, 1, 0, 0, 0, 9984, 9815, 1, 0, 0, + 0, 9984, 9820, 1, 0, 0, 0, 9984, 9829, 1, 0, 0, 0, 9984, 9839, 1, 0, 0, + 0, 9984, 9850, 1, 0, 0, 0, 9984, 9858, 1, 0, 0, 0, 9984, 9863, 1, 0, 0, + 0, 9984, 9877, 1, 0, 0, 0, 9984, 9883, 1, 0, 0, 0, 9984, 9894, 1, 0, 0, + 0, 9984, 9905, 1, 0, 0, 0, 9984, 9911, 1, 0, 0, 0, 9984, 9919, 1, 0, 0, + 0, 9984, 9924, 1, 0, 0, 0, 9984, 9932, 1, 0, 0, 0, 9984, 9935, 1, 0, 0, + 0, 9984, 9955, 1, 0, 0, 0, 9984, 9968, 1, 0, 0, 0, 9985, 1233, 1, 0, 0, + 0, 9986, 9987, 3, 1238, 619, 0, 9987, 9988, 5, 291, 0, 0, 9988, 9989, 5, + 131, 0, 0, 9989, 1235, 1, 0, 0, 0, 9990, 9991, 3, 1238, 619, 0, 9991, 9992, + 5, 291, 0, 0, 9992, 9993, 5, 124, 0, 0, 9993, 10006, 1, 0, 0, 0, 9994, + 9995, 3, 1238, 619, 0, 9995, 9996, 5, 291, 0, 0, 9996, 9997, 5, 131, 0, + 0, 9997, 10006, 1, 0, 0, 0, 9998, 9999, 3, 1238, 619, 0, 9999, 10000, 5, + 291, 0, 0, 10000, 10001, 5, 124, 0, 0, 10001, 10002, 3, 1238, 619, 0, 10002, + 10003, 5, 291, 0, 0, 10003, 10004, 5, 131, 0, 0, 10004, 10006, 1, 0, 0, + 0, 10005, 9990, 1, 0, 0, 0, 10005, 9994, 1, 0, 0, 0, 10005, 9998, 1, 0, + 0, 0, 10006, 1237, 1, 0, 0, 0, 10007, 10008, 5, 101, 0, 0, 10008, 10011, + 3, 1172, 586, 0, 10009, 10011, 3, 1240, 620, 0, 10010, 10007, 1, 0, 0, + 0, 10010, 10009, 1, 0, 0, 0, 10011, 1239, 1, 0, 0, 0, 10012, 10023, 5, + 131, 0, 0, 10013, 10023, 5, 279, 0, 0, 10014, 10023, 5, 436, 0, 0, 10015, + 10023, 5, 145, 0, 0, 10016, 10023, 5, 448, 0, 0, 10017, 10018, 5, 124, + 0, 0, 10018, 10023, 5, 18, 0, 0, 10019, 10020, 5, 124, 0, 0, 10020, 10023, + 5, 283, 0, 0, 10021, 10023, 5, 124, 0, 0, 10022, 10012, 1, 0, 0, 0, 10022, + 10013, 1, 0, 0, 0, 10022, 10014, 1, 0, 0, 0, 10022, 10015, 1, 0, 0, 0, + 10022, 10016, 1, 0, 0, 0, 10022, 10017, 1, 0, 0, 0, 10022, 10019, 1, 0, + 0, 0, 10022, 10021, 1, 0, 0, 0, 10023, 1241, 1, 0, 0, 0, 10024, 10025, + 7, 57, 0, 0, 10025, 10026, 5, 336, 0, 0, 10026, 10027, 5, 291, 0, 0, 10027, + 10028, 5, 370, 0, 0, 10028, 10029, 5, 407, 0, 0, 10029, 1243, 1, 0, 0, + 0, 10030, 10032, 5, 476, 0, 0, 10031, 10033, 5, 18, 0, 0, 10032, 10031, + 1, 0, 0, 0, 10032, 10033, 1, 0, 0, 0, 10033, 10034, 1, 0, 0, 0, 10034, + 10044, 5, 478, 0, 0, 10035, 10037, 5, 474, 0, 0, 10036, 10038, 7, 58, 0, + 0, 10037, 10036, 1, 0, 0, 0, 10037, 10038, 1, 0, 0, 0, 10038, 10040, 1, + 0, 0, 0, 10039, 10041, 5, 18, 0, 0, 10040, 10039, 1, 0, 0, 0, 10040, 10041, + 1, 0, 0, 0, 10041, 10042, 1, 0, 0, 0, 10042, 10044, 5, 478, 0, 0, 10043, + 10030, 1, 0, 0, 0, 10043, 10035, 1, 0, 0, 0, 10044, 1245, 1, 0, 0, 0, 10045, + 10046, 5, 313, 0, 0, 10046, 10047, 3, 1248, 624, 0, 10047, 1247, 1, 0, + 0, 0, 10048, 10053, 3, 1250, 625, 0, 10049, 10050, 5, 500, 0, 0, 10050, + 10052, 3, 1250, 625, 0, 10051, 10049, 1, 0, 0, 0, 10052, 10055, 1, 0, 0, + 0, 10053, 10051, 1, 0, 0, 0, 10053, 10054, 1, 0, 0, 0, 10054, 1249, 1, + 0, 0, 0, 10055, 10053, 1, 0, 0, 0, 10056, 10057, 3, 1268, 634, 0, 10057, + 10058, 5, 19, 0, 0, 10058, 10059, 3, 1436, 718, 0, 10059, 1251, 1, 0, 0, + 0, 10060, 10061, 5, 156, 0, 0, 10061, 10062, 5, 210, 0, 0, 10062, 10063, + 5, 126, 0, 0, 10063, 10067, 3, 1396, 698, 0, 10064, 10065, 5, 156, 0, 0, + 10065, 10067, 5, 210, 0, 0, 10066, 10060, 1, 0, 0, 0, 10066, 10064, 1, + 0, 0, 0, 10067, 1253, 1, 0, 0, 0, 10068, 10073, 3, 1268, 634, 0, 10069, + 10070, 5, 500, 0, 0, 10070, 10072, 3, 1268, 634, 0, 10071, 10069, 1, 0, + 0, 0, 10072, 10075, 1, 0, 0, 0, 10073, 10071, 1, 0, 0, 0, 10073, 10074, + 1, 0, 0, 0, 10074, 1255, 1, 0, 0, 0, 10075, 10073, 1, 0, 0, 0, 10076, 10077, + 5, 357, 0, 0, 10077, 10079, 3, 1126, 563, 0, 10078, 10080, 3, 1270, 635, + 0, 10079, 10078, 1, 0, 0, 0, 10079, 10080, 1, 0, 0, 0, 10080, 1257, 1, + 0, 0, 0, 10081, 10082, 5, 474, 0, 0, 10082, 10084, 5, 447, 0, 0, 10083, + 10085, 5, 223, 0, 0, 10084, 10083, 1, 0, 0, 0, 10084, 10085, 1, 0, 0, 0, + 10085, 10092, 1, 0, 0, 0, 10086, 10087, 5, 476, 0, 0, 10087, 10089, 5, + 447, 0, 0, 10088, 10090, 5, 223, 0, 0, 10089, 10088, 1, 0, 0, 0, 10089, + 10090, 1, 0, 0, 0, 10090, 10092, 1, 0, 0, 0, 10091, 10081, 1, 0, 0, 0, + 10091, 10086, 1, 0, 0, 0, 10092, 1259, 1, 0, 0, 0, 10093, 10094, 5, 279, + 0, 0, 10094, 10095, 5, 291, 0, 0, 10095, 10100, 5, 279, 0, 0, 10096, 10097, + 5, 2, 0, 0, 10097, 10098, 5, 291, 0, 0, 10098, 10100, 5, 279, 0, 0, 10099, + 10093, 1, 0, 0, 0, 10099, 10096, 1, 0, 0, 0, 10100, 1261, 1, 0, 0, 0, 10101, + 10102, 5, 279, 0, 0, 10102, 10103, 5, 291, 0, 0, 10103, 10108, 5, 279, + 0, 0, 10104, 10105, 5, 2, 0, 0, 10105, 10106, 5, 291, 0, 0, 10106, 10108, + 5, 279, 0, 0, 10107, 10101, 1, 0, 0, 0, 10107, 10104, 1, 0, 0, 0, 10108, + 1263, 1, 0, 0, 0, 10109, 10114, 3, 1266, 633, 0, 10110, 10111, 5, 500, + 0, 0, 10111, 10113, 3, 1266, 633, 0, 10112, 10110, 1, 0, 0, 0, 10113, 10116, + 1, 0, 0, 0, 10114, 10112, 1, 0, 0, 0, 10114, 10115, 1, 0, 0, 0, 10115, + 1265, 1, 0, 0, 0, 10116, 10114, 1, 0, 0, 0, 10117, 10118, 3, 1216, 608, + 0, 10118, 10119, 5, 459, 0, 0, 10119, 10120, 3, 1268, 634, 0, 10120, 10126, + 1, 0, 0, 0, 10121, 10122, 3, 1172, 586, 0, 10122, 10123, 5, 502, 0, 0, + 10123, 10124, 3, 1268, 634, 0, 10124, 10126, 1, 0, 0, 0, 10125, 10117, + 1, 0, 0, 0, 10125, 10121, 1, 0, 0, 0, 10126, 1267, 1, 0, 0, 0, 10127, 10129, + 3, 1172, 586, 0, 10128, 10130, 3, 1270, 635, 0, 10129, 10128, 1, 0, 0, + 0, 10129, 10130, 1, 0, 0, 0, 10130, 1269, 1, 0, 0, 0, 10131, 10132, 5, + 156, 0, 0, 10132, 10133, 5, 210, 0, 0, 10133, 10134, 5, 126, 0, 0, 10134, + 10138, 3, 1396, 698, 0, 10135, 10136, 5, 156, 0, 0, 10136, 10138, 5, 210, + 0, 0, 10137, 10131, 1, 0, 0, 0, 10137, 10135, 1, 0, 0, 0, 10138, 1271, + 1, 0, 0, 0, 10139, 10140, 5, 465, 0, 0, 10140, 10145, 3, 1172, 586, 0, + 10141, 10142, 5, 465, 0, 0, 10142, 10143, 5, 270, 0, 0, 10143, 10145, 5, + 459, 0, 0, 10144, 10139, 1, 0, 0, 0, 10144, 10141, 1, 0, 0, 0, 10145, 1273, + 1, 0, 0, 0, 10146, 10147, 5, 500, 0, 0, 10147, 10148, 5, 398, 0, 0, 10148, + 10157, 5, 493, 0, 0, 10149, 10150, 5, 500, 0, 0, 10150, 10151, 5, 398, + 0, 0, 10151, 10157, 5, 270, 0, 0, 10152, 10153, 5, 500, 0, 0, 10153, 10154, + 5, 398, 0, 0, 10154, 10155, 5, 270, 0, 0, 10155, 10157, 5, 459, 0, 0, 10156, + 10146, 1, 0, 0, 0, 10156, 10149, 1, 0, 0, 0, 10156, 10152, 1, 0, 0, 0, + 10157, 1275, 1, 0, 0, 0, 10158, 10159, 5, 481, 0, 0, 10159, 10160, 5, 496, + 0, 0, 10160, 10161, 3, 1278, 639, 0, 10161, 10162, 5, 497, 0, 0, 10162, + 1277, 1, 0, 0, 0, 10163, 10168, 3, 1280, 640, 0, 10164, 10165, 5, 500, + 0, 0, 10165, 10167, 3, 1280, 640, 0, 10166, 10164, 1, 0, 0, 0, 10167, 10170, + 1, 0, 0, 0, 10168, 10166, 1, 0, 0, 0, 10168, 10169, 1, 0, 0, 0, 10169, + 1279, 1, 0, 0, 0, 10170, 10168, 1, 0, 0, 0, 10171, 10174, 3, 1172, 586, + 0, 10172, 10173, 5, 19, 0, 0, 10173, 10175, 3, 1436, 718, 0, 10174, 10172, + 1, 0, 0, 0, 10174, 10175, 1, 0, 0, 0, 10175, 1281, 1, 0, 0, 0, 10176, 10177, + 7, 59, 0, 0, 10177, 1283, 1, 0, 0, 0, 10178, 10179, 5, 326, 0, 0, 10179, + 10183, 5, 472, 0, 0, 10180, 10181, 5, 408, 0, 0, 10181, 10183, 5, 472, + 0, 0, 10182, 10178, 1, 0, 0, 0, 10182, 10180, 1, 0, 0, 0, 10183, 1285, + 1, 0, 0, 0, 10184, 10185, 5, 313, 0, 0, 10185, 10200, 3, 1216, 608, 0, + 10186, 10187, 5, 313, 0, 0, 10187, 10188, 3, 1216, 608, 0, 10188, 10189, + 3, 1288, 644, 0, 10189, 10200, 1, 0, 0, 0, 10190, 10191, 5, 313, 0, 0, + 10191, 10192, 3, 1288, 644, 0, 10192, 10193, 3, 1216, 608, 0, 10193, 10200, + 1, 0, 0, 0, 10194, 10195, 5, 313, 0, 0, 10195, 10196, 3, 1288, 644, 0, + 10196, 10197, 3, 1216, 608, 0, 10197, 10198, 3, 1288, 644, 0, 10198, 10200, + 1, 0, 0, 0, 10199, 10184, 1, 0, 0, 0, 10199, 10186, 1, 0, 0, 0, 10199, + 10190, 1, 0, 0, 0, 10199, 10194, 1, 0, 0, 0, 10200, 1287, 1, 0, 0, 0, 10201, + 10202, 5, 40, 0, 0, 10202, 10203, 7, 60, 0, 0, 10203, 1289, 1, 0, 0, 0, + 10204, 10205, 5, 475, 0, 0, 10205, 10206, 5, 168, 0, 0, 10206, 10207, 5, + 496, 0, 0, 10207, 10208, 3, 1006, 503, 0, 10208, 10209, 5, 497, 0, 0, 10209, + 1291, 1, 0, 0, 0, 10210, 10211, 5, 148, 0, 0, 10211, 10212, 5, 496, 0, + 0, 10212, 10213, 5, 471, 0, 0, 10213, 10214, 3, 1172, 586, 0, 10214, 10215, + 5, 497, 0, 0, 10215, 1293, 1, 0, 0, 0, 10216, 10217, 5, 473, 0, 0, 10217, + 10218, 3, 1296, 648, 0, 10218, 1295, 1, 0, 0, 0, 10219, 10224, 3, 1298, + 649, 0, 10220, 10221, 5, 500, 0, 0, 10221, 10223, 3, 1298, 649, 0, 10222, + 10220, 1, 0, 0, 0, 10223, 10226, 1, 0, 0, 0, 10224, 10222, 1, 0, 0, 0, + 10224, 10225, 1, 0, 0, 0, 10225, 1297, 1, 0, 0, 0, 10226, 10224, 1, 0, + 0, 0, 10227, 10228, 3, 1428, 714, 0, 10228, 10229, 5, 19, 0, 0, 10229, + 10230, 3, 1302, 651, 0, 10230, 1299, 1, 0, 0, 0, 10231, 10234, 5, 302, + 0, 0, 10232, 10235, 3, 1302, 651, 0, 10233, 10235, 3, 1428, 714, 0, 10234, + 10232, 1, 0, 0, 0, 10234, 10233, 1, 0, 0, 0, 10235, 1301, 1, 0, 0, 0, 10236, + 10238, 5, 496, 0, 0, 10237, 10239, 3, 1304, 652, 0, 10238, 10237, 1, 0, + 0, 0, 10238, 10239, 1, 0, 0, 0, 10239, 10241, 1, 0, 0, 0, 10240, 10242, + 3, 1306, 653, 0, 10241, 10240, 1, 0, 0, 0, 10241, 10242, 1, 0, 0, 0, 10242, + 10244, 1, 0, 0, 0, 10243, 10245, 3, 1004, 502, 0, 10244, 10243, 1, 0, 0, + 0, 10244, 10245, 1, 0, 0, 0, 10245, 10247, 1, 0, 0, 0, 10246, 10248, 3, + 1308, 654, 0, 10247, 10246, 1, 0, 0, 0, 10247, 10248, 1, 0, 0, 0, 10248, + 10249, 1, 0, 0, 0, 10249, 10250, 5, 497, 0, 0, 10250, 1303, 1, 0, 0, 0, + 10251, 10252, 3, 1428, 714, 0, 10252, 1305, 1, 0, 0, 0, 10253, 10254, 5, + 312, 0, 0, 10254, 10255, 5, 40, 0, 0, 10255, 10256, 3, 1334, 667, 0, 10256, + 1307, 1, 0, 0, 0, 10257, 10258, 5, 337, 0, 0, 10258, 10260, 3, 1310, 655, + 0, 10259, 10261, 3, 1314, 657, 0, 10260, 10259, 1, 0, 0, 0, 10260, 10261, + 1, 0, 0, 0, 10261, 10273, 1, 0, 0, 0, 10262, 10263, 5, 367, 0, 0, 10263, + 10265, 3, 1310, 655, 0, 10264, 10266, 3, 1314, 657, 0, 10265, 10264, 1, + 0, 0, 0, 10265, 10266, 1, 0, 0, 0, 10266, 10273, 1, 0, 0, 0, 10267, 10268, + 5, 170, 0, 0, 10268, 10270, 3, 1310, 655, 0, 10269, 10271, 3, 1314, 657, + 0, 10270, 10269, 1, 0, 0, 0, 10270, 10271, 1, 0, 0, 0, 10271, 10273, 1, + 0, 0, 0, 10272, 10257, 1, 0, 0, 0, 10272, 10262, 1, 0, 0, 0, 10272, 10267, + 1, 0, 0, 0, 10273, 1309, 1, 0, 0, 0, 10274, 10281, 3, 1312, 656, 0, 10275, + 10276, 5, 33, 0, 0, 10276, 10277, 3, 1312, 656, 0, 10277, 10278, 5, 16, + 0, 0, 10278, 10279, 3, 1312, 656, 0, 10279, 10281, 1, 0, 0, 0, 10280, 10274, + 1, 0, 0, 0, 10280, 10275, 1, 0, 0, 0, 10281, 1311, 1, 0, 0, 0, 10282, 10283, + 5, 442, 0, 0, 10283, 10290, 7, 61, 0, 0, 10284, 10285, 5, 84, 0, 0, 10285, + 10290, 5, 366, 0, 0, 10286, 10287, 3, 1172, 586, 0, 10287, 10288, 7, 61, + 0, 0, 10288, 10290, 1, 0, 0, 0, 10289, 10282, 1, 0, 0, 0, 10289, 10284, + 1, 0, 0, 0, 10289, 10286, 1, 0, 0, 0, 10290, 1313, 1, 0, 0, 0, 10291, 10298, + 5, 135, 0, 0, 10292, 10293, 5, 84, 0, 0, 10293, 10299, 5, 366, 0, 0, 10294, + 10299, 5, 168, 0, 0, 10295, 10299, 5, 426, 0, 0, 10296, 10297, 5, 270, + 0, 0, 10297, 10299, 5, 299, 0, 0, 10298, 10292, 1, 0, 0, 0, 10298, 10294, + 1, 0, 0, 0, 10298, 10295, 1, 0, 0, 0, 10298, 10296, 1, 0, 0, 0, 10299, + 1315, 1, 0, 0, 0, 10300, 10301, 5, 366, 0, 0, 10301, 10303, 5, 496, 0, + 0, 10302, 10304, 3, 1334, 667, 0, 10303, 10302, 1, 0, 0, 0, 10303, 10304, + 1, 0, 0, 0, 10304, 10305, 1, 0, 0, 0, 10305, 10313, 5, 497, 0, 0, 10306, + 10307, 5, 496, 0, 0, 10307, 10308, 3, 1334, 667, 0, 10308, 10309, 5, 500, + 0, 0, 10309, 10310, 3, 1172, 586, 0, 10310, 10311, 5, 497, 0, 0, 10311, + 10313, 1, 0, 0, 0, 10312, 10300, 1, 0, 0, 0, 10312, 10306, 1, 0, 0, 0, + 10313, 1317, 1, 0, 0, 0, 10314, 10315, 5, 366, 0, 0, 10315, 10317, 5, 496, + 0, 0, 10316, 10318, 3, 1334, 667, 0, 10317, 10316, 1, 0, 0, 0, 10317, 10318, + 1, 0, 0, 0, 10318, 10319, 1, 0, 0, 0, 10319, 10320, 5, 497, 0, 0, 10320, + 1319, 1, 0, 0, 0, 10321, 10322, 5, 496, 0, 0, 10322, 10323, 3, 1334, 667, + 0, 10323, 10324, 5, 500, 0, 0, 10324, 10325, 3, 1172, 586, 0, 10325, 10326, + 5, 497, 0, 0, 10326, 1321, 1, 0, 0, 0, 10327, 10328, 7, 62, 0, 0, 10328, + 1323, 1, 0, 0, 0, 10329, 10332, 5, 523, 0, 0, 10330, 10332, 3, 1326, 663, + 0, 10331, 10329, 1, 0, 0, 0, 10331, 10330, 1, 0, 0, 0, 10332, 1325, 1, + 0, 0, 0, 10333, 10334, 7, 63, 0, 0, 10334, 1327, 1, 0, 0, 0, 10335, 10342, + 5, 523, 0, 0, 10336, 10337, 5, 293, 0, 0, 10337, 10338, 5, 496, 0, 0, 10338, + 10339, 3, 690, 345, 0, 10339, 10340, 5, 497, 0, 0, 10340, 10342, 1, 0, + 0, 0, 10341, 10335, 1, 0, 0, 0, 10341, 10336, 1, 0, 0, 0, 10342, 1329, + 1, 0, 0, 0, 10343, 10350, 3, 1324, 662, 0, 10344, 10345, 5, 293, 0, 0, + 10345, 10346, 5, 496, 0, 0, 10346, 10347, 3, 690, 345, 0, 10347, 10348, + 5, 497, 0, 0, 10348, 10350, 1, 0, 0, 0, 10349, 10343, 1, 0, 0, 0, 10349, + 10344, 1, 0, 0, 0, 10350, 1331, 1, 0, 0, 0, 10351, 10364, 3, 1324, 662, + 0, 10352, 10353, 5, 293, 0, 0, 10353, 10354, 5, 496, 0, 0, 10354, 10355, + 3, 690, 345, 0, 10355, 10356, 5, 497, 0, 0, 10356, 10364, 1, 0, 0, 0, 10357, + 10364, 5, 234, 0, 0, 10358, 10359, 5, 274, 0, 0, 10359, 10364, 5, 234, + 0, 0, 10360, 10364, 5, 178, 0, 0, 10361, 10362, 5, 274, 0, 0, 10362, 10364, + 5, 178, 0, 0, 10363, 10351, 1, 0, 0, 0, 10363, 10352, 1, 0, 0, 0, 10363, + 10357, 1, 0, 0, 0, 10363, 10358, 1, 0, 0, 0, 10363, 10360, 1, 0, 0, 0, + 10363, 10361, 1, 0, 0, 0, 10364, 1333, 1, 0, 0, 0, 10365, 10370, 3, 1172, + 586, 0, 10366, 10367, 5, 500, 0, 0, 10367, 10369, 3, 1172, 586, 0, 10368, + 10366, 1, 0, 0, 0, 10369, 10372, 1, 0, 0, 0, 10370, 10368, 1, 0, 0, 0, + 10370, 10371, 1, 0, 0, 0, 10371, 1335, 1, 0, 0, 0, 10372, 10370, 1, 0, + 0, 0, 10373, 10378, 3, 1338, 669, 0, 10374, 10375, 5, 500, 0, 0, 10375, + 10377, 3, 1338, 669, 0, 10376, 10374, 1, 0, 0, 0, 10377, 10380, 1, 0, 0, + 0, 10378, 10376, 1, 0, 0, 0, 10378, 10379, 1, 0, 0, 0, 10379, 1337, 1, + 0, 0, 0, 10380, 10378, 1, 0, 0, 0, 10381, 10387, 3, 1172, 586, 0, 10382, + 10383, 3, 642, 321, 0, 10383, 10384, 7, 64, 0, 0, 10384, 10385, 3, 1172, + 586, 0, 10385, 10387, 1, 0, 0, 0, 10386, 10381, 1, 0, 0, 0, 10386, 10382, + 1, 0, 0, 0, 10387, 1339, 1, 0, 0, 0, 10388, 10393, 3, 1126, 563, 0, 10389, + 10390, 5, 500, 0, 0, 10390, 10392, 3, 1126, 563, 0, 10391, 10389, 1, 0, + 0, 0, 10392, 10395, 1, 0, 0, 0, 10393, 10391, 1, 0, 0, 0, 10393, 10394, + 1, 0, 0, 0, 10394, 1341, 1, 0, 0, 0, 10395, 10393, 1, 0, 0, 0, 10396, 10399, + 5, 498, 0, 0, 10397, 10400, 3, 1334, 667, 0, 10398, 10400, 3, 1344, 672, + 0, 10399, 10397, 1, 0, 0, 0, 10399, 10398, 1, 0, 0, 0, 10399, 10400, 1, + 0, 0, 0, 10400, 10401, 1, 0, 0, 0, 10401, 10402, 5, 499, 0, 0, 10402, 1343, + 1, 0, 0, 0, 10403, 10408, 3, 1342, 671, 0, 10404, 10405, 5, 500, 0, 0, + 10405, 10407, 3, 1342, 671, 0, 10406, 10404, 1, 0, 0, 0, 10407, 10410, + 1, 0, 0, 0, 10408, 10406, 1, 0, 0, 0, 10408, 10409, 1, 0, 0, 0, 10409, + 1345, 1, 0, 0, 0, 10410, 10408, 1, 0, 0, 0, 10411, 10412, 3, 1348, 674, + 0, 10412, 10413, 5, 159, 0, 0, 10413, 10414, 3, 1172, 586, 0, 10414, 1347, + 1, 0, 0, 0, 10415, 10424, 3, 1438, 719, 0, 10416, 10424, 5, 492, 0, 0, + 10417, 10424, 5, 256, 0, 0, 10418, 10424, 5, 96, 0, 0, 10419, 10424, 5, + 175, 0, 0, 10420, 10424, 5, 253, 0, 0, 10421, 10424, 5, 375, 0, 0, 10422, + 10424, 3, 1414, 707, 0, 10423, 10415, 1, 0, 0, 0, 10423, 10416, 1, 0, 0, + 0, 10423, 10417, 1, 0, 0, 0, 10423, 10418, 1, 0, 0, 0, 10423, 10419, 1, + 0, 0, 0, 10423, 10420, 1, 0, 0, 0, 10423, 10421, 1, 0, 0, 0, 10423, 10422, + 1, 0, 0, 0, 10424, 1349, 1, 0, 0, 0, 10425, 10426, 7, 65, 0, 0, 10426, + 1351, 1, 0, 0, 0, 10427, 10428, 3, 1172, 586, 0, 10428, 10429, 5, 317, + 0, 0, 10429, 10430, 3, 1172, 586, 0, 10430, 10431, 5, 159, 0, 0, 10431, + 10434, 3, 1172, 586, 0, 10432, 10433, 5, 153, 0, 0, 10433, 10435, 3, 1172, + 586, 0, 10434, 10432, 1, 0, 0, 0, 10434, 10435, 1, 0, 0, 0, 10435, 1353, + 1, 0, 0, 0, 10436, 10437, 3, 1214, 607, 0, 10437, 10438, 5, 183, 0, 0, + 10438, 10439, 3, 1214, 607, 0, 10439, 1355, 1, 0, 0, 0, 10440, 10441, 3, + 1172, 586, 0, 10441, 10442, 5, 159, 0, 0, 10442, 10443, 3, 1172, 586, 0, + 10443, 10444, 5, 153, 0, 0, 10444, 10445, 3, 1172, 586, 0, 10445, 10468, + 1, 0, 0, 0, 10446, 10447, 3, 1172, 586, 0, 10447, 10448, 5, 153, 0, 0, + 10448, 10449, 3, 1172, 586, 0, 10449, 10450, 5, 159, 0, 0, 10450, 10451, + 3, 1172, 586, 0, 10451, 10468, 1, 0, 0, 0, 10452, 10453, 3, 1172, 586, + 0, 10453, 10454, 5, 159, 0, 0, 10454, 10455, 3, 1172, 586, 0, 10455, 10468, + 1, 0, 0, 0, 10456, 10457, 3, 1172, 586, 0, 10457, 10458, 5, 153, 0, 0, + 10458, 10459, 3, 1172, 586, 0, 10459, 10468, 1, 0, 0, 0, 10460, 10461, + 3, 1172, 586, 0, 10461, 10462, 5, 389, 0, 0, 10462, 10463, 3, 1172, 586, + 0, 10463, 10464, 5, 132, 0, 0, 10464, 10465, 3, 1172, 586, 0, 10465, 10468, + 1, 0, 0, 0, 10466, 10468, 3, 1334, 667, 0, 10467, 10440, 1, 0, 0, 0, 10467, + 10446, 1, 0, 0, 0, 10467, 10452, 1, 0, 0, 0, 10467, 10456, 1, 0, 0, 0, + 10467, 10460, 1, 0, 0, 0, 10467, 10466, 1, 0, 0, 0, 10468, 1357, 1, 0, + 0, 0, 10469, 10470, 3, 1172, 586, 0, 10470, 10471, 5, 159, 0, 0, 10471, + 10472, 3, 1334, 667, 0, 10472, 10477, 1, 0, 0, 0, 10473, 10474, 5, 159, + 0, 0, 10474, 10477, 3, 1334, 667, 0, 10475, 10477, 3, 1334, 667, 0, 10476, + 10469, 1, 0, 0, 0, 10476, 10473, 1, 0, 0, 0, 10476, 10475, 1, 0, 0, 0, + 10477, 1359, 1, 0, 0, 0, 10478, 10484, 3, 970, 485, 0, 10479, 10480, 5, + 496, 0, 0, 10480, 10481, 3, 1334, 667, 0, 10481, 10482, 5, 497, 0, 0, 10482, + 10484, 1, 0, 0, 0, 10483, 10478, 1, 0, 0, 0, 10483, 10479, 1, 0, 0, 0, + 10484, 1361, 1, 0, 0, 0, 10485, 10487, 5, 46, 0, 0, 10486, 10488, 3, 1370, + 685, 0, 10487, 10486, 1, 0, 0, 0, 10487, 10488, 1, 0, 0, 0, 10488, 10489, + 1, 0, 0, 0, 10489, 10491, 3, 1364, 682, 0, 10490, 10492, 3, 1368, 684, + 0, 10491, 10490, 1, 0, 0, 0, 10491, 10492, 1, 0, 0, 0, 10492, 10493, 1, + 0, 0, 0, 10493, 10494, 5, 128, 0, 0, 10494, 1363, 1, 0, 0, 0, 10495, 10497, + 3, 1366, 683, 0, 10496, 10495, 1, 0, 0, 0, 10497, 10498, 1, 0, 0, 0, 10498, + 10496, 1, 0, 0, 0, 10498, 10499, 1, 0, 0, 0, 10499, 1365, 1, 0, 0, 0, 10500, + 10501, 5, 470, 0, 0, 10501, 10502, 3, 1172, 586, 0, 10502, 10503, 5, 425, + 0, 0, 10503, 10504, 3, 1172, 586, 0, 10504, 1367, 1, 0, 0, 0, 10505, 10506, + 5, 123, 0, 0, 10506, 10507, 3, 1172, 586, 0, 10507, 1369, 1, 0, 0, 0, 10508, + 10509, 3, 1172, 586, 0, 10509, 1371, 1, 0, 0, 0, 10510, 10512, 3, 1428, + 714, 0, 10511, 10513, 3, 1378, 689, 0, 10512, 10511, 1, 0, 0, 0, 10512, + 10513, 1, 0, 0, 0, 10513, 1373, 1, 0, 0, 0, 10514, 10517, 5, 505, 0, 0, + 10515, 10518, 3, 1398, 699, 0, 10516, 10518, 5, 503, 0, 0, 10517, 10515, + 1, 0, 0, 0, 10517, 10516, 1, 0, 0, 0, 10518, 10532, 1, 0, 0, 0, 10519, + 10528, 5, 498, 0, 0, 10520, 10529, 3, 1172, 586, 0, 10521, 10523, 3, 1376, + 688, 0, 10522, 10521, 1, 0, 0, 0, 10522, 10523, 1, 0, 0, 0, 10523, 10524, + 1, 0, 0, 0, 10524, 10526, 5, 502, 0, 0, 10525, 10527, 3, 1376, 688, 0, + 10526, 10525, 1, 0, 0, 0, 10526, 10527, 1, 0, 0, 0, 10527, 10529, 1, 0, + 0, 0, 10528, 10520, 1, 0, 0, 0, 10528, 10522, 1, 0, 0, 0, 10529, 10530, + 1, 0, 0, 0, 10530, 10532, 5, 499, 0, 0, 10531, 10514, 1, 0, 0, 0, 10531, + 10519, 1, 0, 0, 0, 10532, 1375, 1, 0, 0, 0, 10533, 10534, 3, 1172, 586, + 0, 10534, 1377, 1, 0, 0, 0, 10535, 10537, 3, 1374, 687, 0, 10536, 10535, + 1, 0, 0, 0, 10537, 10538, 1, 0, 0, 0, 10538, 10536, 1, 0, 0, 0, 10538, + 10539, 1, 0, 0, 0, 10539, 1379, 1, 0, 0, 0, 10540, 10542, 3, 1374, 687, + 0, 10541, 10540, 1, 0, 0, 0, 10542, 10545, 1, 0, 0, 0, 10543, 10541, 1, + 0, 0, 0, 10543, 10544, 1, 0, 0, 0, 10544, 1381, 1, 0, 0, 0, 10545, 10543, + 1, 0, 0, 0, 10546, 10547, 3, 1384, 692, 0, 10547, 1383, 1, 0, 0, 0, 10548, + 10553, 3, 1386, 693, 0, 10549, 10550, 5, 500, 0, 0, 10550, 10552, 3, 1386, + 693, 0, 10551, 10549, 1, 0, 0, 0, 10552, 10555, 1, 0, 0, 0, 10553, 10551, + 1, 0, 0, 0, 10553, 10554, 1, 0, 0, 0, 10554, 1385, 1, 0, 0, 0, 10555, 10553, + 1, 0, 0, 0, 10556, 10563, 3, 1372, 686, 0, 10557, 10559, 3, 1172, 586, + 0, 10558, 10560, 3, 1388, 694, 0, 10559, 10558, 1, 0, 0, 0, 10559, 10560, + 1, 0, 0, 0, 10560, 10563, 1, 0, 0, 0, 10561, 10563, 5, 503, 0, 0, 10562, + 10556, 1, 0, 0, 0, 10562, 10557, 1, 0, 0, 0, 10562, 10561, 1, 0, 0, 0, + 10563, 1387, 1, 0, 0, 0, 10564, 10565, 5, 19, 0, 0, 10565, 10568, 3, 1436, + 718, 0, 10566, 10568, 3, 1438, 719, 0, 10567, 10564, 1, 0, 0, 0, 10567, + 10566, 1, 0, 0, 0, 10568, 1389, 1, 0, 0, 0, 10569, 10574, 3, 1392, 696, + 0, 10570, 10571, 5, 500, 0, 0, 10571, 10573, 3, 1392, 696, 0, 10572, 10570, + 1, 0, 0, 0, 10573, 10576, 1, 0, 0, 0, 10574, 10572, 1, 0, 0, 0, 10574, + 10575, 1, 0, 0, 0, 10575, 1391, 1, 0, 0, 0, 10576, 10574, 1, 0, 0, 0, 10577, + 10579, 3, 1428, 714, 0, 10578, 10580, 3, 1378, 689, 0, 10579, 10578, 1, + 0, 0, 0, 10579, 10580, 1, 0, 0, 0, 10580, 1393, 1, 0, 0, 0, 10581, 10586, + 3, 1396, 698, 0, 10582, 10583, 5, 500, 0, 0, 10583, 10585, 3, 1396, 698, + 0, 10584, 10582, 1, 0, 0, 0, 10585, 10588, 1, 0, 0, 0, 10586, 10584, 1, + 0, 0, 0, 10586, 10587, 1, 0, 0, 0, 10587, 1395, 1, 0, 0, 0, 10588, 10586, + 1, 0, 0, 0, 10589, 10590, 3, 1428, 714, 0, 10590, 1397, 1, 0, 0, 0, 10591, + 10592, 3, 1436, 718, 0, 10592, 1399, 1, 0, 0, 0, 10593, 10594, 3, 1414, + 707, 0, 10594, 1401, 1, 0, 0, 0, 10595, 10602, 3, 1432, 716, 0, 10596, + 10597, 3, 1428, 714, 0, 10597, 10598, 3, 1378, 689, 0, 10598, 10602, 1, + 0, 0, 0, 10599, 10602, 5, 232, 0, 0, 10600, 10602, 5, 360, 0, 0, 10601, + 10595, 1, 0, 0, 0, 10601, 10596, 1, 0, 0, 0, 10601, 10599, 1, 0, 0, 0, + 10601, 10600, 1, 0, 0, 0, 10602, 1403, 1, 0, 0, 0, 10603, 10639, 3, 1412, + 706, 0, 10604, 10639, 3, 1410, 705, 0, 10605, 10639, 3, 1414, 707, 0, 10606, + 10639, 3, 1408, 704, 0, 10607, 10639, 3, 1406, 703, 0, 10608, 10618, 3, + 1402, 701, 0, 10609, 10619, 3, 1414, 707, 0, 10610, 10611, 5, 496, 0, 0, + 10611, 10613, 3, 1336, 668, 0, 10612, 10614, 3, 1004, 502, 0, 10613, 10612, + 1, 0, 0, 0, 10613, 10614, 1, 0, 0, 0, 10614, 10615, 1, 0, 0, 0, 10615, + 10616, 5, 497, 0, 0, 10616, 10617, 3, 1414, 707, 0, 10617, 10619, 1, 0, + 0, 0, 10618, 10609, 1, 0, 0, 0, 10618, 10610, 1, 0, 0, 0, 10619, 10639, + 1, 0, 0, 0, 10620, 10621, 3, 1132, 566, 0, 10621, 10622, 3, 1414, 707, + 0, 10622, 10639, 1, 0, 0, 0, 10623, 10633, 3, 1162, 581, 0, 10624, 10626, + 3, 1414, 707, 0, 10625, 10627, 3, 1166, 583, 0, 10626, 10625, 1, 0, 0, + 0, 10626, 10627, 1, 0, 0, 0, 10627, 10634, 1, 0, 0, 0, 10628, 10629, 5, + 496, 0, 0, 10629, 10630, 3, 1412, 706, 0, 10630, 10631, 5, 497, 0, 0, 10631, + 10632, 3, 1414, 707, 0, 10632, 10634, 1, 0, 0, 0, 10633, 10624, 1, 0, 0, + 0, 10633, 10628, 1, 0, 0, 0, 10634, 10639, 1, 0, 0, 0, 10635, 10639, 5, + 436, 0, 0, 10636, 10639, 5, 145, 0, 0, 10637, 10639, 5, 279, 0, 0, 10638, + 10603, 1, 0, 0, 0, 10638, 10604, 1, 0, 0, 0, 10638, 10605, 1, 0, 0, 0, + 10638, 10606, 1, 0, 0, 0, 10638, 10607, 1, 0, 0, 0, 10638, 10608, 1, 0, + 0, 0, 10638, 10620, 1, 0, 0, 0, 10638, 10623, 1, 0, 0, 0, 10638, 10635, + 1, 0, 0, 0, 10638, 10636, 1, 0, 0, 0, 10638, 10637, 1, 0, 0, 0, 10639, + 1405, 1, 0, 0, 0, 10640, 10641, 5, 580, 0, 0, 10641, 1407, 1, 0, 0, 0, + 10642, 10643, 5, 576, 0, 0, 10643, 1409, 1, 0, 0, 0, 10644, 10645, 5, 586, + 0, 0, 10645, 1411, 1, 0, 0, 0, 10646, 10647, 5, 584, 0, 0, 10647, 1413, + 1, 0, 0, 0, 10648, 10650, 3, 1416, 708, 0, 10649, 10651, 3, 1418, 709, + 0, 10650, 10649, 1, 0, 0, 0, 10650, 10651, 1, 0, 0, 0, 10651, 1415, 1, + 0, 0, 0, 10652, 10664, 5, 571, 0, 0, 10653, 10664, 5, 573, 0, 0, 10654, + 10658, 5, 575, 0, 0, 10655, 10657, 5, 603, 0, 0, 10656, 10655, 1, 0, 0, + 0, 10657, 10660, 1, 0, 0, 0, 10658, 10656, 1, 0, 0, 0, 10658, 10659, 1, + 0, 0, 0, 10659, 10661, 1, 0, 0, 0, 10660, 10658, 1, 0, 0, 0, 10661, 10664, + 5, 604, 0, 0, 10662, 10664, 5, 597, 0, 0, 10663, 10652, 1, 0, 0, 0, 10663, + 10653, 1, 0, 0, 0, 10663, 10654, 1, 0, 0, 0, 10663, 10662, 1, 0, 0, 0, + 10664, 1417, 1, 0, 0, 0, 10665, 10666, 5, 441, 0, 0, 10666, 10667, 3, 1416, + 708, 0, 10667, 1419, 1, 0, 0, 0, 10668, 10674, 3, 1412, 706, 0, 10669, + 10670, 5, 506, 0, 0, 10670, 10674, 3, 1412, 706, 0, 10671, 10672, 5, 507, + 0, 0, 10672, 10674, 3, 1412, 706, 0, 10673, 10668, 1, 0, 0, 0, 10673, 10669, + 1, 0, 0, 0, 10673, 10671, 1, 0, 0, 0, 10674, 1421, 1, 0, 0, 0, 10675, 10676, + 3, 1424, 712, 0, 10676, 1423, 1, 0, 0, 0, 10677, 10681, 3, 1434, 717, 0, + 10678, 10681, 5, 91, 0, 0, 10679, 10681, 5, 383, 0, 0, 10680, 10677, 1, + 0, 0, 0, 10680, 10678, 1, 0, 0, 0, 10680, 10679, 1, 0, 0, 0, 10681, 1425, + 1, 0, 0, 0, 10682, 10687, 3, 1424, 712, 0, 10683, 10684, 5, 500, 0, 0, + 10684, 10686, 3, 1424, 712, 0, 10685, 10683, 1, 0, 0, 0, 10686, 10689, + 1, 0, 0, 0, 10687, 10685, 1, 0, 0, 0, 10687, 10688, 1, 0, 0, 0, 10688, + 1427, 1, 0, 0, 0, 10689, 10687, 1, 0, 0, 0, 10690, 10697, 3, 1438, 719, + 0, 10691, 10697, 3, 1672, 836, 0, 10692, 10697, 3, 1674, 837, 0, 10693, + 10697, 3, 1654, 827, 0, 10694, 10697, 5, 232, 0, 0, 10695, 10697, 5, 360, + 0, 0, 10696, 10690, 1, 0, 0, 0, 10696, 10691, 1, 0, 0, 0, 10696, 10692, + 1, 0, 0, 0, 10696, 10693, 1, 0, 0, 0, 10696, 10694, 1, 0, 0, 0, 10696, + 10695, 1, 0, 0, 0, 10697, 1429, 1, 0, 0, 0, 10698, 10703, 3, 1438, 719, + 0, 10699, 10703, 3, 1672, 836, 0, 10700, 10703, 3, 1674, 837, 0, 10701, + 10703, 3, 1654, 827, 0, 10702, 10698, 1, 0, 0, 0, 10702, 10699, 1, 0, 0, + 0, 10702, 10700, 1, 0, 0, 0, 10702, 10701, 1, 0, 0, 0, 10703, 1431, 1, + 0, 0, 0, 10704, 10709, 3, 1438, 719, 0, 10705, 10709, 3, 1672, 836, 0, + 10706, 10709, 3, 1654, 827, 0, 10707, 10709, 3, 1676, 838, 0, 10708, 10704, + 1, 0, 0, 0, 10708, 10705, 1, 0, 0, 0, 10708, 10706, 1, 0, 0, 0, 10708, + 10707, 1, 0, 0, 0, 10709, 1433, 1, 0, 0, 0, 10710, 10715, 3, 1438, 719, + 0, 10711, 10715, 3, 1672, 836, 0, 10712, 10715, 3, 1674, 837, 0, 10713, + 10715, 3, 1676, 838, 0, 10714, 10710, 1, 0, 0, 0, 10714, 10711, 1, 0, 0, + 0, 10714, 10712, 1, 0, 0, 0, 10714, 10713, 1, 0, 0, 0, 10715, 1435, 1, + 0, 0, 0, 10716, 10723, 3, 1438, 719, 0, 10717, 10723, 3, 1654, 827, 0, + 10718, 10723, 3, 1672, 836, 0, 10719, 10723, 3, 1674, 837, 0, 10720, 10723, + 3, 1676, 838, 0, 10721, 10723, 3, 1670, 835, 0, 10722, 10716, 1, 0, 0, + 0, 10722, 10717, 1, 0, 0, 0, 10722, 10718, 1, 0, 0, 0, 10722, 10719, 1, + 0, 0, 0, 10722, 10720, 1, 0, 0, 0, 10722, 10721, 1, 0, 0, 0, 10723, 1437, + 1, 0, 0, 0, 10724, 10726, 5, 562, 0, 0, 10725, 10727, 3, 1418, 709, 0, + 10726, 10725, 1, 0, 0, 0, 10726, 10727, 1, 0, 0, 0, 10727, 10734, 1, 0, + 0, 0, 10728, 10734, 5, 563, 0, 0, 10729, 10734, 5, 567, 0, 0, 10730, 10734, + 3, 1218, 609, 0, 10731, 10734, 3, 1440, 720, 0, 10732, 10734, 3, 1654, + 827, 0, 10733, 10724, 1, 0, 0, 0, 10733, 10728, 1, 0, 0, 0, 10733, 10729, + 1, 0, 0, 0, 10733, 10730, 1, 0, 0, 0, 10733, 10731, 1, 0, 0, 0, 10733, + 10732, 1, 0, 0, 0, 10734, 1439, 1, 0, 0, 0, 10735, 10736, 5, 588, 0, 0, + 10736, 1441, 1, 0, 0, 0, 10737, 10738, 3, 1444, 722, 0, 10738, 10740, 3, + 1454, 727, 0, 10739, 10741, 3, 1452, 726, 0, 10740, 10739, 1, 0, 0, 0, + 10740, 10741, 1, 0, 0, 0, 10741, 1443, 1, 0, 0, 0, 10742, 10744, 3, 1446, + 723, 0, 10743, 10742, 1, 0, 0, 0, 10744, 10747, 1, 0, 0, 0, 10745, 10743, + 1, 0, 0, 0, 10745, 10746, 1, 0, 0, 0, 10746, 1445, 1, 0, 0, 0, 10747, 10745, + 1, 0, 0, 0, 10748, 10749, 3, 1448, 724, 0, 10749, 10750, 5, 294, 0, 0, + 10750, 10751, 5, 533, 0, 0, 10751, 10769, 1, 0, 0, 0, 10752, 10753, 3, + 1448, 724, 0, 10753, 10754, 5, 534, 0, 0, 10754, 10755, 3, 1450, 725, 0, + 10755, 10769, 1, 0, 0, 0, 10756, 10757, 3, 1448, 724, 0, 10757, 10758, + 5, 535, 0, 0, 10758, 10759, 5, 131, 0, 0, 10759, 10769, 1, 0, 0, 0, 10760, + 10761, 3, 1448, 724, 0, 10761, 10762, 5, 535, 0, 0, 10762, 10763, 5, 536, + 0, 0, 10763, 10769, 1, 0, 0, 0, 10764, 10765, 3, 1448, 724, 0, 10765, 10766, + 5, 535, 0, 0, 10766, 10767, 5, 537, 0, 0, 10767, 10769, 1, 0, 0, 0, 10768, + 10748, 1, 0, 0, 0, 10768, 10752, 1, 0, 0, 0, 10768, 10756, 1, 0, 0, 0, + 10768, 10760, 1, 0, 0, 0, 10768, 10764, 1, 0, 0, 0, 10769, 1447, 1, 0, + 0, 0, 10770, 10771, 5, 523, 0, 0, 10771, 1449, 1, 0, 0, 0, 10772, 10777, + 3, 1414, 707, 0, 10773, 10777, 3, 1670, 835, 0, 10774, 10777, 3, 1654, + 827, 0, 10775, 10777, 3, 1672, 836, 0, 10776, 10772, 1, 0, 0, 0, 10776, + 10773, 1, 0, 0, 0, 10776, 10774, 1, 0, 0, 0, 10776, 10775, 1, 0, 0, 0, + 10777, 1451, 1, 0, 0, 0, 10778, 10779, 5, 501, 0, 0, 10779, 1453, 1, 0, + 0, 0, 10780, 10781, 3, 1456, 728, 0, 10781, 10782, 5, 32, 0, 0, 10782, + 10784, 3, 1498, 749, 0, 10783, 10785, 3, 1634, 817, 0, 10784, 10783, 1, + 0, 0, 0, 10784, 10785, 1, 0, 0, 0, 10785, 10786, 1, 0, 0, 0, 10786, 10788, + 5, 128, 0, 0, 10787, 10789, 3, 1648, 824, 0, 10788, 10787, 1, 0, 0, 0, + 10788, 10789, 1, 0, 0, 0, 10789, 1455, 1, 0, 0, 0, 10790, 10792, 3, 1644, + 822, 0, 10791, 10790, 1, 0, 0, 0, 10791, 10792, 1, 0, 0, 0, 10792, 10797, + 1, 0, 0, 0, 10793, 10795, 3, 1458, 729, 0, 10794, 10796, 3, 1460, 730, + 0, 10795, 10794, 1, 0, 0, 0, 10795, 10796, 1, 0, 0, 0, 10796, 10798, 1, + 0, 0, 0, 10797, 10793, 1, 0, 0, 0, 10797, 10798, 1, 0, 0, 0, 10798, 1457, + 1, 0, 0, 0, 10799, 10800, 5, 100, 0, 0, 10800, 1459, 1, 0, 0, 0, 10801, + 10803, 3, 1464, 732, 0, 10802, 10801, 1, 0, 0, 0, 10803, 10804, 1, 0, 0, + 0, 10804, 10802, 1, 0, 0, 0, 10804, 10805, 1, 0, 0, 0, 10805, 1461, 1, + 0, 0, 0, 10806, 10807, 5, 512, 0, 0, 10807, 10808, 3, 1652, 826, 0, 10808, + 10809, 5, 513, 0, 0, 10809, 1463, 1, 0, 0, 0, 10810, 10814, 3, 1466, 733, + 0, 10811, 10814, 5, 100, 0, 0, 10812, 10814, 3, 1462, 731, 0, 10813, 10810, + 1, 0, 0, 0, 10813, 10811, 1, 0, 0, 0, 10813, 10812, 1, 0, 0, 0, 10814, + 1465, 1, 0, 0, 0, 10815, 10842, 3, 1482, 741, 0, 10816, 10817, 5, 538, + 0, 0, 10817, 10818, 5, 153, 0, 0, 10818, 10843, 3, 1480, 740, 0, 10819, + 10821, 3, 1484, 742, 0, 10820, 10819, 1, 0, 0, 0, 10820, 10821, 1, 0, 0, + 0, 10821, 10822, 1, 0, 0, 0, 10822, 10824, 3, 1486, 743, 0, 10823, 10825, + 3, 1488, 744, 0, 10824, 10823, 1, 0, 0, 0, 10824, 10825, 1, 0, 0, 0, 10825, + 10827, 1, 0, 0, 0, 10826, 10828, 3, 1490, 745, 0, 10827, 10826, 1, 0, 0, + 0, 10827, 10828, 1, 0, 0, 0, 10828, 10830, 1, 0, 0, 0, 10829, 10831, 3, + 1492, 746, 0, 10830, 10829, 1, 0, 0, 0, 10830, 10831, 1, 0, 0, 0, 10831, + 10843, 1, 0, 0, 0, 10832, 10834, 3, 1468, 734, 0, 10833, 10832, 1, 0, 0, + 0, 10833, 10834, 1, 0, 0, 0, 10834, 10835, 1, 0, 0, 0, 10835, 10837, 5, + 92, 0, 0, 10836, 10838, 3, 1472, 736, 0, 10837, 10836, 1, 0, 0, 0, 10837, + 10838, 1, 0, 0, 0, 10838, 10839, 1, 0, 0, 0, 10839, 10840, 3, 1478, 739, + 0, 10840, 10841, 3, 1470, 735, 0, 10841, 10843, 1, 0, 0, 0, 10842, 10816, + 1, 0, 0, 0, 10842, 10820, 1, 0, 0, 0, 10842, 10833, 1, 0, 0, 0, 10843, + 10844, 1, 0, 0, 0, 10844, 10845, 5, 501, 0, 0, 10845, 1467, 1, 0, 0, 0, + 10846, 10847, 5, 270, 0, 0, 10847, 10850, 5, 373, 0, 0, 10848, 10850, 5, + 373, 0, 0, 10849, 10846, 1, 0, 0, 0, 10849, 10848, 1, 0, 0, 0, 10850, 1469, + 1, 0, 0, 0, 10851, 10852, 3, 968, 484, 0, 10852, 1471, 1, 0, 0, 0, 10853, + 10854, 5, 496, 0, 0, 10854, 10855, 3, 1474, 737, 0, 10855, 10856, 5, 497, + 0, 0, 10856, 1473, 1, 0, 0, 0, 10857, 10862, 3, 1476, 738, 0, 10858, 10859, + 5, 500, 0, 0, 10859, 10861, 3, 1476, 738, 0, 10860, 10858, 1, 0, 0, 0, + 10861, 10864, 1, 0, 0, 0, 10862, 10860, 1, 0, 0, 0, 10862, 10863, 1, 0, + 0, 0, 10863, 1475, 1, 0, 0, 0, 10864, 10862, 1, 0, 0, 0, 10865, 10866, + 3, 1482, 741, 0, 10866, 10867, 3, 1486, 743, 0, 10867, 1477, 1, 0, 0, 0, + 10868, 10869, 7, 66, 0, 0, 10869, 1479, 1, 0, 0, 0, 10870, 10873, 5, 522, + 0, 0, 10871, 10873, 3, 1428, 714, 0, 10872, 10870, 1, 0, 0, 0, 10872, 10871, + 1, 0, 0, 0, 10873, 1481, 1, 0, 0, 0, 10874, 10875, 3, 1652, 826, 0, 10875, + 1483, 1, 0, 0, 0, 10876, 10877, 5, 539, 0, 0, 10877, 1485, 1, 0, 0, 0, + 10878, 10879, 3, 1126, 563, 0, 10879, 1487, 1, 0, 0, 0, 10880, 10881, 5, + 59, 0, 0, 10881, 10882, 3, 526, 263, 0, 10882, 1489, 1, 0, 0, 0, 10883, + 10884, 5, 274, 0, 0, 10884, 10885, 5, 279, 0, 0, 10885, 1491, 1, 0, 0, + 0, 10886, 10887, 3, 1494, 747, 0, 10887, 10888, 3, 1656, 828, 0, 10888, + 1493, 1, 0, 0, 0, 10889, 10892, 3, 1496, 748, 0, 10890, 10892, 5, 101, + 0, 0, 10891, 10889, 1, 0, 0, 0, 10891, 10890, 1, 0, 0, 0, 10892, 1495, + 1, 0, 0, 0, 10893, 10894, 7, 67, 0, 0, 10894, 1497, 1, 0, 0, 0, 10895, + 10897, 3, 1500, 750, 0, 10896, 10895, 1, 0, 0, 0, 10897, 10900, 1, 0, 0, + 0, 10898, 10896, 1, 0, 0, 0, 10898, 10899, 1, 0, 0, 0, 10899, 1499, 1, + 0, 0, 0, 10900, 10898, 1, 0, 0, 0, 10901, 10902, 3, 1454, 727, 0, 10902, + 10903, 5, 501, 0, 0, 10903, 10929, 1, 0, 0, 0, 10904, 10929, 3, 1566, 783, + 0, 10905, 10929, 3, 1570, 785, 0, 10906, 10929, 3, 1508, 754, 0, 10907, + 10929, 3, 1524, 762, 0, 10908, 10929, 3, 1530, 765, 0, 10909, 10929, 3, + 1540, 770, 0, 10910, 10929, 3, 1542, 771, 0, 10911, 10929, 3, 1544, 772, + 0, 10912, 10929, 3, 1558, 779, 0, 10913, 10929, 3, 1562, 781, 0, 10914, + 10929, 3, 1582, 791, 0, 10915, 10929, 3, 1588, 794, 0, 10916, 10929, 3, + 1590, 795, 0, 10917, 10929, 3, 1502, 751, 0, 10918, 10929, 3, 1504, 752, + 0, 10919, 10929, 3, 1510, 755, 0, 10920, 10929, 3, 1598, 799, 0, 10921, + 10929, 3, 1610, 805, 0, 10922, 10929, 3, 1618, 809, 0, 10923, 10929, 3, + 1620, 810, 0, 10924, 10929, 3, 1622, 811, 0, 10925, 10929, 3, 1624, 812, + 0, 10926, 10929, 3, 1626, 813, 0, 10927, 10929, 3, 1630, 815, 0, 10928, + 10901, 1, 0, 0, 0, 10928, 10904, 1, 0, 0, 0, 10928, 10905, 1, 0, 0, 0, + 10928, 10906, 1, 0, 0, 0, 10928, 10907, 1, 0, 0, 0, 10928, 10908, 1, 0, + 0, 0, 10928, 10909, 1, 0, 0, 0, 10928, 10910, 1, 0, 0, 0, 10928, 10911, + 1, 0, 0, 0, 10928, 10912, 1, 0, 0, 0, 10928, 10913, 1, 0, 0, 0, 10928, + 10914, 1, 0, 0, 0, 10928, 10915, 1, 0, 0, 0, 10928, 10916, 1, 0, 0, 0, + 10928, 10917, 1, 0, 0, 0, 10928, 10918, 1, 0, 0, 0, 10928, 10919, 1, 0, + 0, 0, 10928, 10920, 1, 0, 0, 0, 10928, 10921, 1, 0, 0, 0, 10928, 10922, + 1, 0, 0, 0, 10928, 10923, 1, 0, 0, 0, 10928, 10924, 1, 0, 0, 0, 10928, + 10925, 1, 0, 0, 0, 10928, 10926, 1, 0, 0, 0, 10928, 10927, 1, 0, 0, 0, + 10929, 1501, 1, 0, 0, 0, 10930, 10931, 5, 540, 0, 0, 10931, 10932, 3, 1660, + 830, 0, 10932, 10933, 5, 501, 0, 0, 10933, 1503, 1, 0, 0, 0, 10934, 10935, + 5, 42, 0, 0, 10935, 10936, 3, 1652, 826, 0, 10936, 10938, 5, 496, 0, 0, + 10937, 10939, 3, 1506, 753, 0, 10938, 10937, 1, 0, 0, 0, 10938, 10939, + 1, 0, 0, 0, 10939, 10940, 1, 0, 0, 0, 10940, 10941, 5, 497, 0, 0, 10941, + 10942, 5, 501, 0, 0, 10942, 10953, 1, 0, 0, 0, 10943, 10944, 5, 117, 0, + 0, 10944, 10945, 3, 1652, 826, 0, 10945, 10947, 5, 496, 0, 0, 10946, 10948, + 3, 1506, 753, 0, 10947, 10946, 1, 0, 0, 0, 10947, 10948, 1, 0, 0, 0, 10948, + 10949, 1, 0, 0, 0, 10949, 10950, 5, 497, 0, 0, 10950, 10951, 5, 501, 0, + 0, 10951, 10953, 1, 0, 0, 0, 10952, 10934, 1, 0, 0, 0, 10952, 10943, 1, + 0, 0, 0, 10953, 1505, 1, 0, 0, 0, 10954, 10955, 3, 1334, 667, 0, 10955, + 1507, 1, 0, 0, 0, 10956, 10957, 3, 1522, 761, 0, 10957, 10958, 3, 1496, + 748, 0, 10958, 10959, 3, 1656, 828, 0, 10959, 10960, 5, 501, 0, 0, 10960, + 1509, 1, 0, 0, 0, 10961, 10963, 5, 541, 0, 0, 10962, 10964, 3, 1512, 756, + 0, 10963, 10962, 1, 0, 0, 0, 10963, 10964, 1, 0, 0, 0, 10964, 10965, 1, + 0, 0, 0, 10965, 10966, 5, 542, 0, 0, 10966, 10967, 3, 1514, 757, 0, 10967, + 10968, 5, 501, 0, 0, 10968, 1511, 1, 0, 0, 0, 10969, 10970, 7, 68, 0, 0, + 10970, 1513, 1, 0, 0, 0, 10971, 10976, 3, 1516, 758, 0, 10972, 10973, 5, + 500, 0, 0, 10973, 10975, 3, 1516, 758, 0, 10974, 10972, 1, 0, 0, 0, 10975, + 10978, 1, 0, 0, 0, 10976, 10974, 1, 0, 0, 0, 10976, 10977, 1, 0, 0, 0, + 10977, 1515, 1, 0, 0, 0, 10978, 10976, 1, 0, 0, 0, 10979, 10980, 3, 1520, + 760, 0, 10980, 10981, 3, 1496, 748, 0, 10981, 10982, 3, 1518, 759, 0, 10982, + 1517, 1, 0, 0, 0, 10983, 10984, 3, 1428, 714, 0, 10984, 1519, 1, 0, 0, + 0, 10985, 10986, 3, 1522, 761, 0, 10986, 1521, 1, 0, 0, 0, 10987, 10990, + 3, 526, 263, 0, 10988, 10990, 5, 522, 0, 0, 10989, 10987, 1, 0, 0, 0, 10989, + 10988, 1, 0, 0, 0, 10990, 10997, 1, 0, 0, 0, 10991, 10992, 5, 498, 0, 0, + 10992, 10993, 3, 1662, 831, 0, 10993, 10994, 5, 499, 0, 0, 10994, 10996, + 1, 0, 0, 0, 10995, 10991, 1, 0, 0, 0, 10996, 10999, 1, 0, 0, 0, 10997, + 10995, 1, 0, 0, 0, 10997, 10998, 1, 0, 0, 0, 10998, 1523, 1, 0, 0, 0, 10999, + 10997, 1, 0, 0, 0, 11000, 11001, 5, 177, 0, 0, 11001, 11002, 3, 1658, 829, + 0, 11002, 11003, 5, 425, 0, 0, 11003, 11004, 3, 1498, 749, 0, 11004, 11006, + 3, 1526, 763, 0, 11005, 11007, 3, 1528, 764, 0, 11006, 11005, 1, 0, 0, + 0, 11006, 11007, 1, 0, 0, 0, 11007, 11008, 1, 0, 0, 0, 11008, 11009, 5, + 128, 0, 0, 11009, 11010, 5, 177, 0, 0, 11010, 11011, 5, 501, 0, 0, 11011, + 1525, 1, 0, 0, 0, 11012, 11013, 5, 544, 0, 0, 11013, 11014, 3, 1172, 586, + 0, 11014, 11015, 5, 425, 0, 0, 11015, 11016, 3, 1498, 749, 0, 11016, 11018, + 1, 0, 0, 0, 11017, 11012, 1, 0, 0, 0, 11018, 11021, 1, 0, 0, 0, 11019, + 11017, 1, 0, 0, 0, 11019, 11020, 1, 0, 0, 0, 11020, 1527, 1, 0, 0, 0, 11021, + 11019, 1, 0, 0, 0, 11022, 11023, 5, 123, 0, 0, 11023, 11024, 3, 1498, 749, + 0, 11024, 1529, 1, 0, 0, 0, 11025, 11027, 5, 46, 0, 0, 11026, 11028, 3, + 1532, 766, 0, 11027, 11026, 1, 0, 0, 0, 11027, 11028, 1, 0, 0, 0, 11028, + 11029, 1, 0, 0, 0, 11029, 11031, 3, 1534, 767, 0, 11030, 11032, 3, 1538, + 769, 0, 11031, 11030, 1, 0, 0, 0, 11031, 11032, 1, 0, 0, 0, 11032, 11033, + 1, 0, 0, 0, 11033, 11034, 5, 128, 0, 0, 11034, 11035, 5, 46, 0, 0, 11035, + 11036, 5, 501, 0, 0, 11036, 1531, 1, 0, 0, 0, 11037, 11038, 3, 1656, 828, + 0, 11038, 1533, 1, 0, 0, 0, 11039, 11041, 3, 1536, 768, 0, 11040, 11039, + 1, 0, 0, 0, 11041, 11042, 1, 0, 0, 0, 11042, 11040, 1, 0, 0, 0, 11042, + 11043, 1, 0, 0, 0, 11043, 1535, 1, 0, 0, 0, 11044, 11045, 5, 470, 0, 0, + 11045, 11046, 3, 1334, 667, 0, 11046, 11047, 5, 425, 0, 0, 11047, 11048, + 3, 1498, 749, 0, 11048, 1537, 1, 0, 0, 0, 11049, 11050, 5, 123, 0, 0, 11050, + 11051, 3, 1498, 749, 0, 11051, 1539, 1, 0, 0, 0, 11052, 11054, 3, 1646, + 823, 0, 11053, 11052, 1, 0, 0, 0, 11053, 11054, 1, 0, 0, 0, 11054, 11055, + 1, 0, 0, 0, 11055, 11056, 3, 1586, 793, 0, 11056, 1541, 1, 0, 0, 0, 11057, + 11059, 3, 1646, 823, 0, 11058, 11057, 1, 0, 0, 0, 11058, 11059, 1, 0, 0, + 0, 11059, 11060, 1, 0, 0, 0, 11060, 11061, 5, 545, 0, 0, 11061, 11062, + 3, 1664, 832, 0, 11062, 11063, 3, 1586, 793, 0, 11063, 1543, 1, 0, 0, 0, + 11064, 11066, 3, 1646, 823, 0, 11065, 11064, 1, 0, 0, 0, 11065, 11066, + 1, 0, 0, 0, 11066, 11067, 1, 0, 0, 0, 11067, 11068, 5, 153, 0, 0, 11068, + 11069, 3, 1546, 773, 0, 11069, 11070, 3, 1586, 793, 0, 11070, 1545, 1, + 0, 0, 0, 11071, 11072, 3, 1556, 778, 0, 11072, 11093, 5, 183, 0, 0, 11073, + 11075, 3, 962, 481, 0, 11074, 11076, 3, 1550, 775, 0, 11075, 11074, 1, + 0, 0, 0, 11075, 11076, 1, 0, 0, 0, 11076, 11094, 1, 0, 0, 0, 11077, 11094, + 3, 968, 484, 0, 11078, 11094, 3, 886, 443, 0, 11079, 11080, 5, 138, 0, + 0, 11080, 11082, 3, 1172, 586, 0, 11081, 11083, 3, 1548, 774, 0, 11082, + 11081, 1, 0, 0, 0, 11082, 11083, 1, 0, 0, 0, 11083, 11094, 1, 0, 0, 0, + 11084, 11086, 3, 1552, 776, 0, 11085, 11084, 1, 0, 0, 0, 11085, 11086, + 1, 0, 0, 0, 11086, 11087, 1, 0, 0, 0, 11087, 11088, 3, 1172, 586, 0, 11088, + 11089, 5, 518, 0, 0, 11089, 11091, 3, 1172, 586, 0, 11090, 11092, 3, 1554, + 777, 0, 11091, 11090, 1, 0, 0, 0, 11091, 11092, 1, 0, 0, 0, 11092, 11094, + 1, 0, 0, 0, 11093, 11073, 1, 0, 0, 0, 11093, 11077, 1, 0, 0, 0, 11093, + 11078, 1, 0, 0, 0, 11093, 11079, 1, 0, 0, 0, 11093, 11085, 1, 0, 0, 0, + 11094, 1547, 1, 0, 0, 0, 11095, 11096, 5, 454, 0, 0, 11096, 11097, 3, 1334, + 667, 0, 11097, 1549, 1, 0, 0, 0, 11098, 11099, 5, 496, 0, 0, 11099, 11104, + 3, 1172, 586, 0, 11100, 11101, 5, 500, 0, 0, 11101, 11103, 3, 1172, 586, + 0, 11102, 11100, 1, 0, 0, 0, 11103, 11106, 1, 0, 0, 0, 11104, 11102, 1, + 0, 0, 0, 11104, 11105, 1, 0, 0, 0, 11105, 11107, 1, 0, 0, 0, 11106, 11104, + 1, 0, 0, 0, 11107, 11108, 5, 497, 0, 0, 11108, 1551, 1, 0, 0, 0, 11109, + 11110, 5, 546, 0, 0, 11110, 1553, 1, 0, 0, 0, 11111, 11112, 5, 40, 0, 0, + 11112, 11113, 3, 1172, 586, 0, 11113, 1555, 1, 0, 0, 0, 11114, 11115, 3, + 524, 262, 0, 11115, 1557, 1, 0, 0, 0, 11116, 11118, 3, 1646, 823, 0, 11117, + 11116, 1, 0, 0, 0, 11117, 11118, 1, 0, 0, 0, 11118, 11119, 1, 0, 0, 0, + 11119, 11120, 5, 547, 0, 0, 11120, 11122, 3, 1556, 778, 0, 11121, 11123, + 3, 1560, 780, 0, 11122, 11121, 1, 0, 0, 0, 11122, 11123, 1, 0, 0, 0, 11123, + 11124, 1, 0, 0, 0, 11124, 11125, 5, 183, 0, 0, 11125, 11126, 5, 18, 0, + 0, 11126, 11127, 3, 1172, 586, 0, 11127, 11128, 3, 1586, 793, 0, 11128, + 1559, 1, 0, 0, 0, 11129, 11130, 5, 548, 0, 0, 11130, 11131, 3, 1412, 706, + 0, 11131, 1561, 1, 0, 0, 0, 11132, 11134, 3, 1564, 782, 0, 11133, 11135, + 3, 1648, 824, 0, 11134, 11133, 1, 0, 0, 0, 11134, 11135, 1, 0, 0, 0, 11135, + 11137, 1, 0, 0, 0, 11136, 11138, 3, 1650, 825, 0, 11137, 11136, 1, 0, 0, + 0, 11137, 11138, 1, 0, 0, 0, 11138, 11139, 1, 0, 0, 0, 11139, 11140, 5, + 501, 0, 0, 11140, 1563, 1, 0, 0, 0, 11141, 11142, 7, 69, 0, 0, 11142, 1565, + 1, 0, 0, 0, 11143, 11158, 5, 356, 0, 0, 11144, 11145, 5, 265, 0, 0, 11145, + 11159, 3, 1656, 828, 0, 11146, 11153, 5, 550, 0, 0, 11147, 11148, 5, 138, + 0, 0, 11148, 11150, 3, 1172, 586, 0, 11149, 11151, 3, 1548, 774, 0, 11150, + 11149, 1, 0, 0, 0, 11150, 11151, 1, 0, 0, 0, 11151, 11154, 1, 0, 0, 0, + 11152, 11154, 3, 968, 484, 0, 11153, 11147, 1, 0, 0, 0, 11153, 11152, 1, + 0, 0, 0, 11154, 11159, 1, 0, 0, 0, 11155, 11157, 3, 1568, 784, 0, 11156, + 11155, 1, 0, 0, 0, 11156, 11157, 1, 0, 0, 0, 11157, 11159, 1, 0, 0, 0, + 11158, 11144, 1, 0, 0, 0, 11158, 11146, 1, 0, 0, 0, 11158, 11156, 1, 0, + 0, 0, 11159, 11160, 1, 0, 0, 0, 11160, 11161, 5, 501, 0, 0, 11161, 1567, + 1, 0, 0, 0, 11162, 11163, 3, 1656, 828, 0, 11163, 1569, 1, 0, 0, 0, 11164, + 11166, 5, 551, 0, 0, 11165, 11167, 3, 1572, 786, 0, 11166, 11165, 1, 0, + 0, 0, 11166, 11167, 1, 0, 0, 0, 11167, 11168, 1, 0, 0, 0, 11168, 11170, + 3, 1414, 707, 0, 11169, 11171, 3, 1574, 787, 0, 11170, 11169, 1, 0, 0, + 0, 11170, 11171, 1, 0, 0, 0, 11171, 11173, 1, 0, 0, 0, 11172, 11174, 3, + 1576, 788, 0, 11173, 11172, 1, 0, 0, 0, 11173, 11174, 1, 0, 0, 0, 11174, + 11175, 1, 0, 0, 0, 11175, 11176, 5, 501, 0, 0, 11176, 11208, 1, 0, 0, 0, + 11177, 11179, 5, 551, 0, 0, 11178, 11180, 3, 1572, 786, 0, 11179, 11178, + 1, 0, 0, 0, 11179, 11180, 1, 0, 0, 0, 11180, 11181, 1, 0, 0, 0, 11181, + 11183, 3, 1438, 719, 0, 11182, 11184, 3, 1576, 788, 0, 11183, 11182, 1, + 0, 0, 0, 11183, 11184, 1, 0, 0, 0, 11184, 11185, 1, 0, 0, 0, 11185, 11186, + 5, 501, 0, 0, 11186, 11208, 1, 0, 0, 0, 11187, 11189, 5, 551, 0, 0, 11188, + 11190, 3, 1572, 786, 0, 11189, 11188, 1, 0, 0, 0, 11189, 11190, 1, 0, 0, + 0, 11190, 11191, 1, 0, 0, 0, 11191, 11192, 5, 552, 0, 0, 11192, 11194, + 3, 1414, 707, 0, 11193, 11195, 3, 1576, 788, 0, 11194, 11193, 1, 0, 0, + 0, 11194, 11195, 1, 0, 0, 0, 11195, 11196, 1, 0, 0, 0, 11196, 11197, 5, + 501, 0, 0, 11197, 11208, 1, 0, 0, 0, 11198, 11200, 5, 551, 0, 0, 11199, + 11201, 3, 1572, 786, 0, 11200, 11199, 1, 0, 0, 0, 11200, 11201, 1, 0, 0, + 0, 11201, 11203, 1, 0, 0, 0, 11202, 11204, 3, 1576, 788, 0, 11203, 11202, + 1, 0, 0, 0, 11203, 11204, 1, 0, 0, 0, 11204, 11205, 1, 0, 0, 0, 11205, + 11208, 5, 501, 0, 0, 11206, 11208, 5, 551, 0, 0, 11207, 11164, 1, 0, 0, + 0, 11207, 11177, 1, 0, 0, 0, 11207, 11187, 1, 0, 0, 0, 11207, 11198, 1, + 0, 0, 0, 11207, 11206, 1, 0, 0, 0, 11208, 1571, 1, 0, 0, 0, 11209, 11210, + 7, 70, 0, 0, 11210, 1573, 1, 0, 0, 0, 11211, 11212, 5, 500, 0, 0, 11212, + 11214, 3, 1172, 586, 0, 11213, 11211, 1, 0, 0, 0, 11214, 11215, 1, 0, 0, + 0, 11215, 11213, 1, 0, 0, 0, 11215, 11216, 1, 0, 0, 0, 11216, 1575, 1, + 0, 0, 0, 11217, 11218, 5, 454, 0, 0, 11218, 11219, 3, 1580, 790, 0, 11219, + 1577, 1, 0, 0, 0, 11220, 11221, 3, 1438, 719, 0, 11221, 11222, 5, 504, + 0, 0, 11222, 11223, 3, 1172, 586, 0, 11223, 1579, 1, 0, 0, 0, 11224, 11229, + 3, 1578, 789, 0, 11225, 11226, 5, 500, 0, 0, 11226, 11228, 3, 1578, 789, + 0, 11227, 11225, 1, 0, 0, 0, 11228, 11231, 1, 0, 0, 0, 11229, 11227, 1, + 0, 0, 0, 11229, 11230, 1, 0, 0, 0, 11230, 1581, 1, 0, 0, 0, 11231, 11229, + 1, 0, 0, 0, 11232, 11233, 5, 559, 0, 0, 11233, 11235, 3, 1656, 828, 0, + 11234, 11236, 3, 1584, 792, 0, 11235, 11234, 1, 0, 0, 0, 11235, 11236, + 1, 0, 0, 0, 11236, 11237, 1, 0, 0, 0, 11237, 11238, 5, 501, 0, 0, 11238, + 1583, 1, 0, 0, 0, 11239, 11240, 5, 500, 0, 0, 11240, 11241, 3, 1656, 828, + 0, 11241, 1585, 1, 0, 0, 0, 11242, 11243, 5, 560, 0, 0, 11243, 11244, 3, + 1498, 749, 0, 11244, 11245, 5, 128, 0, 0, 11245, 11247, 5, 560, 0, 0, 11246, + 11248, 3, 1648, 824, 0, 11247, 11246, 1, 0, 0, 0, 11247, 11248, 1, 0, 0, + 0, 11248, 11249, 1, 0, 0, 0, 11249, 11250, 5, 501, 0, 0, 11250, 1587, 1, + 0, 0, 0, 11251, 11252, 3, 1666, 833, 0, 11252, 11253, 5, 501, 0, 0, 11253, + 1589, 1, 0, 0, 0, 11254, 11255, 5, 138, 0, 0, 11255, 11269, 3, 1172, 586, + 0, 11256, 11258, 3, 1596, 798, 0, 11257, 11256, 1, 0, 0, 0, 11257, 11258, + 1, 0, 0, 0, 11258, 11260, 1, 0, 0, 0, 11259, 11261, 3, 1592, 796, 0, 11260, + 11259, 1, 0, 0, 0, 11260, 11261, 1, 0, 0, 0, 11261, 11270, 1, 0, 0, 0, + 11262, 11264, 3, 1592, 796, 0, 11263, 11262, 1, 0, 0, 0, 11263, 11264, + 1, 0, 0, 0, 11264, 11266, 1, 0, 0, 0, 11265, 11267, 3, 1596, 798, 0, 11266, + 11265, 1, 0, 0, 0, 11266, 11267, 1, 0, 0, 0, 11267, 11270, 1, 0, 0, 0, + 11268, 11270, 1, 0, 0, 0, 11269, 11257, 1, 0, 0, 0, 11269, 11263, 1, 0, + 0, 0, 11269, 11268, 1, 0, 0, 0, 11270, 11271, 1, 0, 0, 0, 11271, 11272, + 5, 501, 0, 0, 11272, 1591, 1, 0, 0, 0, 11273, 11274, 5, 454, 0, 0, 11274, + 11275, 3, 1594, 797, 0, 11275, 1593, 1, 0, 0, 0, 11276, 11281, 3, 1172, + 586, 0, 11277, 11278, 5, 500, 0, 0, 11278, 11280, 3, 1172, 586, 0, 11279, + 11277, 1, 0, 0, 0, 11280, 11283, 1, 0, 0, 0, 11281, 11279, 1, 0, 0, 0, + 11281, 11282, 1, 0, 0, 0, 11282, 1595, 1, 0, 0, 0, 11283, 11281, 1, 0, + 0, 0, 11284, 11286, 5, 204, 0, 0, 11285, 11287, 5, 406, 0, 0, 11286, 11285, + 1, 0, 0, 0, 11286, 11287, 1, 0, 0, 0, 11287, 11288, 1, 0, 0, 0, 11288, + 11289, 3, 1612, 806, 0, 11289, 1597, 1, 0, 0, 0, 11290, 11311, 5, 561, + 0, 0, 11291, 11293, 3, 1632, 816, 0, 11292, 11294, 3, 1606, 803, 0, 11293, + 11292, 1, 0, 0, 0, 11293, 11294, 1, 0, 0, 0, 11294, 11295, 1, 0, 0, 0, + 11295, 11302, 5, 153, 0, 0, 11296, 11303, 3, 968, 484, 0, 11297, 11298, + 5, 138, 0, 0, 11298, 11300, 3, 1656, 828, 0, 11299, 11301, 3, 1604, 802, + 0, 11300, 11299, 1, 0, 0, 0, 11300, 11301, 1, 0, 0, 0, 11301, 11303, 1, + 0, 0, 0, 11302, 11296, 1, 0, 0, 0, 11302, 11297, 1, 0, 0, 0, 11303, 11312, + 1, 0, 0, 0, 11304, 11309, 3, 1428, 714, 0, 11305, 11306, 5, 496, 0, 0, + 11306, 11307, 3, 1602, 801, 0, 11307, 11308, 5, 497, 0, 0, 11308, 11310, + 1, 0, 0, 0, 11309, 11305, 1, 0, 0, 0, 11309, 11310, 1, 0, 0, 0, 11310, + 11312, 1, 0, 0, 0, 11311, 11291, 1, 0, 0, 0, 11311, 11304, 1, 0, 0, 0, + 11312, 11313, 1, 0, 0, 0, 11313, 11314, 5, 501, 0, 0, 11314, 1599, 1, 0, + 0, 0, 11315, 11316, 3, 1428, 714, 0, 11316, 11317, 5, 514, 0, 0, 11317, + 11318, 3, 1172, 586, 0, 11318, 11321, 1, 0, 0, 0, 11319, 11321, 3, 1172, + 586, 0, 11320, 11315, 1, 0, 0, 0, 11320, 11319, 1, 0, 0, 0, 11321, 1601, + 1, 0, 0, 0, 11322, 11327, 3, 1600, 800, 0, 11323, 11324, 5, 500, 0, 0, + 11324, 11326, 3, 1600, 800, 0, 11325, 11323, 1, 0, 0, 0, 11326, 11329, + 1, 0, 0, 0, 11327, 11325, 1, 0, 0, 0, 11327, 11328, 1, 0, 0, 0, 11328, + 1603, 1, 0, 0, 0, 11329, 11327, 1, 0, 0, 0, 11330, 11331, 5, 454, 0, 0, + 11331, 11332, 3, 1334, 667, 0, 11332, 1605, 1, 0, 0, 0, 11333, 11335, 3, + 1608, 804, 0, 11334, 11333, 1, 0, 0, 0, 11334, 11335, 1, 0, 0, 0, 11335, + 11336, 1, 0, 0, 0, 11336, 11337, 5, 373, 0, 0, 11337, 1607, 1, 0, 0, 0, + 11338, 11339, 5, 270, 0, 0, 11339, 1609, 1, 0, 0, 0, 11340, 11342, 5, 147, + 0, 0, 11341, 11343, 3, 1616, 808, 0, 11342, 11341, 1, 0, 0, 0, 11342, 11343, + 1, 0, 0, 0, 11343, 11345, 1, 0, 0, 0, 11344, 11346, 3, 1614, 807, 0, 11345, + 11344, 1, 0, 0, 0, 11345, 11346, 1, 0, 0, 0, 11346, 11347, 1, 0, 0, 0, + 11347, 11348, 3, 1632, 816, 0, 11348, 11349, 5, 204, 0, 0, 11349, 11350, + 3, 1612, 806, 0, 11350, 11351, 5, 501, 0, 0, 11351, 1611, 1, 0, 0, 0, 11352, + 11353, 3, 1334, 667, 0, 11353, 1613, 1, 0, 0, 0, 11354, 11355, 7, 25, 0, + 0, 11355, 1615, 1, 0, 0, 0, 11356, 11372, 5, 265, 0, 0, 11357, 11372, 5, + 328, 0, 0, 11358, 11372, 5, 150, 0, 0, 11359, 11372, 5, 227, 0, 0, 11360, + 11361, 5, 3, 0, 0, 11361, 11372, 3, 1172, 586, 0, 11362, 11363, 5, 347, + 0, 0, 11363, 11372, 3, 1172, 586, 0, 11364, 11372, 3, 1172, 586, 0, 11365, + 11372, 5, 10, 0, 0, 11366, 11369, 7, 71, 0, 0, 11367, 11370, 3, 1172, 586, + 0, 11368, 11370, 5, 10, 0, 0, 11369, 11367, 1, 0, 0, 0, 11369, 11368, 1, + 0, 0, 0, 11369, 11370, 1, 0, 0, 0, 11370, 11372, 1, 0, 0, 0, 11371, 11356, + 1, 0, 0, 0, 11371, 11357, 1, 0, 0, 0, 11371, 11358, 1, 0, 0, 0, 11371, + 11359, 1, 0, 0, 0, 11371, 11360, 1, 0, 0, 0, 11371, 11362, 1, 0, 0, 0, + 11371, 11364, 1, 0, 0, 0, 11371, 11365, 1, 0, 0, 0, 11371, 11366, 1, 0, + 0, 0, 11372, 1617, 1, 0, 0, 0, 11373, 11375, 5, 257, 0, 0, 11374, 11376, + 3, 1616, 808, 0, 11375, 11374, 1, 0, 0, 0, 11375, 11376, 1, 0, 0, 0, 11376, + 11377, 1, 0, 0, 0, 11377, 11378, 3, 1632, 816, 0, 11378, 11379, 5, 501, + 0, 0, 11379, 1619, 1, 0, 0, 0, 11380, 11381, 5, 56, 0, 0, 11381, 11382, + 3, 1632, 816, 0, 11382, 11383, 5, 501, 0, 0, 11383, 1621, 1, 0, 0, 0, 11384, + 11385, 5, 279, 0, 0, 11385, 11386, 5, 501, 0, 0, 11386, 1623, 1, 0, 0, + 0, 11387, 11389, 5, 65, 0, 0, 11388, 11390, 3, 1628, 814, 0, 11389, 11388, + 1, 0, 0, 0, 11389, 11390, 1, 0, 0, 0, 11390, 11391, 1, 0, 0, 0, 11391, + 11392, 5, 501, 0, 0, 11392, 1625, 1, 0, 0, 0, 11393, 11395, 5, 362, 0, + 0, 11394, 11396, 3, 1628, 814, 0, 11395, 11394, 1, 0, 0, 0, 11395, 11396, + 1, 0, 0, 0, 11396, 11397, 1, 0, 0, 0, 11397, 11398, 5, 501, 0, 0, 11398, + 1627, 1, 0, 0, 0, 11399, 11401, 5, 16, 0, 0, 11400, 11402, 5, 270, 0, 0, + 11401, 11400, 1, 0, 0, 0, 11401, 11402, 1, 0, 0, 0, 11402, 11403, 1, 0, + 0, 0, 11403, 11404, 5, 49, 0, 0, 11404, 1629, 1, 0, 0, 0, 11405, 11406, + 5, 384, 0, 0, 11406, 11407, 3, 526, 263, 0, 11407, 11408, 5, 429, 0, 0, + 11408, 11409, 5, 101, 0, 0, 11409, 11410, 5, 501, 0, 0, 11410, 11418, 1, + 0, 0, 0, 11411, 11414, 5, 353, 0, 0, 11412, 11415, 3, 526, 263, 0, 11413, + 11415, 5, 10, 0, 0, 11414, 11412, 1, 0, 0, 0, 11414, 11413, 1, 0, 0, 0, + 11415, 11416, 1, 0, 0, 0, 11416, 11418, 5, 501, 0, 0, 11417, 11405, 1, + 0, 0, 0, 11417, 11411, 1, 0, 0, 0, 11418, 1631, 1, 0, 0, 0, 11419, 11422, + 3, 1428, 714, 0, 11420, 11422, 5, 522, 0, 0, 11421, 11419, 1, 0, 0, 0, + 11421, 11420, 1, 0, 0, 0, 11422, 1633, 1, 0, 0, 0, 11423, 11424, 5, 558, + 0, 0, 11424, 11425, 3, 1636, 818, 0, 11425, 1635, 1, 0, 0, 0, 11426, 11428, + 3, 1638, 819, 0, 11427, 11426, 1, 0, 0, 0, 11428, 11429, 1, 0, 0, 0, 11429, + 11427, 1, 0, 0, 0, 11429, 11430, 1, 0, 0, 0, 11430, 1637, 1, 0, 0, 0, 11431, + 11432, 5, 470, 0, 0, 11432, 11433, 3, 1640, 820, 0, 11433, 11434, 5, 425, + 0, 0, 11434, 11435, 3, 1498, 749, 0, 11435, 1639, 1, 0, 0, 0, 11436, 11441, + 3, 1642, 821, 0, 11437, 11438, 5, 296, 0, 0, 11438, 11440, 3, 1642, 821, + 0, 11439, 11437, 1, 0, 0, 0, 11440, 11443, 1, 0, 0, 0, 11441, 11439, 1, + 0, 0, 0, 11441, 11442, 1, 0, 0, 0, 11442, 1641, 1, 0, 0, 0, 11443, 11441, + 1, 0, 0, 0, 11444, 11448, 3, 1652, 826, 0, 11445, 11446, 5, 552, 0, 0, + 11446, 11448, 3, 1414, 707, 0, 11447, 11444, 1, 0, 0, 0, 11447, 11445, + 1, 0, 0, 0, 11448, 1643, 1, 0, 0, 0, 11449, 11450, 3, 1462, 731, 0, 11450, + 1645, 1, 0, 0, 0, 11451, 11452, 3, 1462, 731, 0, 11452, 1647, 1, 0, 0, + 0, 11453, 11454, 3, 1652, 826, 0, 11454, 1649, 1, 0, 0, 0, 11455, 11456, + 5, 470, 0, 0, 11456, 11457, 3, 1660, 830, 0, 11457, 1651, 1, 0, 0, 0, 11458, + 11461, 3, 1428, 714, 0, 11459, 11461, 3, 1654, 827, 0, 11460, 11458, 1, + 0, 0, 0, 11460, 11459, 1, 0, 0, 0, 11461, 1653, 1, 0, 0, 0, 11462, 11463, + 7, 72, 0, 0, 11463, 1655, 1, 0, 0, 0, 11464, 11466, 3, 1000, 500, 0, 11465, + 11464, 1, 0, 0, 0, 11465, 11466, 1, 0, 0, 0, 11466, 11467, 1, 0, 0, 0, + 11467, 11469, 3, 1382, 691, 0, 11468, 11470, 3, 1062, 531, 0, 11469, 11468, + 1, 0, 0, 0, 11469, 11470, 1, 0, 0, 0, 11470, 11472, 1, 0, 0, 0, 11471, + 11473, 3, 1102, 551, 0, 11472, 11471, 1, 0, 0, 0, 11472, 11473, 1, 0, 0, + 0, 11473, 11475, 1, 0, 0, 0, 11474, 11476, 3, 1032, 516, 0, 11475, 11474, + 1, 0, 0, 0, 11475, 11476, 1, 0, 0, 0, 11476, 11478, 1, 0, 0, 0, 11477, + 11479, 3, 1046, 523, 0, 11478, 11477, 1, 0, 0, 0, 11478, 11479, 1, 0, 0, + 0, 11479, 11481, 1, 0, 0, 0, 11480, 11482, 3, 1294, 647, 0, 11481, 11480, + 1, 0, 0, 0, 11481, 11482, 1, 0, 0, 0, 11482, 11484, 1, 0, 0, 0, 11483, + 11485, 3, 1004, 502, 0, 11484, 11483, 1, 0, 0, 0, 11484, 11485, 1, 0, 0, + 0, 11485, 11487, 1, 0, 0, 0, 11486, 11488, 3, 1014, 507, 0, 11487, 11486, + 1, 0, 0, 0, 11487, 11488, 1, 0, 0, 0, 11488, 11490, 1, 0, 0, 0, 11489, + 11491, 3, 1050, 525, 0, 11490, 11489, 1, 0, 0, 0, 11490, 11491, 1, 0, 0, + 0, 11491, 1657, 1, 0, 0, 0, 11492, 11493, 3, 1656, 828, 0, 11493, 1659, + 1, 0, 0, 0, 11494, 11495, 3, 1656, 828, 0, 11495, 1661, 1, 0, 0, 0, 11496, + 11497, 3, 1172, 586, 0, 11497, 1663, 1, 0, 0, 0, 11498, 11499, 3, 1172, + 586, 0, 11499, 1665, 1, 0, 0, 0, 11500, 11502, 3, 8, 4, 0, 11501, 11503, + 3, 1668, 834, 0, 11502, 11501, 1, 0, 0, 0, 11502, 11503, 1, 0, 0, 0, 11503, + 1667, 1, 0, 0, 0, 11504, 11506, 5, 204, 0, 0, 11505, 11507, 3, 992, 496, + 0, 11506, 11505, 1, 0, 0, 0, 11506, 11507, 1, 0, 0, 0, 11507, 11508, 1, + 0, 0, 0, 11508, 11509, 3, 1612, 806, 0, 11509, 1669, 1, 0, 0, 0, 11510, + 11511, 7, 73, 0, 0, 11511, 1671, 1, 0, 0, 0, 11512, 11513, 7, 74, 0, 0, + 11513, 1673, 1, 0, 0, 0, 11514, 11515, 7, 75, 0, 0, 11515, 1675, 1, 0, + 0, 0, 11516, 11517, 7, 76, 0, 0, 11517, 1677, 1, 0, 0, 0, 1160, 1687, 1691, + 1819, 1823, 1832, 1841, 1847, 1853, 1868, 1880, 1886, 1894, 1905, 1909, + 1917, 1925, 1943, 1946, 1951, 1960, 1969, 1973, 1985, 2005, 2018, 2025, + 2033, 2038, 2045, 2051, 2058, 2069, 2073, 2077, 2090, 2094, 2099, 2104, + 2116, 2125, 2138, 2143, 2154, 2160, 2166, 2171, 2182, 2188, 2194, 2203, + 2213, 2228, 2234, 2241, 2246, 2253, 2264, 2288, 2295, 2304, 2313, 2321, + 2331, 2340, 2349, 2357, 2365, 2374, 2383, 2387, 2394, 2402, 2412, 2418, + 2422, 2426, 2430, 2434, 2439, 2442, 2446, 2467, 2473, 2572, 2579, 2595, + 2609, 2619, 2621, 2626, 2630, 2633, 2639, 2641, 2669, 2679, 2692, 2699, + 2705, 2709, 2715, 2720, 2723, 2725, 2730, 2734, 2738, 2742, 2746, 2749, + 2753, 2761, 2765, 2769, 2778, 2785, 2790, 2797, 2802, 2809, 2814, 2832, + 2837, 2849, 2854, 2863, 2870, 2877, 2883, 2888, 2892, 2895, 2898, 2901, + 2904, 2907, 2912, 2915, 2918, 2921, 2924, 2927, 2933, 2937, 2940, 2943, + 2946, 2949, 2951, 2960, 2973, 2981, 2987, 2991, 2996, 3003, 3010, 3021, + 3028, 3031, 3034, 3039, 3042, 3049, 3058, 3065, 3070, 3073, 3076, 3078, + 3082, 3089, 3096, 3106, 3116, 3126, 3132, 3135, 3138, 3145, 3153, 3156, + 3159, 3166, 3170, 3176, 3179, 3182, 3185, 3197, 3200, 3203, 3207, 3221, + 3239, 3250, 3265, 3282, 3284, 3305, 3310, 3313, 3317, 3320, 3326, 3329, + 3331, 3340, 3349, 3368, 3372, 3383, 3392, 3398, 3404, 3408, 3411, 3414, + 3417, 3420, 3426, 3430, 3437, 3443, 3447, 3450, 3453, 3456, 3464, 3468, + 3472, 3478, 3482, 3488, 3502, 3511, 3529, 3534, 3537, 3540, 3550, 3557, + 3562, 3565, 3568, 3575, 3578, 3580, 3586, 3595, 3605, 3610, 3619, 3628, + 3632, 3639, 3649, 3660, 3770, 3778, 3781, 3791, 3796, 3806, 3817, 3829, + 3842, 3852, 3865, 3868, 3875, 3884, 3887, 3894, 3896, 3904, 3914, 3916, + 3924, 3928, 3933, 3944, 3948, 3953, 3963, 3969, 3982, 3988, 3990, 3997, + 4005, 4010, 4025, 4038, 4040, 4044, 4064, 4081, 4084, 4087, 4090, 4093, + 4101, 4104, 4107, 4153, 4156, 4159, 4177, 4184, 4193, 4199, 4206, 4216, + 4224, 4229, 4241, 4258, 4264, 4271, 4279, 4293, 4321, 4328, 4342, 4357, + 4370, 4379, 4404, 4415, 4482, 4493, 4499, 4507, 4518, 4532, 4541, 4551, + 4563, 4578, 4589, 4597, 4607, 4614, 4617, 4623, 4626, 4641, 4654, 4683, + 4690, 4705, 4714, 4725, 4727, 4736, 4747, 4749, 4756, 4771, 4777, 4785, + 4791, 4799, 4809, 4815, 4823, 4829, 4837, 4844, 4853, 4855, 4880, 4887, + 4898, 4904, 4913, 4918, 4924, 4931, 4936, 4940, 4943, 4949, 5098, 5102, + 5107, 5118, 5129, 5140, 5151, 5162, 5173, 5184, 5196, 5207, 5215, 5222, + 5228, 5236, 5241, 5246, 5251, 5257, 5264, 5270, 5276, 5281, 5287, 5294, + 5299, 5305, 5312, 5315, 5328, 5337, 5349, 5351, 5368, 5375, 5380, 5384, + 5388, 5394, 5396, 5458, 5465, 5471, 5478, 5484, 5495, 5498, 5505, 5508, + 5518, 5521, 5523, 5542, 5554, 5563, 5572, 5584, 5586, 5592, 5596, 5601, + 5604, 5609, 5615, 5618, 5621, 5624, 5627, 5643, 5647, 5650, 5653, 5656, + 5659, 5664, 5667, 5669, 5682, 5694, 5708, 5712, 5724, 5726, 5735, 5744, + 5752, 5761, 5763, 5767, 5776, 5781, 5787, 5792, 5796, 5801, 5806, 5812, + 5817, 5823, 5828, 5843, 5852, 5863, 5869, 5908, 5923, 5930, 5941, 5955, + 5963, 5968, 5976, 5984, 5990, 5998, 6004, 6012, 6014, 6020, 6028, 6030, + 6036, 6044, 6046, 6070, 6077, 6087, 6099, 6104, 6117, 6129, 6141, 6143, + 6149, 6154, 6162, 6169, 6214, 6219, 6226, 6231, 6238, 6248, 6258, 6262, + 6273, 6290, 6361, 6556, 6569, 6580, 6593, 6605, 6619, 6651, 6665, 6777, + 6779, 6790, 6801, 6812, 6825, 6837, 6848, 6855, 7076, 7091, 7102, 7109, + 7163, 7304, 7310, 7319, 7327, 7329, 7336, 7342, 7345, 7352, 7356, 7359, + 7364, 7367, 7371, 7374, 7377, 7408, 7418, 7425, 7448, 7457, 7475, 7481, + 7489, 7491, 7495, 7505, 7509, 7519, 7522, 7526, 7530, 7538, 7549, 7561, + 7565, 7568, 7572, 7575, 7580, 7584, 7587, 7591, 7594, 7598, 7601, 7612, + 7619, 7632, 7646, 7650, 7655, 7662, 7669, 7672, 7677, 7680, 7689, 7691, + 7696, 7700, 7712, 7715, 7722, 7726, 7731, 7741, 7750, 7753, 7761, 7772, + 7776, 7782, 7789, 7809, 7830, 7834, 7839, 7922, 7928, 7941, 7945, 7949, + 7953, 7959, 7966, 7969, 7972, 7975, 7978, 7985, 7987, 7991, 7994, 8001, + 8003, 8010, 8017, 8021, 8025, 8041, 8048, 8058, 8071, 8082, 8089, 8094, + 8098, 8102, 8107, 8121, 8126, 8130, 8138, 8141, 8145, 8156, 8159, 8161, + 8177, 8180, 8187, 8190, 8195, 8210, 8216, 8225, 8234, 8241, 8244, 8250, + 8255, 8261, 8266, 8270, 8275, 8278, 8284, 8288, 8290, 8293, 8300, 8303, + 8310, 8318, 8321, 8330, 8335, 8341, 8344, 8347, 8354, 8358, 8361, 8376, + 8379, 8386, 8389, 8396, 8399, 8402, 8409, 8422, 8432, 8440, 8452, 8454, + 8461, 8465, 8475, 8478, 8482, 8486, 8490, 8492, 8497, 8502, 8508, 8513, + 8518, 8521, 8524, 8529, 8532, 8535, 8538, 8541, 8544, 8547, 8553, 8557, + 8566, 8571, 8575, 8584, 8590, 8594, 8599, 8603, 8608, 8614, 8626, 8641, + 8648, 8650, 8653, 8657, 8661, 8663, 8671, 8680, 8686, 8688, 8690, 8697, + 8701, 8710, 8714, 8729, 8737, 8765, 8772, 8776, 8779, 8784, 8788, 8791, + 8807, 8818, 8823, 8826, 8830, 8834, 8838, 8843, 8847, 8851, 8853, 8858, + 8862, 8864, 8869, 8877, 8882, 8888, 8891, 8898, 8903, 8910, 8915, 8918, + 8924, 8928, 8937, 8941, 8949, 8951, 8958, 8963, 8966, 8974, 8983, 8991, + 8993, 8997, 9004, 9023, 9032, 9038, 9057, 9066, 9072, 9076, 9081, 9091, + 9098, 9107, 9110, 9119, 9121, 9127, 9131, 9136, 9146, 9152, 9155, 9162, + 9167, 9170, 9173, 9188, 9194, 9198, 9202, 9205, 9213, 9217, 9221, 9229, + 9236, 9243, 9247, 9253, 9255, 9264, 9267, 9277, 9293, 9299, 9304, 9311, + 9320, 9327, 9335, 9343, 9348, 9352, 9358, 9362, 9366, 9369, 9375, 9380, + 9396, 9399, 9401, 9413, 9415, 9419, 9425, 9429, 9431, 9439, 9443, 9452, + 9460, 9466, 9469, 9478, 9483, 9490, 9500, 9526, 9537, 9539, 9541, 9549, + 9572, 9580, 9590, 9593, 9598, 9603, 9607, 9613, 9616, 9619, 9623, 9626, + 9629, 9634, 9640, 9643, 9646, 9654, 9657, 9660, 9664, 9669, 9687, 9694, + 9701, 9708, 9726, 9734, 9746, 9764, 9803, 9805, 9825, 9835, 9846, 9867, + 9870, 9873, 9880, 9887, 9890, 9898, 9901, 9908, 9915, 9928, 9941, 9944, + 9948, 9951, 9961, 9964, 9974, 9977, 9980, 9984, 10005, 10010, 10022, 10032, + 10037, 10040, 10043, 10053, 10066, 10073, 10079, 10084, 10089, 10091, 10099, + 10107, 10114, 10125, 10129, 10137, 10144, 10156, 10168, 10174, 10182, 10199, + 10224, 10234, 10238, 10241, 10244, 10247, 10260, 10265, 10270, 10272, 10280, + 10289, 10298, 10303, 10312, 10317, 10331, 10341, 10349, 10363, 10370, 10378, + 10386, 10393, 10399, 10408, 10423, 10434, 10467, 10476, 10483, 10487, 10491, + 10498, 10512, 10517, 10522, 10526, 10528, 10531, 10538, 10543, 10553, 10559, + 10562, 10567, 10574, 10579, 10586, 10601, 10613, 10618, 10626, 10633, 10638, + 10650, 10658, 10663, 10673, 10680, 10687, 10696, 10702, 10708, 10714, 10722, + 10726, 10733, 10740, 10745, 10768, 10776, 10784, 10788, 10791, 10795, 10797, + 10804, 10813, 10820, 10824, 10827, 10830, 10833, 10837, 10842, 10849, 10862, + 10872, 10891, 10898, 10928, 10938, 10947, 10952, 10963, 10976, 10989, 10997, + 11006, 11019, 11027, 11031, 11042, 11053, 11058, 11065, 11075, 11082, 11085, + 11091, 11093, 11104, 11117, 11122, 11134, 11137, 11150, 11153, 11156, 11158, + 11166, 11170, 11173, 11179, 11183, 11189, 11194, 11200, 11203, 11207, 11215, + 11229, 11235, 11247, 11257, 11260, 11263, 11266, 11269, 11281, 11286, 11293, + 11300, 11302, 11309, 11311, 11320, 11327, 11334, 11342, 11345, 11369, 11371, + 11375, 11389, 11395, 11401, 11414, 11417, 11421, 11429, 11441, 11447, 11460, + 11465, 11469, 11472, 11475, 11478, 11481, 11484, 11487, 11490, 11502, 11506, } deserializer := antlr.NewATNDeserializer(nil) staticData.atn = deserializer.Deserialize(staticData.serializedATN) @@ -6588,713 +6538,611 @@ func NewPostgreSQLParser(input antlr.TokenStream) *PostgreSQLParser { // PostgreSQLParser tokens. const ( PostgreSQLParserEOF = antlr.TokenEOF - PostgreSQLParserDollar = 1 - PostgreSQLParserOPEN_PAREN = 2 - PostgreSQLParserCLOSE_PAREN = 3 - PostgreSQLParserOPEN_BRACKET = 4 - PostgreSQLParserCLOSE_BRACKET = 5 - PostgreSQLParserCOMMA = 6 - PostgreSQLParserSEMI = 7 - PostgreSQLParserCOLON = 8 - PostgreSQLParserSTAR = 9 - PostgreSQLParserEQUAL = 10 - PostgreSQLParserDOT = 11 - PostgreSQLParserPLUS = 12 - PostgreSQLParserMINUS = 13 - PostgreSQLParserSLASH = 14 - PostgreSQLParserCARET = 15 - PostgreSQLParserLT = 16 - PostgreSQLParserGT = 17 - PostgreSQLParserLESS_LESS = 18 - PostgreSQLParserGREATER_GREATER = 19 - PostgreSQLParserCOLON_EQUALS = 20 - PostgreSQLParserLESS_EQUALS = 21 - PostgreSQLParserEQUALS_GREATER = 22 - PostgreSQLParserGREATER_EQUALS = 23 - PostgreSQLParserDOT_DOT = 24 - PostgreSQLParserNOT_EQUALS = 25 - PostgreSQLParserTYPECAST = 26 - PostgreSQLParserPERCENT = 27 - PostgreSQLParserPARAM = 28 - PostgreSQLParserOperator = 29 - PostgreSQLParserALL = 30 - PostgreSQLParserANALYSE = 31 - PostgreSQLParserANALYZE = 32 - PostgreSQLParserAND = 33 - PostgreSQLParserANY = 34 - PostgreSQLParserARRAY = 35 - PostgreSQLParserAS = 36 - PostgreSQLParserASC = 37 - PostgreSQLParserASYMMETRIC = 38 - PostgreSQLParserBOTH = 39 - PostgreSQLParserCASE = 40 - PostgreSQLParserCAST = 41 - PostgreSQLParserCHECK = 42 - PostgreSQLParserCOLLATE = 43 - PostgreSQLParserCOLUMN = 44 - PostgreSQLParserCONSTRAINT = 45 - PostgreSQLParserCREATE = 46 - PostgreSQLParserCURRENT_CATALOG = 47 - PostgreSQLParserCURRENT_DATE = 48 - PostgreSQLParserCURRENT_ROLE = 49 - PostgreSQLParserCURRENT_TIME = 50 - PostgreSQLParserCURRENT_TIMESTAMP = 51 - PostgreSQLParserCURRENT_USER = 52 - PostgreSQLParserDEFAULT = 53 - PostgreSQLParserDEFERRABLE = 54 - PostgreSQLParserDESC = 55 - PostgreSQLParserDISTINCT = 56 - PostgreSQLParserDO = 57 - PostgreSQLParserELSE = 58 - PostgreSQLParserEXCEPT = 59 - PostgreSQLParserFALSE_P = 60 - PostgreSQLParserFETCH = 61 - PostgreSQLParserFOR = 62 - PostgreSQLParserFOREIGN = 63 - PostgreSQLParserFROM = 64 - PostgreSQLParserGRANT = 65 - PostgreSQLParserGROUP_P = 66 - PostgreSQLParserHAVING = 67 - PostgreSQLParserIN_P = 68 - PostgreSQLParserINITIALLY = 69 - PostgreSQLParserINTERSECT = 70 - PostgreSQLParserINTO = 71 - PostgreSQLParserLATERAL_P = 72 - PostgreSQLParserLEADING = 73 - PostgreSQLParserLIMIT = 74 - PostgreSQLParserLOCALTIME = 75 - PostgreSQLParserLOCALTIMESTAMP = 76 - PostgreSQLParserNOT = 77 - PostgreSQLParserNULL_P = 78 - PostgreSQLParserOFFSET = 79 - PostgreSQLParserON = 80 - PostgreSQLParserONLY = 81 - PostgreSQLParserOR = 82 - PostgreSQLParserORDER = 83 - PostgreSQLParserPLACING = 84 - PostgreSQLParserPRIMARY = 85 - PostgreSQLParserREFERENCES = 86 - PostgreSQLParserRETURNING = 87 - PostgreSQLParserSELECT = 88 - PostgreSQLParserSESSION_USER = 89 - PostgreSQLParserSOME = 90 - PostgreSQLParserSYMMETRIC = 91 - PostgreSQLParserTABLE = 92 - PostgreSQLParserTHEN = 93 - PostgreSQLParserTO = 94 - PostgreSQLParserTRAILING = 95 - PostgreSQLParserTRUE_P = 96 - PostgreSQLParserUNION = 97 - PostgreSQLParserUNIQUE = 98 - PostgreSQLParserUSER = 99 - PostgreSQLParserUSING = 100 - PostgreSQLParserVARIADIC = 101 - PostgreSQLParserWHEN = 102 - PostgreSQLParserWHERE = 103 - PostgreSQLParserWINDOW = 104 - PostgreSQLParserWITH = 105 - PostgreSQLParserJSON_OBJECT = 106 - PostgreSQLParserJSON_ARRAY = 107 - PostgreSQLParserJSON = 108 - PostgreSQLParserJSON_SCALAR = 109 - PostgreSQLParserJSON_SERIALIZE = 110 - PostgreSQLParserMERGE_ACTION = 111 - PostgreSQLParserJSON_QUERY = 112 - PostgreSQLParserJSON_EXISTS = 113 - PostgreSQLParserJSON_VALUE = 114 - PostgreSQLParserEMPTY = 115 - PostgreSQLParserKEEP = 116 - PostgreSQLParserOMIT = 117 - PostgreSQLParserSCALAR = 118 - PostgreSQLParserSTRING = 119 - PostgreSQLParserCONDITIONAL = 120 - PostgreSQLParserUNCONDITIONAL = 121 - PostgreSQLParserKEYS = 122 - PostgreSQLParserABSENT = 123 - PostgreSQLParserQUOTES = 124 - PostgreSQLParserAUTHORIZATION = 125 - PostgreSQLParserBINARY = 126 - PostgreSQLParserCOLLATION = 127 - PostgreSQLParserCONCURRENTLY = 128 - PostgreSQLParserCROSS = 129 - PostgreSQLParserCURRENT_SCHEMA = 130 - PostgreSQLParserFREEZE = 131 - PostgreSQLParserFULL = 132 - PostgreSQLParserILIKE = 133 - PostgreSQLParserINNER_P = 134 - PostgreSQLParserIS = 135 - PostgreSQLParserISNULL = 136 - PostgreSQLParserJOIN = 137 - PostgreSQLParserLEFT = 138 - PostgreSQLParserLIKE = 139 - PostgreSQLParserNATURAL = 140 - PostgreSQLParserNOTNULL = 141 - PostgreSQLParserOUTER_P = 142 - PostgreSQLParserOVER = 143 - PostgreSQLParserOVERLAPS = 144 - PostgreSQLParserRIGHT = 145 - PostgreSQLParserSIMILAR = 146 - PostgreSQLParserVERBOSE = 147 - PostgreSQLParserABORT_P = 148 - PostgreSQLParserABSOLUTE_P = 149 - PostgreSQLParserACCESS = 150 - PostgreSQLParserACTION = 151 - PostgreSQLParserADD_P = 152 - PostgreSQLParserADMIN = 153 - PostgreSQLParserAFTER = 154 - PostgreSQLParserAGGREGATE = 155 - PostgreSQLParserALSO = 156 - PostgreSQLParserALTER = 157 - PostgreSQLParserALWAYS = 158 - PostgreSQLParserASSERTION = 159 - PostgreSQLParserASSIGNMENT = 160 - PostgreSQLParserAT = 161 - PostgreSQLParserATTRIBUTE = 162 - PostgreSQLParserBACKWARD = 163 - PostgreSQLParserBEFORE = 164 - PostgreSQLParserBEGIN_P = 165 - PostgreSQLParserBY = 166 - PostgreSQLParserCACHE = 167 - PostgreSQLParserCALLED = 168 - PostgreSQLParserCASCADE = 169 - PostgreSQLParserCASCADED = 170 - PostgreSQLParserCATALOG = 171 - PostgreSQLParserCHAIN = 172 - PostgreSQLParserCHARACTERISTICS = 173 - PostgreSQLParserCHECKPOINT = 174 - PostgreSQLParserCLASS = 175 - PostgreSQLParserCLOSE = 176 - PostgreSQLParserCLUSTER = 177 - PostgreSQLParserCOMMENT = 178 - PostgreSQLParserCOMMENTS = 179 - PostgreSQLParserCOMMIT = 180 - PostgreSQLParserCOMMITTED = 181 - PostgreSQLParserCONFIGURATION = 182 - PostgreSQLParserCONNECTION = 183 - PostgreSQLParserCONSTRAINTS = 184 - PostgreSQLParserCONTENT_P = 185 - PostgreSQLParserCONTINUE_P = 186 - PostgreSQLParserCONVERSION_P = 187 - PostgreSQLParserCOPY = 188 - PostgreSQLParserCOST = 189 - PostgreSQLParserCSV = 190 - PostgreSQLParserCURSOR = 191 - PostgreSQLParserCYCLE = 192 - PostgreSQLParserDATA_P = 193 - PostgreSQLParserDATABASE = 194 - PostgreSQLParserDAY_P = 195 - PostgreSQLParserDEALLOCATE = 196 - PostgreSQLParserDECLARE = 197 - PostgreSQLParserDEFAULTS = 198 - PostgreSQLParserDEFERRED = 199 - PostgreSQLParserDEFINER = 200 - PostgreSQLParserDELETE_P = 201 - PostgreSQLParserDELIMITER = 202 - PostgreSQLParserDELIMITERS = 203 - PostgreSQLParserDICTIONARY = 204 - PostgreSQLParserDISABLE_P = 205 - PostgreSQLParserDISCARD = 206 - PostgreSQLParserDOCUMENT_P = 207 - PostgreSQLParserDOMAIN_P = 208 - PostgreSQLParserDOUBLE_P = 209 - PostgreSQLParserDROP = 210 - PostgreSQLParserEACH = 211 - PostgreSQLParserENABLE_P = 212 - PostgreSQLParserENCODING = 213 - PostgreSQLParserENCRYPTED = 214 - PostgreSQLParserENUM_P = 215 - PostgreSQLParserESCAPE = 216 - PostgreSQLParserEVENT = 217 - PostgreSQLParserEXCLUDE = 218 - PostgreSQLParserEXCLUDING = 219 - PostgreSQLParserEXCLUSIVE = 220 - PostgreSQLParserEXECUTE = 221 - PostgreSQLParserEXPLAIN = 222 - PostgreSQLParserEXTENSION = 223 - PostgreSQLParserEXTERNAL = 224 - PostgreSQLParserFAMILY = 225 - PostgreSQLParserFIRST_P = 226 - PostgreSQLParserFOLLOWING = 227 - PostgreSQLParserFORCE = 228 - PostgreSQLParserFORWARD = 229 - PostgreSQLParserFUNCTION = 230 - PostgreSQLParserFUNCTIONS = 231 - PostgreSQLParserGLOBAL = 232 - PostgreSQLParserGRANTED = 233 - PostgreSQLParserHANDLER = 234 - PostgreSQLParserHEADER_P = 235 - PostgreSQLParserHOLD = 236 - PostgreSQLParserHOUR_P = 237 - PostgreSQLParserIDENTITY_P = 238 - PostgreSQLParserIF_P = 239 - PostgreSQLParserIMMEDIATE = 240 - PostgreSQLParserIMMUTABLE = 241 - PostgreSQLParserIMPLICIT_P = 242 - PostgreSQLParserINCLUDING = 243 - PostgreSQLParserINCREMENT = 244 - PostgreSQLParserINDEX = 245 - PostgreSQLParserINDEXES = 246 - PostgreSQLParserINHERIT = 247 - PostgreSQLParserINHERITS = 248 - PostgreSQLParserINLINE_P = 249 - PostgreSQLParserINSENSITIVE = 250 - PostgreSQLParserINSERT = 251 - PostgreSQLParserINSTEAD = 252 - PostgreSQLParserINVOKER = 253 - PostgreSQLParserISOLATION = 254 - PostgreSQLParserKEY = 255 - PostgreSQLParserLABEL = 256 - PostgreSQLParserLANGUAGE = 257 - PostgreSQLParserLARGE_P = 258 - PostgreSQLParserLAST_P = 259 - PostgreSQLParserLEAKPROOF = 260 - PostgreSQLParserLEVEL = 261 - PostgreSQLParserLISTEN = 262 - PostgreSQLParserLOAD = 263 - PostgreSQLParserLOCAL = 264 - PostgreSQLParserLOCATION = 265 - PostgreSQLParserLOCK_P = 266 - PostgreSQLParserMAPPING = 267 - PostgreSQLParserMATCH = 268 - PostgreSQLParserMATCHED = 269 - PostgreSQLParserMATERIALIZED = 270 - PostgreSQLParserMAXVALUE = 271 - PostgreSQLParserMERGE = 272 - PostgreSQLParserMINUTE_P = 273 - PostgreSQLParserMINVALUE = 274 - PostgreSQLParserMODE = 275 - PostgreSQLParserMONTH_P = 276 - PostgreSQLParserMOVE = 277 - PostgreSQLParserNAME_P = 278 - PostgreSQLParserNAMES = 279 - PostgreSQLParserNEXT = 280 - PostgreSQLParserNO = 281 - PostgreSQLParserNOTHING = 282 - PostgreSQLParserNOTIFY = 283 - PostgreSQLParserNOWAIT = 284 - PostgreSQLParserNULLS_P = 285 - PostgreSQLParserOBJECT_P = 286 - PostgreSQLParserOF = 287 - PostgreSQLParserOFF = 288 - PostgreSQLParserOIDS = 289 - PostgreSQLParserOPERATOR = 290 - PostgreSQLParserOPTION = 291 - PostgreSQLParserOPTIONS = 292 - PostgreSQLParserOWNED = 293 - PostgreSQLParserOWNER = 294 - PostgreSQLParserPARSER = 295 - PostgreSQLParserPARTIAL = 296 - PostgreSQLParserPARTITION = 297 - PostgreSQLParserPASSING = 298 - PostgreSQLParserPASSWORD = 299 - PostgreSQLParserPLANS = 300 - PostgreSQLParserPRECEDING = 301 - PostgreSQLParserPREPARE = 302 - PostgreSQLParserPREPARED = 303 - PostgreSQLParserPRESERVE = 304 - PostgreSQLParserPRIOR = 305 - PostgreSQLParserPRIVILEGES = 306 - PostgreSQLParserPROCEDURAL = 307 - PostgreSQLParserPROCEDURE = 308 - PostgreSQLParserPROGRAM = 309 - PostgreSQLParserQUOTE = 310 - PostgreSQLParserRANGE = 311 - PostgreSQLParserREAD = 312 - PostgreSQLParserREASSIGN = 313 - PostgreSQLParserRECHECK = 314 - PostgreSQLParserRECURSIVE = 315 - PostgreSQLParserREF = 316 - PostgreSQLParserREFRESH = 317 - PostgreSQLParserREINDEX = 318 - PostgreSQLParserRELATIVE_P = 319 - PostgreSQLParserRELEASE = 320 - PostgreSQLParserRENAME = 321 - PostgreSQLParserREPEATABLE = 322 - PostgreSQLParserREPLACE = 323 - PostgreSQLParserREPLICA = 324 - PostgreSQLParserRESET = 325 - PostgreSQLParserRESTART = 326 - PostgreSQLParserRESTRICT = 327 - PostgreSQLParserRETURNS = 328 - PostgreSQLParserREVOKE = 329 - PostgreSQLParserROLE = 330 - PostgreSQLParserROLLBACK = 331 - PostgreSQLParserROWS = 332 - PostgreSQLParserRULE = 333 - PostgreSQLParserSAVEPOINT = 334 - PostgreSQLParserSCHEMA = 335 - PostgreSQLParserSCROLL = 336 - PostgreSQLParserSEARCH = 337 - PostgreSQLParserSECOND_P = 338 - PostgreSQLParserSECURITY = 339 - PostgreSQLParserSEQUENCE = 340 - PostgreSQLParserSEQUENCES = 341 - PostgreSQLParserSERIALIZABLE = 342 - PostgreSQLParserSERVER = 343 - PostgreSQLParserSESSION = 344 - PostgreSQLParserSET = 345 - PostgreSQLParserSHARE = 346 - PostgreSQLParserSHOW = 347 - PostgreSQLParserSIMPLE = 348 - PostgreSQLParserSNAPSHOT = 349 - PostgreSQLParserSTABLE = 350 - PostgreSQLParserSTANDALONE_P = 351 - PostgreSQLParserSTART = 352 - PostgreSQLParserSTATEMENT = 353 - PostgreSQLParserSTATISTICS = 354 - PostgreSQLParserSTDIN = 355 - PostgreSQLParserSTDOUT = 356 - PostgreSQLParserSTORAGE = 357 - PostgreSQLParserSTRICT_P = 358 - PostgreSQLParserSTRIP_P = 359 - PostgreSQLParserSYSID = 360 - PostgreSQLParserSYSTEM_P = 361 - PostgreSQLParserTABLES = 362 - PostgreSQLParserTABLESPACE = 363 - PostgreSQLParserTEMP = 364 - PostgreSQLParserTEMPLATE = 365 - PostgreSQLParserTEMPORARY = 366 - PostgreSQLParserTEXT_P = 367 - PostgreSQLParserTRANSACTION = 368 - PostgreSQLParserTRIGGER = 369 - PostgreSQLParserTRUNCATE = 370 - PostgreSQLParserTRUSTED = 371 - PostgreSQLParserTYPE_P = 372 - PostgreSQLParserTYPES_P = 373 - PostgreSQLParserUNBOUNDED = 374 - PostgreSQLParserUNCOMMITTED = 375 - PostgreSQLParserUNENCRYPTED = 376 - PostgreSQLParserUNKNOWN = 377 - PostgreSQLParserUNLISTEN = 378 - PostgreSQLParserUNLOGGED = 379 - PostgreSQLParserUNTIL = 380 - PostgreSQLParserUPDATE = 381 - PostgreSQLParserVACUUM = 382 - PostgreSQLParserVALID = 383 - PostgreSQLParserVALIDATE = 384 - PostgreSQLParserVALIDATOR = 385 - PostgreSQLParserVARYING = 386 - PostgreSQLParserVERSION_P = 387 - PostgreSQLParserVIEW = 388 - PostgreSQLParserVOLATILE = 389 - PostgreSQLParserWHITESPACE_P = 390 - PostgreSQLParserWITHOUT = 391 - PostgreSQLParserWORK = 392 - PostgreSQLParserWRAPPER = 393 - PostgreSQLParserWRITE = 394 - PostgreSQLParserXML_P = 395 - PostgreSQLParserYEAR_P = 396 - PostgreSQLParserYES_P = 397 - PostgreSQLParserZONE = 398 - PostgreSQLParserATOMIC_P = 399 - PostgreSQLParserBETWEEN = 400 - PostgreSQLParserBIGINT = 401 - PostgreSQLParserBIT = 402 - PostgreSQLParserBOOLEAN_P = 403 - PostgreSQLParserCHAR_P = 404 - PostgreSQLParserCHARACTER = 405 - PostgreSQLParserCOALESCE = 406 - PostgreSQLParserDEC = 407 - PostgreSQLParserDECIMAL_P = 408 - PostgreSQLParserEXISTS = 409 - PostgreSQLParserEXTRACT = 410 - PostgreSQLParserFLOAT_P = 411 - PostgreSQLParserGREATEST = 412 - PostgreSQLParserINOUT = 413 - PostgreSQLParserINT_P = 414 - PostgreSQLParserINTEGER = 415 - PostgreSQLParserINTERVAL = 416 - PostgreSQLParserLEAST = 417 - PostgreSQLParserNATIONAL = 418 - PostgreSQLParserNCHAR = 419 - PostgreSQLParserNONE = 420 - PostgreSQLParserNULLIF = 421 - PostgreSQLParserNUMERIC = 422 - PostgreSQLParserOVERLAY = 423 - PostgreSQLParserPARAMETER = 424 - PostgreSQLParserPOSITION = 425 - PostgreSQLParserPRECISION = 426 - PostgreSQLParserREAL = 427 - PostgreSQLParserROW = 428 - PostgreSQLParserSETOF = 429 - PostgreSQLParserSMALLINT = 430 - PostgreSQLParserSUBSTRING = 431 - PostgreSQLParserTIME = 432 - PostgreSQLParserTIMESTAMP = 433 - PostgreSQLParserTREAT = 434 + PostgreSQLParserABORT_P = 1 + PostgreSQLParserABSENT = 2 + PostgreSQLParserABSOLUTE_P = 3 + PostgreSQLParserACCESS = 4 + PostgreSQLParserACTION = 5 + PostgreSQLParserADD_P = 6 + PostgreSQLParserADMIN = 7 + PostgreSQLParserAFTER = 8 + PostgreSQLParserAGGREGATE = 9 + PostgreSQLParserALL = 10 + PostgreSQLParserALSO = 11 + PostgreSQLParserALTER = 12 + PostgreSQLParserALWAYS = 13 + PostgreSQLParserANALYSE = 14 + PostgreSQLParserANALYZE = 15 + PostgreSQLParserAND = 16 + PostgreSQLParserANY = 17 + PostgreSQLParserARRAY = 18 + PostgreSQLParserAS = 19 + PostgreSQLParserASC = 20 + PostgreSQLParserASENSITIVE = 21 + PostgreSQLParserASSERTION = 22 + PostgreSQLParserASSIGNMENT = 23 + PostgreSQLParserASYMMETRIC = 24 + PostgreSQLParserAT = 25 + PostgreSQLParserATOMIC = 26 + PostgreSQLParserATTACH = 27 + PostgreSQLParserATTRIBUTE = 28 + PostgreSQLParserAUTHORIZATION = 29 + PostgreSQLParserBACKWARD = 30 + PostgreSQLParserBEFORE = 31 + PostgreSQLParserBEGIN_P = 32 + PostgreSQLParserBETWEEN = 33 + PostgreSQLParserBIGINT = 34 + PostgreSQLParserBINARY = 35 + PostgreSQLParserBIT = 36 + PostgreSQLParserBOOLEAN_P = 37 + PostgreSQLParserBOTH = 38 + PostgreSQLParserBREADTH = 39 + PostgreSQLParserBY = 40 + PostgreSQLParserCACHE = 41 + PostgreSQLParserCALL = 42 + PostgreSQLParserCALLED = 43 + PostgreSQLParserCASCADE = 44 + PostgreSQLParserCASCADED = 45 + PostgreSQLParserCASE = 46 + PostgreSQLParserCAST = 47 + PostgreSQLParserCATALOG_P = 48 + PostgreSQLParserCHAIN = 49 + PostgreSQLParserCHAR_P = 50 + PostgreSQLParserCHARACTER = 51 + PostgreSQLParserCHARACTERISTICS = 52 + PostgreSQLParserCHECK = 53 + PostgreSQLParserCHECKPOINT = 54 + PostgreSQLParserCLASS = 55 + PostgreSQLParserCLOSE = 56 + PostgreSQLParserCLUSTER = 57 + PostgreSQLParserCOALESCE = 58 + PostgreSQLParserCOLLATE = 59 + PostgreSQLParserCOLLATION = 60 + PostgreSQLParserCOLUMN = 61 + PostgreSQLParserCOLUMNS = 62 + PostgreSQLParserCOMMENT = 63 + PostgreSQLParserCOMMENTS = 64 + PostgreSQLParserCOMMIT = 65 + PostgreSQLParserCOMMITTED = 66 + PostgreSQLParserCOMPRESSION = 67 + PostgreSQLParserCONCURRENTLY = 68 + PostgreSQLParserCONDITIONAL = 69 + PostgreSQLParserCONFIGURATION = 70 + PostgreSQLParserCONFLICT = 71 + PostgreSQLParserCONNECTION = 72 + PostgreSQLParserCONSTRAINT = 73 + PostgreSQLParserCONSTRAINTS = 74 + PostgreSQLParserCONTENT_P = 75 + PostgreSQLParserCONTINUE_P = 76 + PostgreSQLParserCONVERSION_P = 77 + PostgreSQLParserCOPY = 78 + PostgreSQLParserCOST = 79 + PostgreSQLParserCREATE = 80 + PostgreSQLParserCROSS = 81 + PostgreSQLParserCSV = 82 + PostgreSQLParserCUBE = 83 + PostgreSQLParserCURRENT_P = 84 + PostgreSQLParserCURRENT_CATALOG = 85 + PostgreSQLParserCURRENT_DATE = 86 + PostgreSQLParserCURRENT_ROLE = 87 + PostgreSQLParserCURRENT_SCHEMA = 88 + PostgreSQLParserCURRENT_TIME = 89 + PostgreSQLParserCURRENT_TIMESTAMP = 90 + PostgreSQLParserCURRENT_USER = 91 + PostgreSQLParserCURSOR = 92 + PostgreSQLParserCYCLE = 93 + PostgreSQLParserDATA_P = 94 + PostgreSQLParserDATABASE = 95 + PostgreSQLParserDAY_P = 96 + PostgreSQLParserDEALLOCATE = 97 + PostgreSQLParserDEC = 98 + PostgreSQLParserDECIMAL_P = 99 + PostgreSQLParserDECLARE = 100 + PostgreSQLParserDEFAULT = 101 + PostgreSQLParserDEFAULTS = 102 + PostgreSQLParserDEFERRABLE = 103 + PostgreSQLParserDEFERRED = 104 + PostgreSQLParserDEFINER = 105 + PostgreSQLParserDELETE_P = 106 + PostgreSQLParserDELIMITER = 107 + PostgreSQLParserDELIMITERS = 108 + PostgreSQLParserDEPENDS = 109 + PostgreSQLParserDEPTH = 110 + PostgreSQLParserDESC = 111 + PostgreSQLParserDETACH = 112 + PostgreSQLParserDICTIONARY = 113 + PostgreSQLParserDISABLE_P = 114 + PostgreSQLParserDISCARD = 115 + PostgreSQLParserDISTINCT = 116 + PostgreSQLParserDO = 117 + PostgreSQLParserDOCUMENT_P = 118 + PostgreSQLParserDOMAIN_P = 119 + PostgreSQLParserDOUBLE_P = 120 + PostgreSQLParserDROP = 121 + PostgreSQLParserEACH = 122 + PostgreSQLParserELSE = 123 + PostgreSQLParserEMPTY_P = 124 + PostgreSQLParserENABLE_P = 125 + PostgreSQLParserENCODING = 126 + PostgreSQLParserENCRYPTED = 127 + PostgreSQLParserEND_P = 128 + PostgreSQLParserENFORCED = 129 + PostgreSQLParserENUM_P = 130 + PostgreSQLParserERROR_P = 131 + PostgreSQLParserESCAPE = 132 + PostgreSQLParserEVENT = 133 + PostgreSQLParserEXCEPT = 134 + PostgreSQLParserEXCLUDE = 135 + PostgreSQLParserEXCLUDING = 136 + PostgreSQLParserEXCLUSIVE = 137 + PostgreSQLParserEXECUTE = 138 + PostgreSQLParserEXISTS = 139 + PostgreSQLParserEXPLAIN = 140 + PostgreSQLParserEXPRESSION = 141 + PostgreSQLParserEXTENSION = 142 + PostgreSQLParserEXTERNAL = 143 + PostgreSQLParserEXTRACT = 144 + PostgreSQLParserFALSE_P = 145 + PostgreSQLParserFAMILY = 146 + PostgreSQLParserFETCH = 147 + PostgreSQLParserFILTER = 148 + PostgreSQLParserFINALIZE = 149 + PostgreSQLParserFIRST_P = 150 + PostgreSQLParserFLOAT_P = 151 + PostgreSQLParserFOLLOWING = 152 + PostgreSQLParserFOR = 153 + PostgreSQLParserFORCE = 154 + PostgreSQLParserFOREIGN = 155 + PostgreSQLParserFORMAT = 156 + PostgreSQLParserFORWARD = 157 + PostgreSQLParserFREEZE = 158 + PostgreSQLParserFROM = 159 + PostgreSQLParserFULL = 160 + PostgreSQLParserFUNCTION = 161 + PostgreSQLParserFUNCTIONS = 162 + PostgreSQLParserGENERATED = 163 + PostgreSQLParserGLOBAL = 164 + PostgreSQLParserGRANT = 165 + PostgreSQLParserGRANTED = 166 + PostgreSQLParserGREATEST = 167 + PostgreSQLParserGROUP_P = 168 + PostgreSQLParserGROUPING = 169 + PostgreSQLParserGROUPS = 170 + PostgreSQLParserHANDLER = 171 + PostgreSQLParserHAVING = 172 + PostgreSQLParserHEADER_P = 173 + PostgreSQLParserHOLD = 174 + PostgreSQLParserHOUR_P = 175 + PostgreSQLParserIDENTITY_P = 176 + PostgreSQLParserIF_P = 177 + PostgreSQLParserILIKE = 178 + PostgreSQLParserIMMEDIATE = 179 + PostgreSQLParserIMMUTABLE = 180 + PostgreSQLParserIMPLICIT_P = 181 + PostgreSQLParserIMPORT_P = 182 + PostgreSQLParserIN_P = 183 + PostgreSQLParserINCLUDE = 184 + PostgreSQLParserINCLUDING = 185 + PostgreSQLParserINCREMENT = 186 + PostgreSQLParserINDENT = 187 + PostgreSQLParserINDEX = 188 + PostgreSQLParserINDEXES = 189 + PostgreSQLParserINHERIT = 190 + PostgreSQLParserINHERITS = 191 + PostgreSQLParserINITIALLY = 192 + PostgreSQLParserINLINE_P = 193 + PostgreSQLParserINNER_P = 194 + PostgreSQLParserINOUT = 195 + PostgreSQLParserINPUT_P = 196 + PostgreSQLParserINSENSITIVE = 197 + PostgreSQLParserINSERT = 198 + PostgreSQLParserINSTEAD = 199 + PostgreSQLParserINT_P = 200 + PostgreSQLParserINTEGER = 201 + PostgreSQLParserINTERSECT = 202 + PostgreSQLParserINTERVAL = 203 + PostgreSQLParserINTO = 204 + PostgreSQLParserINVOKER = 205 + PostgreSQLParserIS = 206 + PostgreSQLParserISNULL = 207 + PostgreSQLParserISOLATION = 208 + PostgreSQLParserJOIN = 209 + PostgreSQLParserJSON = 210 + PostgreSQLParserJSON_ARRAY = 211 + PostgreSQLParserJSON_ARRAYAGG = 212 + PostgreSQLParserJSON_EXISTS = 213 + PostgreSQLParserJSON_OBJECT = 214 + PostgreSQLParserJSON_OBJECTAGG = 215 + PostgreSQLParserJSON_QUERY = 216 + PostgreSQLParserJSON_SCALAR = 217 + PostgreSQLParserJSON_SERIALIZE = 218 + PostgreSQLParserJSON_TABLE = 219 + PostgreSQLParserJSON_VALUE = 220 + PostgreSQLParserKEEP = 221 + PostgreSQLParserKEY = 222 + PostgreSQLParserKEYS = 223 + PostgreSQLParserLABEL = 224 + PostgreSQLParserLANGUAGE = 225 + PostgreSQLParserLARGE_P = 226 + PostgreSQLParserLAST_P = 227 + PostgreSQLParserLATERAL_P = 228 + PostgreSQLParserLEADING = 229 + PostgreSQLParserLEAKPROOF = 230 + PostgreSQLParserLEAST = 231 + PostgreSQLParserLEFT = 232 + PostgreSQLParserLEVEL = 233 + PostgreSQLParserLIKE = 234 + PostgreSQLParserLIMIT = 235 + PostgreSQLParserLISTEN = 236 + PostgreSQLParserLOAD = 237 + PostgreSQLParserLOCAL = 238 + PostgreSQLParserLOCALTIME = 239 + PostgreSQLParserLOCALTIMESTAMP = 240 + PostgreSQLParserLOCATION = 241 + PostgreSQLParserLOCK_P = 242 + PostgreSQLParserLOCKED = 243 + PostgreSQLParserLOGGED = 244 + PostgreSQLParserMAPPING = 245 + PostgreSQLParserMATCH = 246 + PostgreSQLParserMATCHED = 247 + PostgreSQLParserMATERIALIZED = 248 + PostgreSQLParserMAXVALUE = 249 + PostgreSQLParserMERGE = 250 + PostgreSQLParserMERGE_ACTION = 251 + PostgreSQLParserMETHOD = 252 + PostgreSQLParserMINUTE_P = 253 + PostgreSQLParserMINVALUE = 254 + PostgreSQLParserMODE = 255 + PostgreSQLParserMONTH_P = 256 + PostgreSQLParserMOVE = 257 + PostgreSQLParserNAME_P = 258 + PostgreSQLParserNAMES = 259 + PostgreSQLParserNATIONAL = 260 + PostgreSQLParserNATURAL = 261 + PostgreSQLParserNCHAR = 262 + PostgreSQLParserNESTED = 263 + PostgreSQLParserNEW = 264 + PostgreSQLParserNEXT = 265 + PostgreSQLParserNFC = 266 + PostgreSQLParserNFD = 267 + PostgreSQLParserNFKC = 268 + PostgreSQLParserNFKD = 269 + PostgreSQLParserNO = 270 + PostgreSQLParserNONE = 271 + PostgreSQLParserNORMALIZE = 272 + PostgreSQLParserNORMALIZED = 273 + PostgreSQLParserNOT = 274 + PostgreSQLParserNOTHING = 275 + PostgreSQLParserNOTIFY = 276 + PostgreSQLParserNOTNULL = 277 + PostgreSQLParserNOWAIT = 278 + PostgreSQLParserNULL_P = 279 + PostgreSQLParserNULLIF = 280 + PostgreSQLParserNULLS_P = 281 + PostgreSQLParserNUMERIC = 282 + PostgreSQLParserOBJECT_P = 283 + PostgreSQLParserOBJECTS_P = 284 + PostgreSQLParserOF = 285 + PostgreSQLParserOFF = 286 + PostgreSQLParserOFFSET = 287 + PostgreSQLParserOIDS = 288 + PostgreSQLParserOLD = 289 + PostgreSQLParserOMIT = 290 + PostgreSQLParserON = 291 + PostgreSQLParserONLY = 292 + PostgreSQLParserOPERATOR = 293 + PostgreSQLParserOPTION = 294 + PostgreSQLParserOPTIONS = 295 + PostgreSQLParserOR = 296 + PostgreSQLParserORDER = 297 + PostgreSQLParserORDINALITY = 298 + PostgreSQLParserOTHERS = 299 + PostgreSQLParserOUT_P = 300 + PostgreSQLParserOUTER_P = 301 + PostgreSQLParserOVER = 302 + PostgreSQLParserOVERLAPS = 303 + PostgreSQLParserOVERLAY = 304 + PostgreSQLParserOVERRIDING = 305 + PostgreSQLParserOWNED = 306 + PostgreSQLParserOWNER = 307 + PostgreSQLParserPARALLEL = 308 + PostgreSQLParserPARAMETER = 309 + PostgreSQLParserPARSER = 310 + PostgreSQLParserPARTIAL = 311 + PostgreSQLParserPARTITION = 312 + PostgreSQLParserPASSING = 313 + PostgreSQLParserPASSWORD = 314 + PostgreSQLParserPATH = 315 + PostgreSQLParserPERIOD = 316 + PostgreSQLParserPLACING = 317 + PostgreSQLParserPLAN = 318 + PostgreSQLParserPLANS = 319 + PostgreSQLParserPOLICY = 320 + PostgreSQLParserPOSITION = 321 + PostgreSQLParserPRECEDING = 322 + PostgreSQLParserPRECISION = 323 + PostgreSQLParserPREPARE = 324 + PostgreSQLParserPREPARED = 325 + PostgreSQLParserPRESERVE = 326 + PostgreSQLParserPRIMARY = 327 + PostgreSQLParserPRIOR = 328 + PostgreSQLParserPRIVILEGES = 329 + PostgreSQLParserPROCEDURAL = 330 + PostgreSQLParserPROCEDURE = 331 + PostgreSQLParserPROCEDURES = 332 + PostgreSQLParserPROGRAM = 333 + PostgreSQLParserPUBLICATION = 334 + PostgreSQLParserQUOTE = 335 + PostgreSQLParserQUOTES = 336 + PostgreSQLParserRANGE = 337 + PostgreSQLParserREAD = 338 + PostgreSQLParserREAL = 339 + PostgreSQLParserREASSIGN = 340 + PostgreSQLParserRECURSIVE = 341 + PostgreSQLParserREF_P = 342 + PostgreSQLParserREFERENCES = 343 + PostgreSQLParserREFERENCING = 344 + PostgreSQLParserREFRESH = 345 + PostgreSQLParserREINDEX = 346 + PostgreSQLParserRELATIVE_P = 347 + PostgreSQLParserRELEASE = 348 + PostgreSQLParserRENAME = 349 + PostgreSQLParserREPEATABLE = 350 + PostgreSQLParserREPLACE = 351 + PostgreSQLParserREPLICA = 352 + PostgreSQLParserRESET = 353 + PostgreSQLParserRESTART = 354 + PostgreSQLParserRESTRICT = 355 + PostgreSQLParserRETURN = 356 + PostgreSQLParserRETURNING = 357 + PostgreSQLParserRETURNS = 358 + PostgreSQLParserREVOKE = 359 + PostgreSQLParserRIGHT = 360 + PostgreSQLParserROLE = 361 + PostgreSQLParserROLLBACK = 362 + PostgreSQLParserROLLUP = 363 + PostgreSQLParserROUTINE = 364 + PostgreSQLParserROUTINES = 365 + PostgreSQLParserROW = 366 + PostgreSQLParserROWS = 367 + PostgreSQLParserRULE = 368 + PostgreSQLParserSAVEPOINT = 369 + PostgreSQLParserSCALAR = 370 + PostgreSQLParserSCHEMA = 371 + PostgreSQLParserSCHEMAS = 372 + PostgreSQLParserSCROLL = 373 + PostgreSQLParserSEARCH = 374 + PostgreSQLParserSECOND_P = 375 + PostgreSQLParserSECURITY = 376 + PostgreSQLParserSELECT = 377 + PostgreSQLParserSEQUENCE = 378 + PostgreSQLParserSEQUENCES = 379 + PostgreSQLParserSERIALIZABLE = 380 + PostgreSQLParserSERVER = 381 + PostgreSQLParserSESSION = 382 + PostgreSQLParserSESSION_USER = 383 + PostgreSQLParserSET = 384 + PostgreSQLParserSETOF = 385 + PostgreSQLParserSETS = 386 + PostgreSQLParserSHARE = 387 + PostgreSQLParserSHOW = 388 + PostgreSQLParserSIMILAR = 389 + PostgreSQLParserSIMPLE = 390 + PostgreSQLParserSKIP_P = 391 + PostgreSQLParserSMALLINT = 392 + PostgreSQLParserSNAPSHOT = 393 + PostgreSQLParserSOME = 394 + PostgreSQLParserSOURCE = 395 + PostgreSQLParserSQL_P = 396 + PostgreSQLParserSTABLE = 397 + PostgreSQLParserSTANDALONE_P = 398 + PostgreSQLParserSTART = 399 + PostgreSQLParserSTATEMENT = 400 + PostgreSQLParserSTATISTICS = 401 + PostgreSQLParserSTDIN = 402 + PostgreSQLParserSTDOUT = 403 + PostgreSQLParserSTORAGE = 404 + PostgreSQLParserSTORED = 405 + PostgreSQLParserSTRICT_P = 406 + PostgreSQLParserSTRING_P = 407 + PostgreSQLParserSTRIP_P = 408 + PostgreSQLParserSUBSCRIPTION = 409 + PostgreSQLParserSUBSTRING = 410 + PostgreSQLParserSUPPORT = 411 + PostgreSQLParserSYMMETRIC = 412 + PostgreSQLParserSYSID = 413 + PostgreSQLParserSYSTEM_P = 414 + PostgreSQLParserSYSTEM_USER = 415 + PostgreSQLParserTABLE = 416 + PostgreSQLParserTABLES = 417 + PostgreSQLParserTABLESAMPLE = 418 + PostgreSQLParserTABLESPACE = 419 + PostgreSQLParserTARGET = 420 + PostgreSQLParserTEMP = 421 + PostgreSQLParserTEMPLATE = 422 + PostgreSQLParserTEMPORARY = 423 + PostgreSQLParserTEXT_P = 424 + PostgreSQLParserTHEN = 425 + PostgreSQLParserTIES = 426 + PostgreSQLParserTIME = 427 + PostgreSQLParserTIMESTAMP = 428 + PostgreSQLParserTO = 429 + PostgreSQLParserTRAILING = 430 + PostgreSQLParserTRANSACTION = 431 + PostgreSQLParserTRANSFORM = 432 + PostgreSQLParserTREAT = 433 + PostgreSQLParserTRIGGER = 434 PostgreSQLParserTRIM = 435 - PostgreSQLParserVALUES = 436 - PostgreSQLParserVARCHAR = 437 - PostgreSQLParserXMLATTRIBUTES = 438 - PostgreSQLParserXMLCOMMENT = 439 - PostgreSQLParserXMLAGG = 440 - PostgreSQLParserXML_IS_WELL_FORMED = 441 - PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT = 442 - PostgreSQLParserXML_IS_WELL_FORMED_CONTENT = 443 - PostgreSQLParserXPATH = 444 - PostgreSQLParserXPATH_EXISTS = 445 - PostgreSQLParserXMLCONCAT = 446 - PostgreSQLParserXMLELEMENT = 447 - PostgreSQLParserXMLEXISTS = 448 - PostgreSQLParserXMLFOREST = 449 - PostgreSQLParserXMLPARSE = 450 - PostgreSQLParserXMLPI = 451 - PostgreSQLParserXMLROOT = 452 - PostgreSQLParserXMLSERIALIZE = 453 - PostgreSQLParserCALL = 454 - PostgreSQLParserCURRENT_P = 455 - PostgreSQLParserATTACH = 456 - PostgreSQLParserDETACH = 457 - PostgreSQLParserEXPRESSION = 458 - PostgreSQLParserGENERATED = 459 - PostgreSQLParserLOGGED = 460 - PostgreSQLParserSTORED = 461 - PostgreSQLParserINCLUDE = 462 - PostgreSQLParserROUTINE = 463 - PostgreSQLParserTRANSFORM = 464 - PostgreSQLParserIMPORT_P = 465 - PostgreSQLParserPOLICY = 466 - PostgreSQLParserMETHOD = 467 - PostgreSQLParserREFERENCING = 468 - PostgreSQLParserNEW = 469 - PostgreSQLParserOLD = 470 - PostgreSQLParserVALUE_P = 471 - PostgreSQLParserSUBSCRIPTION = 472 - PostgreSQLParserPUBLICATION = 473 - PostgreSQLParserOUT_P = 474 - PostgreSQLParserEND_P = 475 - PostgreSQLParserROUTINES = 476 - PostgreSQLParserSCHEMAS = 477 - PostgreSQLParserPROCEDURES = 478 - PostgreSQLParserINPUT_P = 479 - PostgreSQLParserSUPPORT = 480 - PostgreSQLParserPARALLEL = 481 - PostgreSQLParserSQL_P = 482 - PostgreSQLParserDEPENDS = 483 - PostgreSQLParserOVERRIDING = 484 - PostgreSQLParserCONFLICT = 485 - PostgreSQLParserSKIP_P = 486 - PostgreSQLParserLOCKED = 487 - PostgreSQLParserTIES = 488 - PostgreSQLParserROLLUP = 489 - PostgreSQLParserCUBE = 490 - PostgreSQLParserGROUPING = 491 - PostgreSQLParserSETS = 492 - PostgreSQLParserTABLESAMPLE = 493 - PostgreSQLParserORDINALITY = 494 - PostgreSQLParserXMLTABLE = 495 - PostgreSQLParserCOLUMNS = 496 - PostgreSQLParserXMLNAMESPACES = 497 - PostgreSQLParserROWTYPE = 498 - PostgreSQLParserNORMALIZED = 499 - PostgreSQLParserWITHIN = 500 - PostgreSQLParserFILTER = 501 - PostgreSQLParserGROUPS = 502 - PostgreSQLParserOTHERS = 503 - PostgreSQLParserNFC = 504 - PostgreSQLParserNFD = 505 - PostgreSQLParserNFKC = 506 - PostgreSQLParserNFKD = 507 - PostgreSQLParserUESCAPE = 508 - PostgreSQLParserVIEWS = 509 - PostgreSQLParserNORMALIZE = 510 - PostgreSQLParserDUMP = 511 - PostgreSQLParserPRINT_STRICT_PARAMS = 512 - PostgreSQLParserVARIABLE_CONFLICT = 513 - PostgreSQLParserERROR = 514 - PostgreSQLParserUSE_VARIABLE = 515 - PostgreSQLParserUSE_COLUMN = 516 - PostgreSQLParserALIAS = 517 - PostgreSQLParserCONSTANT = 518 - PostgreSQLParserPERFORM = 519 - PostgreSQLParserGET = 520 - PostgreSQLParserDIAGNOSTICS = 521 - PostgreSQLParserSTACKED = 522 - PostgreSQLParserELSIF = 523 - PostgreSQLParserWHILE = 524 - PostgreSQLParserREVERSE = 525 - PostgreSQLParserFOREACH = 526 - PostgreSQLParserSLICE = 527 - PostgreSQLParserEXIT = 528 - PostgreSQLParserRETURN = 529 - PostgreSQLParserQUERY = 530 - PostgreSQLParserRAISE = 531 - PostgreSQLParserSQLSTATE = 532 - PostgreSQLParserDEBUG = 533 - PostgreSQLParserLOG = 534 - PostgreSQLParserINFO = 535 - PostgreSQLParserNOTICE = 536 - PostgreSQLParserWARNING = 537 - PostgreSQLParserEXCEPTION = 538 - PostgreSQLParserASSERT = 539 - PostgreSQLParserLOOP = 540 - PostgreSQLParserOPEN = 541 - PostgreSQLParserABS = 542 - PostgreSQLParserCBRT = 543 - PostgreSQLParserCEIL = 544 - PostgreSQLParserCEILING = 545 - PostgreSQLParserDEGREES = 546 - PostgreSQLParserDIV = 547 - PostgreSQLParserEXP = 548 - PostgreSQLParserFACTORIAL = 549 - PostgreSQLParserFLOOR = 550 - PostgreSQLParserGCD = 551 - PostgreSQLParserLCM = 552 - PostgreSQLParserLN = 553 - PostgreSQLParserLOG10 = 554 - PostgreSQLParserMIN_SCALE = 555 - PostgreSQLParserMOD = 556 - PostgreSQLParserPI = 557 - PostgreSQLParserPOWER = 558 - PostgreSQLParserRADIANS = 559 - PostgreSQLParserROUND = 560 - PostgreSQLParserSCALE = 561 - PostgreSQLParserSIGN = 562 - PostgreSQLParserSQRT = 563 - PostgreSQLParserTRIM_SCALE = 564 - PostgreSQLParserTRUNC = 565 - PostgreSQLParserWIDTH_BUCKET = 566 - PostgreSQLParserRANDOM = 567 - PostgreSQLParserSETSEED = 568 - PostgreSQLParserACOS = 569 - PostgreSQLParserACOSD = 570 - PostgreSQLParserASIN = 571 - PostgreSQLParserASIND = 572 - PostgreSQLParserATAN = 573 - PostgreSQLParserATAND = 574 - PostgreSQLParserATAN2 = 575 - PostgreSQLParserATAN2D = 576 - PostgreSQLParserCOS = 577 - PostgreSQLParserCOSD = 578 - PostgreSQLParserCOT = 579 - PostgreSQLParserCOTD = 580 - PostgreSQLParserSIN = 581 - PostgreSQLParserSIND = 582 - PostgreSQLParserTAN = 583 - PostgreSQLParserTAND = 584 - PostgreSQLParserSINH = 585 - PostgreSQLParserCOSH = 586 - PostgreSQLParserTANH = 587 - PostgreSQLParserASINH = 588 - PostgreSQLParserACOSH = 589 - PostgreSQLParserATANH = 590 - PostgreSQLParserBIT_LENGTH = 591 - PostgreSQLParserCHAR_LENGTH = 592 - PostgreSQLParserCHARACTER_LENGTH = 593 - PostgreSQLParserLOWER = 594 - PostgreSQLParserOCTET_LENGTH = 595 - PostgreSQLParserUPPER = 596 - PostgreSQLParserASCII = 597 - PostgreSQLParserBTRIM = 598 - PostgreSQLParserCHR = 599 - PostgreSQLParserCONCAT = 600 - PostgreSQLParserCONCAT_WS = 601 - PostgreSQLParserFORMAT = 602 - PostgreSQLParserINITCAP = 603 - PostgreSQLParserLENGTH = 604 - PostgreSQLParserLPAD = 605 - PostgreSQLParserLTRIM = 606 - PostgreSQLParserMD5 = 607 - PostgreSQLParserPARSE_IDENT = 608 - PostgreSQLParserPG_CLIENT_ENCODING = 609 - PostgreSQLParserQUOTE_IDENT = 610 - PostgreSQLParserQUOTE_LITERAL = 611 - PostgreSQLParserQUOTE_NULLABLE = 612 - PostgreSQLParserREGEXP_COUNT = 613 - PostgreSQLParserREGEXP_INSTR = 614 - PostgreSQLParserREGEXP_LIKE = 615 - PostgreSQLParserREGEXP_MATCH = 616 - PostgreSQLParserREGEXP_MATCHES = 617 - PostgreSQLParserREGEXP_REPLACE = 618 - PostgreSQLParserREGEXP_SPLIT_TO_ARRAY = 619 - PostgreSQLParserREGEXP_SPLIT_TO_TABLE = 620 - PostgreSQLParserREGEXP_SUBSTR = 621 - PostgreSQLParserREPEAT = 622 - PostgreSQLParserRPAD = 623 - PostgreSQLParserRTRIM = 624 - PostgreSQLParserSPLIT_PART = 625 - PostgreSQLParserSTARTS_WITH = 626 - PostgreSQLParserSTRING_TO_ARRAY = 627 - PostgreSQLParserSTRING_TO_TABLE = 628 - PostgreSQLParserSTRPOS = 629 - PostgreSQLParserSUBSTR = 630 - PostgreSQLParserTO_ASCII = 631 - PostgreSQLParserTO_HEX = 632 - PostgreSQLParserTRANSLATE = 633 - PostgreSQLParserUNISTR = 634 - PostgreSQLParserAGE = 635 - PostgreSQLParserCLOCK_TIMESTAMP = 636 - PostgreSQLParserDATE_BIN = 637 - PostgreSQLParserDATE_PART = 638 - PostgreSQLParserDATE_TRUNC = 639 - PostgreSQLParserISFINITE = 640 - PostgreSQLParserJUSTIFY_DAYS = 641 - PostgreSQLParserJUSTIFY_HOURS = 642 - PostgreSQLParserJUSTIFY_INTERVAL = 643 - PostgreSQLParserMAKE_DATE = 644 - PostgreSQLParserMAKE_INTERVAL = 645 - PostgreSQLParserMAKE_TIME = 646 - PostgreSQLParserMAKE_TIMESTAMP = 647 - PostgreSQLParserMAKE_TIMESTAMPTZ = 648 - PostgreSQLParserNOW = 649 - PostgreSQLParserSTATEMENT_TIMESTAMP = 650 - PostgreSQLParserTIMEOFDAY = 651 - PostgreSQLParserTRANSACTION_TIMESTAMP = 652 - PostgreSQLParserTO_TIMESTAMP = 653 - PostgreSQLParserTO_CHAR = 654 - PostgreSQLParserTO_DATE = 655 - PostgreSQLParserTO_NUMBER = 656 - PostgreSQLParserENCODE = 657 - PostgreSQLParserDISTKEY = 658 - PostgreSQLParserSORTKEY = 659 - PostgreSQLParserCASE_SENSITIVE = 660 - PostgreSQLParserCASE_INSENSITIVE = 661 - PostgreSQLParserJSON_ARRAYAGG = 662 - PostgreSQLParserJSON_OBJECTAGG = 663 - PostgreSQLParserIdentifier = 664 - PostgreSQLParserQuotedIdentifier = 665 - PostgreSQLParserUnterminatedQuotedIdentifier = 666 - PostgreSQLParserInvalidQuotedIdentifier = 667 - PostgreSQLParserInvalidUnterminatedQuotedIdentifier = 668 - PostgreSQLParserUnicodeQuotedIdentifier = 669 - PostgreSQLParserUnterminatedUnicodeQuotedIdentifier = 670 - PostgreSQLParserInvalidUnicodeQuotedIdentifier = 671 - PostgreSQLParserInvalidUnterminatedUnicodeQuotedIdentifier = 672 - PostgreSQLParserStringConstant = 673 - PostgreSQLParserUnterminatedStringConstant = 674 - PostgreSQLParserUnicodeEscapeStringConstant = 675 - PostgreSQLParserUnterminatedUnicodeEscapeStringConstant = 676 - PostgreSQLParserBeginDollarStringConstant = 677 - PostgreSQLParserBinaryStringConstant = 678 - PostgreSQLParserUnterminatedBinaryStringConstant = 679 - PostgreSQLParserInvalidBinaryStringConstant = 680 - PostgreSQLParserInvalidUnterminatedBinaryStringConstant = 681 - PostgreSQLParserHexadecimalStringConstant = 682 - PostgreSQLParserUnterminatedHexadecimalStringConstant = 683 - PostgreSQLParserInvalidHexadecimalStringConstant = 684 - PostgreSQLParserInvalidUnterminatedHexadecimalStringConstant = 685 - PostgreSQLParserIntegral = 686 - PostgreSQLParserNumericFail = 687 - PostgreSQLParserNumeric = 688 - PostgreSQLParserPLSQLVARIABLENAME = 689 - PostgreSQLParserPLSQLIDENTIFIER = 690 - PostgreSQLParserWhitespace = 691 - PostgreSQLParserNewline = 692 - PostgreSQLParserLineComment = 693 - PostgreSQLParserBlockComment = 694 - PostgreSQLParserUnterminatedBlockComment = 695 - PostgreSQLParserMetaCommand = 696 - PostgreSQLParserEndMetaCommand = 697 - PostgreSQLParserErrorCharacter = 698 - PostgreSQLParserEscapeStringConstant = 699 - PostgreSQLParserUnterminatedEscapeStringConstant = 700 - PostgreSQLParserInvalidEscapeStringConstant = 701 - PostgreSQLParserInvalidUnterminatedEscapeStringConstant = 702 - PostgreSQLParserAfterEscapeStringConstantMode_NotContinued = 703 - PostgreSQLParserAfterEscapeStringConstantWithNewlineMode_NotContinued = 704 - PostgreSQLParserDollarText = 705 - PostgreSQLParserEndDollarStringConstant = 706 - PostgreSQLParserAfterEscapeStringConstantWithNewlineMode_Continued = 707 + PostgreSQLParserTRUE_P = 436 + PostgreSQLParserTRUNCATE = 437 + PostgreSQLParserTRUSTED = 438 + PostgreSQLParserTYPE_P = 439 + PostgreSQLParserTYPES_P = 440 + PostgreSQLParserUESCAPE = 441 + PostgreSQLParserUNBOUNDED = 442 + PostgreSQLParserUNCOMMITTED = 443 + PostgreSQLParserUNCONDITIONAL = 444 + PostgreSQLParserUNENCRYPTED = 445 + PostgreSQLParserUNION = 446 + PostgreSQLParserUNIQUE = 447 + PostgreSQLParserUNKNOWN = 448 + PostgreSQLParserUNLISTEN = 449 + PostgreSQLParserUNLOGGED = 450 + PostgreSQLParserUNTIL = 451 + PostgreSQLParserUPDATE = 452 + PostgreSQLParserUSER = 453 + PostgreSQLParserUSING = 454 + PostgreSQLParserVACUUM = 455 + PostgreSQLParserVALID = 456 + PostgreSQLParserVALIDATE = 457 + PostgreSQLParserVALIDATOR = 458 + PostgreSQLParserVALUE_P = 459 + PostgreSQLParserVALUES = 460 + PostgreSQLParserVARCHAR = 461 + PostgreSQLParserVARIADIC = 462 + PostgreSQLParserVARYING = 463 + PostgreSQLParserVERBOSE = 464 + PostgreSQLParserVERSION_P = 465 + PostgreSQLParserVIEW = 466 + PostgreSQLParserVIEWS = 467 + PostgreSQLParserVIRTUAL = 468 + PostgreSQLParserVOLATILE = 469 + PostgreSQLParserWHEN = 470 + PostgreSQLParserWHERE = 471 + PostgreSQLParserWHITESPACE_P = 472 + PostgreSQLParserWINDOW = 473 + PostgreSQLParserWITH = 474 + PostgreSQLParserWITHIN = 475 + PostgreSQLParserWITHOUT = 476 + PostgreSQLParserWORK = 477 + PostgreSQLParserWRAPPER = 478 + PostgreSQLParserWRITE = 479 + PostgreSQLParserXML_P = 480 + PostgreSQLParserXMLATTRIBUTES = 481 + PostgreSQLParserXMLCONCAT = 482 + PostgreSQLParserXMLELEMENT = 483 + PostgreSQLParserXMLEXISTS = 484 + PostgreSQLParserXMLFOREST = 485 + PostgreSQLParserXMLNAMESPACES = 486 + PostgreSQLParserXMLPARSE = 487 + PostgreSQLParserXMLPI = 488 + PostgreSQLParserXMLROOT = 489 + PostgreSQLParserXMLSERIALIZE = 490 + PostgreSQLParserXMLTABLE = 491 + PostgreSQLParserYEAR_P = 492 + PostgreSQLParserYES_P = 493 + PostgreSQLParserZONE = 494 + PostgreSQLParserDollar = 495 + PostgreSQLParserOPEN_PAREN = 496 + PostgreSQLParserCLOSE_PAREN = 497 + PostgreSQLParserOPEN_BRACKET = 498 + PostgreSQLParserCLOSE_BRACKET = 499 + PostgreSQLParserCOMMA = 500 + PostgreSQLParserSEMI = 501 + PostgreSQLParserCOLON = 502 + PostgreSQLParserSTAR = 503 + PostgreSQLParserEQUAL = 504 + PostgreSQLParserDOT = 505 + PostgreSQLParserPLUS = 506 + PostgreSQLParserMINUS = 507 + PostgreSQLParserSLASH = 508 + PostgreSQLParserCARET = 509 + PostgreSQLParserLT = 510 + PostgreSQLParserGT = 511 + PostgreSQLParserLESS_LESS = 512 + PostgreSQLParserGREATER_GREATER = 513 + PostgreSQLParserCOLON_EQUALS = 514 + PostgreSQLParserLESS_EQUALS = 515 + PostgreSQLParserEQUALS_GREATER = 516 + PostgreSQLParserGREATER_EQUALS = 517 + PostgreSQLParserDOT_DOT = 518 + PostgreSQLParserNOT_EQUALS = 519 + PostgreSQLParserTYPECAST = 520 + PostgreSQLParserPERCENT = 521 + PostgreSQLParserPARAM = 522 + PostgreSQLParserOperator = 523 + PostgreSQLParserRECHECK = 524 + PostgreSQLParserXMLCOMMENT = 525 + PostgreSQLParserXMLAGG = 526 + PostgreSQLParserXML_IS_WELL_FORMED = 527 + PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT = 528 + PostgreSQLParserXML_IS_WELL_FORMED_CONTENT = 529 + PostgreSQLParserXPATH = 530 + PostgreSQLParserXPATH_EXISTS = 531 + PostgreSQLParserROWTYPE = 532 + PostgreSQLParserDUMP = 533 + PostgreSQLParserPRINT_STRICT_PARAMS = 534 + PostgreSQLParserVARIABLE_CONFLICT = 535 + PostgreSQLParserUSE_VARIABLE = 536 + PostgreSQLParserUSE_COLUMN = 537 + PostgreSQLParserALIAS = 538 + PostgreSQLParserCONSTANT = 539 + PostgreSQLParserPERFORM = 540 + PostgreSQLParserGET = 541 + PostgreSQLParserDIAGNOSTICS = 542 + PostgreSQLParserSTACKED = 543 + PostgreSQLParserELSIF = 544 + PostgreSQLParserWHILE = 545 + PostgreSQLParserREVERSE = 546 + PostgreSQLParserFOREACH = 547 + PostgreSQLParserSLICE = 548 + PostgreSQLParserEXIT = 549 + PostgreSQLParserQUERY = 550 + PostgreSQLParserRAISE = 551 + PostgreSQLParserSQLSTATE = 552 + PostgreSQLParserDEBUG = 553 + PostgreSQLParserLOG = 554 + PostgreSQLParserINFO = 555 + PostgreSQLParserNOTICE = 556 + PostgreSQLParserWARNING = 557 + PostgreSQLParserEXCEPTION = 558 + PostgreSQLParserASSERT = 559 + PostgreSQLParserLOOP = 560 + PostgreSQLParserOPEN = 561 + PostgreSQLParserIdentifier = 562 + PostgreSQLParserQuotedIdentifier = 563 + PostgreSQLParserUnterminatedQuotedIdentifier = 564 + PostgreSQLParserInvalidQuotedIdentifier = 565 + PostgreSQLParserInvalidUnterminatedQuotedIdentifier = 566 + PostgreSQLParserUnicodeQuotedIdentifier = 567 + PostgreSQLParserUnterminatedUnicodeQuotedIdentifier = 568 + PostgreSQLParserInvalidUnicodeQuotedIdentifier = 569 + PostgreSQLParserInvalidUnterminatedUnicodeQuotedIdentifier = 570 + PostgreSQLParserStringConstant = 571 + PostgreSQLParserUnterminatedStringConstant = 572 + PostgreSQLParserUnicodeEscapeStringConstant = 573 + PostgreSQLParserUnterminatedUnicodeEscapeStringConstant = 574 + PostgreSQLParserBeginDollarStringConstant = 575 + PostgreSQLParserBinaryStringConstant = 576 + PostgreSQLParserUnterminatedBinaryStringConstant = 577 + PostgreSQLParserInvalidBinaryStringConstant = 578 + PostgreSQLParserInvalidUnterminatedBinaryStringConstant = 579 + PostgreSQLParserHexadecimalStringConstant = 580 + PostgreSQLParserUnterminatedHexadecimalStringConstant = 581 + PostgreSQLParserInvalidHexadecimalStringConstant = 582 + PostgreSQLParserInvalidUnterminatedHexadecimalStringConstant = 583 + PostgreSQLParserIntegral = 584 + PostgreSQLParserNumericFail = 585 + PostgreSQLParserNumeric = 586 + PostgreSQLParserPLSQLVARIABLENAME = 587 + PostgreSQLParserPLSQLIDENTIFIER = 588 + PostgreSQLParserWhitespace = 589 + PostgreSQLParserNewline = 590 + PostgreSQLParserLineComment = 591 + PostgreSQLParserBlockComment = 592 + PostgreSQLParserUnterminatedBlockComment = 593 + PostgreSQLParserMetaCommand = 594 + PostgreSQLParserEndMetaCommand = 595 + PostgreSQLParserErrorCharacter = 596 + PostgreSQLParserEscapeStringConstant = 597 + PostgreSQLParserUnterminatedEscapeStringConstant = 598 + PostgreSQLParserInvalidEscapeStringConstant = 599 + PostgreSQLParserInvalidUnterminatedEscapeStringConstant = 600 + PostgreSQLParserAfterEscapeStringConstantMode_NotContinued = 601 + PostgreSQLParserAfterEscapeStringConstantWithNewlineMode_NotContinued = 602 + PostgreSQLParserDollarText = 603 + PostgreSQLParserEndDollarStringConstant = 604 + PostgreSQLParserAfterEscapeStringConstantWithNewlineMode_Continued = 605 ) // PostgreSQLParser rules. @@ -7867,277 +7715,277 @@ const ( PostgreSQLParserRULE_simpletypename = 565 PostgreSQLParserRULE_consttypename = 566 PostgreSQLParserRULE_generictype = 567 - PostgreSQLParserRULE_opt_type_modifiers = 568 - PostgreSQLParserRULE_numeric = 569 - PostgreSQLParserRULE_opt_float = 570 - PostgreSQLParserRULE_bit = 571 - PostgreSQLParserRULE_constbit = 572 - PostgreSQLParserRULE_bitwithlength = 573 - PostgreSQLParserRULE_bitwithoutlength = 574 - PostgreSQLParserRULE_character = 575 - PostgreSQLParserRULE_constcharacter = 576 - PostgreSQLParserRULE_character_c = 577 - PostgreSQLParserRULE_opt_varying = 578 - PostgreSQLParserRULE_constdatetime = 579 - PostgreSQLParserRULE_constinterval = 580 - PostgreSQLParserRULE_opt_timezone = 581 - PostgreSQLParserRULE_opt_interval = 582 - PostgreSQLParserRULE_interval_second = 583 - PostgreSQLParserRULE_opt_escape = 584 - PostgreSQLParserRULE_a_expr = 585 - PostgreSQLParserRULE_a_expr_qual = 586 - PostgreSQLParserRULE_a_expr_lessless = 587 - PostgreSQLParserRULE_a_expr_or = 588 - PostgreSQLParserRULE_a_expr_and = 589 - PostgreSQLParserRULE_a_expr_between = 590 - PostgreSQLParserRULE_a_expr_in = 591 - PostgreSQLParserRULE_a_expr_unary_not = 592 - PostgreSQLParserRULE_a_expr_isnull = 593 - PostgreSQLParserRULE_a_expr_is_not = 594 - PostgreSQLParserRULE_a_expr_compare = 595 - PostgreSQLParserRULE_a_expr_like = 596 - PostgreSQLParserRULE_a_expr_qual_op = 597 - PostgreSQLParserRULE_a_expr_unary_qualop = 598 - PostgreSQLParserRULE_a_expr_add = 599 - PostgreSQLParserRULE_a_expr_mul = 600 - PostgreSQLParserRULE_a_expr_caret = 601 - PostgreSQLParserRULE_a_expr_unary_sign = 602 - PostgreSQLParserRULE_a_expr_at_time_zone = 603 - PostgreSQLParserRULE_a_expr_collate = 604 - PostgreSQLParserRULE_a_expr_typecast = 605 - PostgreSQLParserRULE_b_expr = 606 - PostgreSQLParserRULE_c_expr = 607 - PostgreSQLParserRULE_plsqlvariablename = 608 - PostgreSQLParserRULE_func_application = 609 - PostgreSQLParserRULE_func_expr = 610 - PostgreSQLParserRULE_func_expr_windowless = 611 - PostgreSQLParserRULE_json_aggregate_func = 612 - PostgreSQLParserRULE_json_output_clause = 613 - PostgreSQLParserRULE_json_array_aggregate_order_by_clause = 614 - PostgreSQLParserRULE_func_expr_common_subexpr = 615 - PostgreSQLParserRULE_json_on_error_clause = 616 - PostgreSQLParserRULE_json_behavior_clause = 617 - PostgreSQLParserRULE_json_behavior = 618 - PostgreSQLParserRULE_json_behavior_type = 619 - PostgreSQLParserRULE_json_quotes_clause = 620 - PostgreSQLParserRULE_json_wrapper_behavior = 621 - PostgreSQLParserRULE_json_passing_clause = 622 - PostgreSQLParserRULE_json_arguments = 623 - PostgreSQLParserRULE_json_argument = 624 - PostgreSQLParserRULE_json_format_clause_opt = 625 - PostgreSQLParserRULE_json_value_expr_list = 626 - PostgreSQLParserRULE_json_returning_clause = 627 - PostgreSQLParserRULE_json_key_uniqueness_constraint = 628 - PostgreSQLParserRULE_json_array_constructor_null_clause = 629 - PostgreSQLParserRULE_json_object_constructor_null_clause = 630 - PostgreSQLParserRULE_json_name_and_value_list = 631 - PostgreSQLParserRULE_json_name_and_value = 632 - PostgreSQLParserRULE_json_value_expr = 633 - PostgreSQLParserRULE_json_format_clause = 634 - PostgreSQLParserRULE_xml_root_version = 635 - PostgreSQLParserRULE_opt_xml_root_standalone = 636 - PostgreSQLParserRULE_xml_attributes = 637 - PostgreSQLParserRULE_xml_attribute_list = 638 - PostgreSQLParserRULE_xml_attribute_el = 639 - PostgreSQLParserRULE_document_or_content = 640 - PostgreSQLParserRULE_xml_whitespace_option = 641 - PostgreSQLParserRULE_xmlexists_argument = 642 - PostgreSQLParserRULE_xml_passing_mech = 643 - PostgreSQLParserRULE_within_group_clause = 644 - PostgreSQLParserRULE_filter_clause = 645 - PostgreSQLParserRULE_window_clause = 646 - PostgreSQLParserRULE_window_definition_list = 647 - PostgreSQLParserRULE_window_definition = 648 - PostgreSQLParserRULE_over_clause = 649 - PostgreSQLParserRULE_window_specification = 650 - PostgreSQLParserRULE_opt_existing_window_name = 651 - PostgreSQLParserRULE_opt_partition_clause = 652 - PostgreSQLParserRULE_opt_frame_clause = 653 - PostgreSQLParserRULE_frame_extent = 654 - PostgreSQLParserRULE_frame_bound = 655 - PostgreSQLParserRULE_opt_window_exclusion_clause = 656 - PostgreSQLParserRULE_row = 657 - PostgreSQLParserRULE_explicit_row = 658 - PostgreSQLParserRULE_implicit_row = 659 - PostgreSQLParserRULE_sub_type = 660 - PostgreSQLParserRULE_all_op = 661 - PostgreSQLParserRULE_mathop = 662 - PostgreSQLParserRULE_qual_op = 663 - PostgreSQLParserRULE_qual_all_op = 664 - PostgreSQLParserRULE_subquery_Op = 665 - PostgreSQLParserRULE_expr_list = 666 - PostgreSQLParserRULE_func_arg_list = 667 - PostgreSQLParserRULE_func_arg_expr = 668 - PostgreSQLParserRULE_type_list = 669 - PostgreSQLParserRULE_array_expr = 670 - PostgreSQLParserRULE_array_expr_list = 671 - PostgreSQLParserRULE_extract_list = 672 - PostgreSQLParserRULE_extract_arg = 673 - PostgreSQLParserRULE_unicode_normal_form = 674 - PostgreSQLParserRULE_overlay_list = 675 - PostgreSQLParserRULE_position_list = 676 - PostgreSQLParserRULE_substr_list = 677 - PostgreSQLParserRULE_trim_list = 678 - PostgreSQLParserRULE_in_expr = 679 - PostgreSQLParserRULE_case_expr = 680 - PostgreSQLParserRULE_when_clause_list = 681 - PostgreSQLParserRULE_when_clause = 682 - PostgreSQLParserRULE_case_default = 683 - PostgreSQLParserRULE_case_arg = 684 - PostgreSQLParserRULE_columnref = 685 - PostgreSQLParserRULE_indirection_el = 686 - PostgreSQLParserRULE_opt_slice_bound = 687 - PostgreSQLParserRULE_indirection = 688 - PostgreSQLParserRULE_opt_indirection = 689 - PostgreSQLParserRULE_opt_target_list = 690 - PostgreSQLParserRULE_target_list = 691 - PostgreSQLParserRULE_target_el = 692 - PostgreSQLParserRULE_target_alias = 693 - PostgreSQLParserRULE_qualified_name_list = 694 - PostgreSQLParserRULE_qualified_name = 695 - PostgreSQLParserRULE_name_list = 696 - PostgreSQLParserRULE_name = 697 - PostgreSQLParserRULE_attr_name = 698 - PostgreSQLParserRULE_file_name = 699 - PostgreSQLParserRULE_func_name = 700 - PostgreSQLParserRULE_aexprconst = 701 - PostgreSQLParserRULE_xconst = 702 - PostgreSQLParserRULE_bconst = 703 - PostgreSQLParserRULE_fconst = 704 - PostgreSQLParserRULE_iconst = 705 - PostgreSQLParserRULE_sconst = 706 - PostgreSQLParserRULE_anysconst = 707 - PostgreSQLParserRULE_opt_uescape = 708 - PostgreSQLParserRULE_signediconst = 709 - PostgreSQLParserRULE_roleid = 710 - PostgreSQLParserRULE_rolespec = 711 - PostgreSQLParserRULE_role_list = 712 - PostgreSQLParserRULE_colid = 713 - PostgreSQLParserRULE_table_alias = 714 - PostgreSQLParserRULE_type_function_name = 715 - PostgreSQLParserRULE_nonreservedword = 716 - PostgreSQLParserRULE_collabel = 717 - PostgreSQLParserRULE_identifier = 718 - PostgreSQLParserRULE_plsqlidentifier = 719 - PostgreSQLParserRULE_unreserved_keyword = 720 - PostgreSQLParserRULE_col_name_keyword = 721 - PostgreSQLParserRULE_type_func_name_keyword = 722 - PostgreSQLParserRULE_reserved_keyword = 723 - PostgreSQLParserRULE_builtin_function_name = 724 - PostgreSQLParserRULE_pl_function = 725 - PostgreSQLParserRULE_comp_options = 726 - PostgreSQLParserRULE_comp_option = 727 - PostgreSQLParserRULE_sharp = 728 - PostgreSQLParserRULE_option_value = 729 - PostgreSQLParserRULE_opt_semi = 730 - PostgreSQLParserRULE_pl_block = 731 - PostgreSQLParserRULE_decl_sect = 732 - PostgreSQLParserRULE_decl_start = 733 - PostgreSQLParserRULE_decl_stmts = 734 - PostgreSQLParserRULE_label_decl = 735 - PostgreSQLParserRULE_decl_stmt = 736 - PostgreSQLParserRULE_decl_statement = 737 - PostgreSQLParserRULE_opt_scrollable = 738 - PostgreSQLParserRULE_decl_cursor_query = 739 - PostgreSQLParserRULE_decl_cursor_args = 740 - PostgreSQLParserRULE_decl_cursor_arglist = 741 - PostgreSQLParserRULE_decl_cursor_arg = 742 - PostgreSQLParserRULE_decl_is_for = 743 - PostgreSQLParserRULE_decl_aliasitem = 744 - PostgreSQLParserRULE_decl_varname = 745 - PostgreSQLParserRULE_decl_const = 746 - PostgreSQLParserRULE_decl_datatype = 747 - PostgreSQLParserRULE_decl_collate = 748 - PostgreSQLParserRULE_decl_notnull = 749 - PostgreSQLParserRULE_decl_defval = 750 - PostgreSQLParserRULE_decl_defkey = 751 - PostgreSQLParserRULE_assign_operator = 752 - PostgreSQLParserRULE_proc_sect = 753 - PostgreSQLParserRULE_proc_stmt = 754 - PostgreSQLParserRULE_stmt_perform = 755 - PostgreSQLParserRULE_stmt_call = 756 - PostgreSQLParserRULE_opt_expr_list = 757 - PostgreSQLParserRULE_stmt_assign = 758 - PostgreSQLParserRULE_stmt_getdiag = 759 - PostgreSQLParserRULE_getdiag_area_opt = 760 - PostgreSQLParserRULE_getdiag_list = 761 - PostgreSQLParserRULE_getdiag_list_item = 762 - PostgreSQLParserRULE_getdiag_item = 763 - PostgreSQLParserRULE_getdiag_target = 764 - PostgreSQLParserRULE_assign_var = 765 - PostgreSQLParserRULE_stmt_if = 766 - PostgreSQLParserRULE_stmt_elsifs = 767 - PostgreSQLParserRULE_stmt_else = 768 - PostgreSQLParserRULE_stmt_case = 769 - PostgreSQLParserRULE_opt_expr_until_when = 770 - PostgreSQLParserRULE_case_when_list = 771 - PostgreSQLParserRULE_case_when = 772 - PostgreSQLParserRULE_opt_case_else = 773 - PostgreSQLParserRULE_stmt_loop = 774 - PostgreSQLParserRULE_stmt_while = 775 - PostgreSQLParserRULE_stmt_for = 776 - PostgreSQLParserRULE_for_control = 777 - PostgreSQLParserRULE_opt_for_using_expression = 778 - PostgreSQLParserRULE_opt_cursor_parameters = 779 - PostgreSQLParserRULE_opt_reverse = 780 - PostgreSQLParserRULE_opt_by_expression = 781 - PostgreSQLParserRULE_for_variable = 782 - PostgreSQLParserRULE_stmt_foreach_a = 783 - PostgreSQLParserRULE_foreach_slice = 784 - PostgreSQLParserRULE_stmt_exit = 785 - PostgreSQLParserRULE_exit_type = 786 - PostgreSQLParserRULE_stmt_return = 787 - PostgreSQLParserRULE_opt_return_result = 788 - PostgreSQLParserRULE_stmt_raise = 789 - PostgreSQLParserRULE_opt_stmt_raise_level = 790 - PostgreSQLParserRULE_opt_raise_list = 791 - PostgreSQLParserRULE_opt_raise_using = 792 - PostgreSQLParserRULE_opt_raise_using_elem = 793 - PostgreSQLParserRULE_opt_raise_using_elem_list = 794 - PostgreSQLParserRULE_stmt_assert = 795 - PostgreSQLParserRULE_opt_stmt_assert_message = 796 - PostgreSQLParserRULE_loop_body = 797 - PostgreSQLParserRULE_stmt_execsql = 798 - PostgreSQLParserRULE_stmt_dynexecute = 799 - PostgreSQLParserRULE_opt_execute_using = 800 - PostgreSQLParserRULE_opt_execute_using_list = 801 - PostgreSQLParserRULE_opt_execute_into = 802 - PostgreSQLParserRULE_stmt_open = 803 - PostgreSQLParserRULE_opt_open_bound_list_item = 804 - PostgreSQLParserRULE_opt_open_bound_list = 805 - PostgreSQLParserRULE_opt_open_using = 806 - PostgreSQLParserRULE_opt_scroll_option = 807 - PostgreSQLParserRULE_opt_scroll_option_no = 808 - PostgreSQLParserRULE_stmt_fetch = 809 - PostgreSQLParserRULE_into_target = 810 - PostgreSQLParserRULE_opt_cursor_from = 811 - PostgreSQLParserRULE_opt_fetch_direction = 812 - PostgreSQLParserRULE_stmt_move = 813 - PostgreSQLParserRULE_stmt_close = 814 - PostgreSQLParserRULE_stmt_null = 815 - PostgreSQLParserRULE_stmt_commit = 816 - PostgreSQLParserRULE_stmt_rollback = 817 - PostgreSQLParserRULE_plsql_opt_transaction_chain = 818 - PostgreSQLParserRULE_stmt_set = 819 - PostgreSQLParserRULE_cursor_variable = 820 - PostgreSQLParserRULE_exception_sect = 821 - PostgreSQLParserRULE_proc_exceptions = 822 - PostgreSQLParserRULE_proc_exception = 823 - PostgreSQLParserRULE_proc_conditions = 824 - PostgreSQLParserRULE_proc_condition = 825 - PostgreSQLParserRULE_opt_block_label = 826 - PostgreSQLParserRULE_opt_loop_label = 827 - PostgreSQLParserRULE_opt_label = 828 - PostgreSQLParserRULE_opt_exitcond = 829 - PostgreSQLParserRULE_any_identifier = 830 - PostgreSQLParserRULE_plsql_unreserved_keyword = 831 - PostgreSQLParserRULE_sql_expression = 832 - PostgreSQLParserRULE_expr_until_then = 833 - PostgreSQLParserRULE_expr_until_semi = 834 - PostgreSQLParserRULE_expr_until_rightbracket = 835 - PostgreSQLParserRULE_expr_until_loop = 836 - PostgreSQLParserRULE_make_execsql_stmt = 837 - PostgreSQLParserRULE_opt_returning_clause_into = 838 + PostgreSQLParserRULE_jsontype = 568 + PostgreSQLParserRULE_opt_type_modifiers = 569 + PostgreSQLParserRULE_numeric = 570 + PostgreSQLParserRULE_opt_float = 571 + PostgreSQLParserRULE_bit = 572 + PostgreSQLParserRULE_constbit = 573 + PostgreSQLParserRULE_bitwithlength = 574 + PostgreSQLParserRULE_bitwithoutlength = 575 + PostgreSQLParserRULE_character = 576 + PostgreSQLParserRULE_constcharacter = 577 + PostgreSQLParserRULE_character_c = 578 + PostgreSQLParserRULE_opt_varying = 579 + PostgreSQLParserRULE_constdatetime = 580 + PostgreSQLParserRULE_constinterval = 581 + PostgreSQLParserRULE_opt_timezone = 582 + PostgreSQLParserRULE_opt_interval = 583 + PostgreSQLParserRULE_interval_second = 584 + PostgreSQLParserRULE_opt_escape = 585 + PostgreSQLParserRULE_a_expr = 586 + PostgreSQLParserRULE_a_expr_qual = 587 + PostgreSQLParserRULE_a_expr_lessless = 588 + PostgreSQLParserRULE_a_expr_or = 589 + PostgreSQLParserRULE_a_expr_and = 590 + PostgreSQLParserRULE_a_expr_between = 591 + PostgreSQLParserRULE_a_expr_in = 592 + PostgreSQLParserRULE_a_expr_unary_not = 593 + PostgreSQLParserRULE_a_expr_isnull = 594 + PostgreSQLParserRULE_a_expr_is_not = 595 + PostgreSQLParserRULE_a_expr_compare = 596 + PostgreSQLParserRULE_a_expr_like = 597 + PostgreSQLParserRULE_a_expr_qual_op = 598 + PostgreSQLParserRULE_a_expr_unary_qualop = 599 + PostgreSQLParserRULE_a_expr_add = 600 + PostgreSQLParserRULE_a_expr_mul = 601 + PostgreSQLParserRULE_a_expr_caret = 602 + PostgreSQLParserRULE_a_expr_unary_sign = 603 + PostgreSQLParserRULE_a_expr_at_time_zone = 604 + PostgreSQLParserRULE_a_expr_collate = 605 + PostgreSQLParserRULE_a_expr_typecast = 606 + PostgreSQLParserRULE_b_expr = 607 + PostgreSQLParserRULE_c_expr = 608 + PostgreSQLParserRULE_plsqlvariablename = 609 + PostgreSQLParserRULE_func_application = 610 + PostgreSQLParserRULE_func_expr = 611 + PostgreSQLParserRULE_func_expr_windowless = 612 + PostgreSQLParserRULE_json_aggregate_func = 613 + PostgreSQLParserRULE_json_output_clause = 614 + PostgreSQLParserRULE_json_array_aggregate_order_by_clause = 615 + PostgreSQLParserRULE_func_expr_common_subexpr = 616 + PostgreSQLParserRULE_json_on_error_clause = 617 + PostgreSQLParserRULE_json_behavior_clause = 618 + PostgreSQLParserRULE_json_behavior = 619 + PostgreSQLParserRULE_json_behavior_type = 620 + PostgreSQLParserRULE_json_quotes_clause = 621 + PostgreSQLParserRULE_json_wrapper_behavior = 622 + PostgreSQLParserRULE_json_passing_clause = 623 + PostgreSQLParserRULE_json_arguments = 624 + PostgreSQLParserRULE_json_argument = 625 + PostgreSQLParserRULE_json_format_clause_opt = 626 + PostgreSQLParserRULE_json_value_expr_list = 627 + PostgreSQLParserRULE_json_returning_clause = 628 + PostgreSQLParserRULE_json_key_uniqueness_constraint = 629 + PostgreSQLParserRULE_json_array_constructor_null_clause = 630 + PostgreSQLParserRULE_json_object_constructor_null_clause = 631 + PostgreSQLParserRULE_json_name_and_value_list = 632 + PostgreSQLParserRULE_json_name_and_value = 633 + PostgreSQLParserRULE_json_value_expr = 634 + PostgreSQLParserRULE_json_format_clause = 635 + PostgreSQLParserRULE_xml_root_version = 636 + PostgreSQLParserRULE_opt_xml_root_standalone = 637 + PostgreSQLParserRULE_xml_attributes = 638 + PostgreSQLParserRULE_xml_attribute_list = 639 + PostgreSQLParserRULE_xml_attribute_el = 640 + PostgreSQLParserRULE_document_or_content = 641 + PostgreSQLParserRULE_xml_whitespace_option = 642 + PostgreSQLParserRULE_xmlexists_argument = 643 + PostgreSQLParserRULE_xml_passing_mech = 644 + PostgreSQLParserRULE_within_group_clause = 645 + PostgreSQLParserRULE_filter_clause = 646 + PostgreSQLParserRULE_window_clause = 647 + PostgreSQLParserRULE_window_definition_list = 648 + PostgreSQLParserRULE_window_definition = 649 + PostgreSQLParserRULE_over_clause = 650 + PostgreSQLParserRULE_window_specification = 651 + PostgreSQLParserRULE_opt_existing_window_name = 652 + PostgreSQLParserRULE_opt_partition_clause = 653 + PostgreSQLParserRULE_opt_frame_clause = 654 + PostgreSQLParserRULE_frame_extent = 655 + PostgreSQLParserRULE_frame_bound = 656 + PostgreSQLParserRULE_opt_window_exclusion_clause = 657 + PostgreSQLParserRULE_row = 658 + PostgreSQLParserRULE_explicit_row = 659 + PostgreSQLParserRULE_implicit_row = 660 + PostgreSQLParserRULE_sub_type = 661 + PostgreSQLParserRULE_all_op = 662 + PostgreSQLParserRULE_mathop = 663 + PostgreSQLParserRULE_qual_op = 664 + PostgreSQLParserRULE_qual_all_op = 665 + PostgreSQLParserRULE_subquery_Op = 666 + PostgreSQLParserRULE_expr_list = 667 + PostgreSQLParserRULE_func_arg_list = 668 + PostgreSQLParserRULE_func_arg_expr = 669 + PostgreSQLParserRULE_type_list = 670 + PostgreSQLParserRULE_array_expr = 671 + PostgreSQLParserRULE_array_expr_list = 672 + PostgreSQLParserRULE_extract_list = 673 + PostgreSQLParserRULE_extract_arg = 674 + PostgreSQLParserRULE_unicode_normal_form = 675 + PostgreSQLParserRULE_overlay_list = 676 + PostgreSQLParserRULE_position_list = 677 + PostgreSQLParserRULE_substr_list = 678 + PostgreSQLParserRULE_trim_list = 679 + PostgreSQLParserRULE_in_expr = 680 + PostgreSQLParserRULE_case_expr = 681 + PostgreSQLParserRULE_when_clause_list = 682 + PostgreSQLParserRULE_when_clause = 683 + PostgreSQLParserRULE_case_default = 684 + PostgreSQLParserRULE_case_arg = 685 + PostgreSQLParserRULE_columnref = 686 + PostgreSQLParserRULE_indirection_el = 687 + PostgreSQLParserRULE_opt_slice_bound = 688 + PostgreSQLParserRULE_indirection = 689 + PostgreSQLParserRULE_opt_indirection = 690 + PostgreSQLParserRULE_opt_target_list = 691 + PostgreSQLParserRULE_target_list = 692 + PostgreSQLParserRULE_target_el = 693 + PostgreSQLParserRULE_target_alias = 694 + PostgreSQLParserRULE_qualified_name_list = 695 + PostgreSQLParserRULE_qualified_name = 696 + PostgreSQLParserRULE_name_list = 697 + PostgreSQLParserRULE_name = 698 + PostgreSQLParserRULE_attr_name = 699 + PostgreSQLParserRULE_file_name = 700 + PostgreSQLParserRULE_func_name = 701 + PostgreSQLParserRULE_aexprconst = 702 + PostgreSQLParserRULE_xconst = 703 + PostgreSQLParserRULE_bconst = 704 + PostgreSQLParserRULE_fconst = 705 + PostgreSQLParserRULE_iconst = 706 + PostgreSQLParserRULE_sconst = 707 + PostgreSQLParserRULE_anysconst = 708 + PostgreSQLParserRULE_opt_uescape = 709 + PostgreSQLParserRULE_signediconst = 710 + PostgreSQLParserRULE_roleid = 711 + PostgreSQLParserRULE_rolespec = 712 + PostgreSQLParserRULE_role_list = 713 + PostgreSQLParserRULE_colid = 714 + PostgreSQLParserRULE_table_alias = 715 + PostgreSQLParserRULE_type_function_name = 716 + PostgreSQLParserRULE_nonreservedword = 717 + PostgreSQLParserRULE_collabel = 718 + PostgreSQLParserRULE_identifier = 719 + PostgreSQLParserRULE_plsqlidentifier = 720 + PostgreSQLParserRULE_pl_function = 721 + PostgreSQLParserRULE_comp_options = 722 + PostgreSQLParserRULE_comp_option = 723 + PostgreSQLParserRULE_sharp = 724 + PostgreSQLParserRULE_option_value = 725 + PostgreSQLParserRULE_opt_semi = 726 + PostgreSQLParserRULE_pl_block = 727 + PostgreSQLParserRULE_decl_sect = 728 + PostgreSQLParserRULE_decl_start = 729 + PostgreSQLParserRULE_decl_stmts = 730 + PostgreSQLParserRULE_label_decl = 731 + PostgreSQLParserRULE_decl_stmt = 732 + PostgreSQLParserRULE_decl_statement = 733 + PostgreSQLParserRULE_opt_scrollable = 734 + PostgreSQLParserRULE_decl_cursor_query = 735 + PostgreSQLParserRULE_decl_cursor_args = 736 + PostgreSQLParserRULE_decl_cursor_arglist = 737 + PostgreSQLParserRULE_decl_cursor_arg = 738 + PostgreSQLParserRULE_decl_is_for = 739 + PostgreSQLParserRULE_decl_aliasitem = 740 + PostgreSQLParserRULE_decl_varname = 741 + PostgreSQLParserRULE_decl_const = 742 + PostgreSQLParserRULE_decl_datatype = 743 + PostgreSQLParserRULE_decl_collate = 744 + PostgreSQLParserRULE_decl_notnull = 745 + PostgreSQLParserRULE_decl_defval = 746 + PostgreSQLParserRULE_decl_defkey = 747 + PostgreSQLParserRULE_assign_operator = 748 + PostgreSQLParserRULE_proc_sect = 749 + PostgreSQLParserRULE_proc_stmt = 750 + PostgreSQLParserRULE_stmt_perform = 751 + PostgreSQLParserRULE_stmt_call = 752 + PostgreSQLParserRULE_opt_expr_list = 753 + PostgreSQLParserRULE_stmt_assign = 754 + PostgreSQLParserRULE_stmt_getdiag = 755 + PostgreSQLParserRULE_getdiag_area_opt = 756 + PostgreSQLParserRULE_getdiag_list = 757 + PostgreSQLParserRULE_getdiag_list_item = 758 + PostgreSQLParserRULE_getdiag_item = 759 + PostgreSQLParserRULE_getdiag_target = 760 + PostgreSQLParserRULE_assign_var = 761 + PostgreSQLParserRULE_stmt_if = 762 + PostgreSQLParserRULE_stmt_elsifs = 763 + PostgreSQLParserRULE_stmt_else = 764 + PostgreSQLParserRULE_stmt_case = 765 + PostgreSQLParserRULE_opt_expr_until_when = 766 + PostgreSQLParserRULE_case_when_list = 767 + PostgreSQLParserRULE_case_when = 768 + PostgreSQLParserRULE_opt_case_else = 769 + PostgreSQLParserRULE_stmt_loop = 770 + PostgreSQLParserRULE_stmt_while = 771 + PostgreSQLParserRULE_stmt_for = 772 + PostgreSQLParserRULE_for_control = 773 + PostgreSQLParserRULE_opt_for_using_expression = 774 + PostgreSQLParserRULE_opt_cursor_parameters = 775 + PostgreSQLParserRULE_opt_reverse = 776 + PostgreSQLParserRULE_opt_by_expression = 777 + PostgreSQLParserRULE_for_variable = 778 + PostgreSQLParserRULE_stmt_foreach_a = 779 + PostgreSQLParserRULE_foreach_slice = 780 + PostgreSQLParserRULE_stmt_exit = 781 + PostgreSQLParserRULE_exit_type = 782 + PostgreSQLParserRULE_stmt_return = 783 + PostgreSQLParserRULE_opt_return_result = 784 + PostgreSQLParserRULE_stmt_raise = 785 + PostgreSQLParserRULE_opt_stmt_raise_level = 786 + PostgreSQLParserRULE_opt_raise_list = 787 + PostgreSQLParserRULE_opt_raise_using = 788 + PostgreSQLParserRULE_opt_raise_using_elem = 789 + PostgreSQLParserRULE_opt_raise_using_elem_list = 790 + PostgreSQLParserRULE_stmt_assert = 791 + PostgreSQLParserRULE_opt_stmt_assert_message = 792 + PostgreSQLParserRULE_loop_body = 793 + PostgreSQLParserRULE_stmt_execsql = 794 + PostgreSQLParserRULE_stmt_dynexecute = 795 + PostgreSQLParserRULE_opt_execute_using = 796 + PostgreSQLParserRULE_opt_execute_using_list = 797 + PostgreSQLParserRULE_opt_execute_into = 798 + PostgreSQLParserRULE_stmt_open = 799 + PostgreSQLParserRULE_opt_open_bound_list_item = 800 + PostgreSQLParserRULE_opt_open_bound_list = 801 + PostgreSQLParserRULE_opt_open_using = 802 + PostgreSQLParserRULE_opt_scroll_option = 803 + PostgreSQLParserRULE_opt_scroll_option_no = 804 + PostgreSQLParserRULE_stmt_fetch = 805 + PostgreSQLParserRULE_into_target = 806 + PostgreSQLParserRULE_opt_cursor_from = 807 + PostgreSQLParserRULE_opt_fetch_direction = 808 + PostgreSQLParserRULE_stmt_move = 809 + PostgreSQLParserRULE_stmt_close = 810 + PostgreSQLParserRULE_stmt_null = 811 + PostgreSQLParserRULE_stmt_commit = 812 + PostgreSQLParserRULE_stmt_rollback = 813 + PostgreSQLParserRULE_plsql_opt_transaction_chain = 814 + PostgreSQLParserRULE_stmt_set = 815 + PostgreSQLParserRULE_cursor_variable = 816 + PostgreSQLParserRULE_exception_sect = 817 + PostgreSQLParserRULE_proc_exceptions = 818 + PostgreSQLParserRULE_proc_exception = 819 + PostgreSQLParserRULE_proc_conditions = 820 + PostgreSQLParserRULE_proc_condition = 821 + PostgreSQLParserRULE_opt_block_label = 822 + PostgreSQLParserRULE_opt_loop_label = 823 + PostgreSQLParserRULE_opt_label = 824 + PostgreSQLParserRULE_opt_exitcond = 825 + PostgreSQLParserRULE_any_identifier = 826 + PostgreSQLParserRULE_plsql_unreserved_keyword = 827 + PostgreSQLParserRULE_sql_expression = 828 + PostgreSQLParserRULE_expr_until_then = 829 + PostgreSQLParserRULE_expr_until_semi = 830 + PostgreSQLParserRULE_expr_until_rightbracket = 831 + PostgreSQLParserRULE_expr_until_loop = 832 + PostgreSQLParserRULE_make_execsql_stmt = 833 + PostgreSQLParserRULE_opt_returning_clause_into = 834 + PostgreSQLParserRULE_reserved_keyword = 835 + PostgreSQLParserRULE_unreserved_keyword = 836 + PostgreSQLParserRULE_col_name_keyword = 837 + PostgreSQLParserRULE_type_func_name_keyword = 838 ) // IRootContext is an interface to support dynamic dispatch. @@ -13017,7 +12865,7 @@ func (p *PostgreSQLParser) Alteroptroleelem() (localctx IAlteroptroleelemContext p.Role_list() } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserIS, PostgreSQLParserOUTER_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserBACKWARD, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOMMIT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURSOR, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTYPE_P, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABSOLUTE_P, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserBACKWARD, PostgreSQLParserCALL, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOMMIT, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserERROR_P, PostgreSQLParserFETCH, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserIS, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserOUTER_P, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserRETURN, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTABLE, PostgreSQLParserTYPE_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 7) { p.SetState(1867) @@ -13205,7 +13053,7 @@ func (p *PostgreSQLParser) Createoptroleelem() (localctx ICreateoptroleelemConte } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserUSER, PostgreSQLParserIS, PostgreSQLParserOUTER_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserBACKWARD, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOMMIT, PostgreSQLParserCONNECTION, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURSOR, PostgreSQLParserENCRYPTED, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINHERIT, PostgreSQLParserINSERT, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserPASSWORD, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTYPE_P, PostgreSQLParserUNENCRYPTED, PostgreSQLParserVALID, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABSOLUTE_P, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserBACKWARD, PostgreSQLParserCALL, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOMMIT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserENCRYPTED, PostgreSQLParserERROR_P, PostgreSQLParserFETCH, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINHERIT, PostgreSQLParserINSERT, PostgreSQLParserIS, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserOUTER_P, PostgreSQLParserPASSWORD, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserRETURN, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTABLE, PostgreSQLParserTYPE_P, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUSER, PostgreSQLParserVALID, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { p.SetState(1870) @@ -13650,7 +13498,7 @@ func (p *PostgreSQLParser) Alterrolestmt() (localctx IAlterrolestmtContext) { p.SetState(1891) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserUSER || _la == PostgreSQLParserROLE) { + if !(_la == PostgreSQLParserROLE || _la == PostgreSQLParserUSER) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -13995,7 +13843,7 @@ func (p *PostgreSQLParser) Alterrolesetstmt() (localctx IAlterrolesetstmtContext p.SetState(1903) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserUSER || _la == PostgreSQLParserROLE) { + if !(_la == PostgreSQLParserROLE || _la == PostgreSQLParserUSER) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -14196,7 +14044,7 @@ func (p *PostgreSQLParser) Droprolestmt() (localctx IDroprolestmtContext) { p.SetState(1914) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserGROUP_P || _la == PostgreSQLParserUSER || _la == PostgreSQLParserROLE) { + if !(_la == PostgreSQLParserGROUP_P || _la == PostgreSQLParserROLE || _la == PostgreSQLParserUSER) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -14988,7 +14836,7 @@ func (p *PostgreSQLParser) Createschemastmt() (localctx ICreateschemastmtContext } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(1945) p.Optschemaname() @@ -16068,7 +15916,7 @@ func (p *PostgreSQLParser) Generic_set() (localctx IGeneric_setContext) { p.SetState(1988) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserEQUAL || _la == PostgreSQLParserTO) { + if !(_la == PostgreSQLParserTO || _la == PostgreSQLParserEQUAL) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -16108,7 +15956,7 @@ type ISet_rest_moreContext interface { TIME() antlr.TerminalNode ZONE() antlr.TerminalNode Zone_value() IZone_valueContext - CATALOG() antlr.TerminalNode + CATALOG_P() antlr.TerminalNode Sconst() ISconstContext SCHEMA() antlr.TerminalNode NAMES() antlr.TerminalNode @@ -16223,8 +16071,8 @@ func (s *Set_rest_moreContext) Zone_value() IZone_valueContext { return t.(IZone_valueContext) } -func (s *Set_rest_moreContext) CATALOG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCATALOG, 0) +func (s *Set_rest_moreContext) CATALOG_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCATALOG_P, 0) } func (s *Set_rest_moreContext) Sconst() ISconstContext { @@ -16426,7 +16274,7 @@ func (p *PostgreSQLParser) Set_rest_more() (localctx ISet_rest_moreContext) { p.EnterOuterAlt(localctx, 4) { p.SetState(1999) - p.Match(PostgreSQLParserCATALOG) + p.Match(PostgreSQLParserCATALOG_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -16469,7 +16317,7 @@ func (p *PostgreSQLParser) Set_rest_more() (localctx ISet_rest_moreContext) { } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserDEFAULT || ((int64((_la-673)) & ^0x3f) == 0 && ((int64(1)<<(_la-673))&67108885) != 0) { + if _la == PostgreSQLParserDEFAULT || ((int64((_la-571)) & ^0x3f) == 0 && ((int64(1)<<(_la-571))&67108885) != 0) { { p.SetState(2004) p.Opt_encoding() @@ -17057,7 +16905,7 @@ func (p *PostgreSQLParser) Var_value() (localctx IVar_valueContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserON, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { p.SetState(2036) @@ -17421,7 +17269,7 @@ func (p *PostgreSQLParser) Opt_boolean_or_string() (localctx IOpt_boolean_or_str } } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 4) { p.SetState(2050) @@ -18033,7 +17881,7 @@ func (p *PostgreSQLParser) Nonreservedword_or_sconst() (localctx INonreservedwor } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { p.SetState(2075) @@ -18525,7 +18373,7 @@ func (p *PostgreSQLParser) Generic_reset() (localctx IGeneric_resetContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { p.SetState(2092) @@ -19419,7 +19267,7 @@ func (p *PostgreSQLParser) Constraints_set_list() (localctx IConstraints_set_lis } } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 2) { p.SetState(2124) @@ -20192,7 +20040,7 @@ func (p *PostgreSQLParser) Altertablestmt() (localctx IAltertablestmtContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserNOT, PostgreSQLParserADD_P, PostgreSQLParserALTER, PostgreSQLParserCLUSTER, PostgreSQLParserDISABLE_P, PostgreSQLParserDROP, PostgreSQLParserENABLE_P, PostgreSQLParserFORCE, PostgreSQLParserINHERIT, PostgreSQLParserNO, PostgreSQLParserOF, PostgreSQLParserOPTIONS, PostgreSQLParserOWNER, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserSET, PostgreSQLParserVALIDATE: + case PostgreSQLParserADD_P, PostgreSQLParserALTER, PostgreSQLParserCLUSTER, PostgreSQLParserDISABLE_P, PostgreSQLParserDROP, PostgreSQLParserENABLE_P, PostgreSQLParserFORCE, PostgreSQLParserINHERIT, PostgreSQLParserNO, PostgreSQLParserNOT, PostgreSQLParserOF, PostgreSQLParserOPTIONS, PostgreSQLParserOWNER, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserSET, PostgreSQLParserVALIDATE: { p.SetState(2141) p.Alter_table_cmds() @@ -20373,7 +20221,7 @@ func (p *PostgreSQLParser) Altertablestmt() (localctx IAltertablestmtContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserNOT, PostgreSQLParserADD_P, PostgreSQLParserALTER, PostgreSQLParserCLUSTER, PostgreSQLParserDISABLE_P, PostgreSQLParserDROP, PostgreSQLParserENABLE_P, PostgreSQLParserFORCE, PostgreSQLParserINHERIT, PostgreSQLParserNO, PostgreSQLParserOF, PostgreSQLParserOPTIONS, PostgreSQLParserOWNER, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserSET, PostgreSQLParserVALIDATE: + case PostgreSQLParserADD_P, PostgreSQLParserALTER, PostgreSQLParserCLUSTER, PostgreSQLParserDISABLE_P, PostgreSQLParserDROP, PostgreSQLParserENABLE_P, PostgreSQLParserFORCE, PostgreSQLParserINHERIT, PostgreSQLParserNO, PostgreSQLParserNOT, PostgreSQLParserOF, PostgreSQLParserOPTIONS, PostgreSQLParserOWNER, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserSET, PostgreSQLParserVALIDATE: { p.SetState(2169) p.Alter_table_cmds() @@ -25888,7 +25736,7 @@ func (p *PostgreSQLParser) Alter_identity_column_option() (localctx IAlter_ident } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAS, PostgreSQLParserCACHE, PostgreSQLParserCYCLE, PostgreSQLParserINCREMENT, PostgreSQLParserMAXVALUE, PostgreSQLParserMINVALUE, PostgreSQLParserNO, PostgreSQLParserOWNED, PostgreSQLParserRESTART, PostgreSQLParserSEQUENCE, PostgreSQLParserSTART, PostgreSQLParserUNLOGGED, PostgreSQLParserLOGGED: + case PostgreSQLParserAS, PostgreSQLParserCACHE, PostgreSQLParserCYCLE, PostgreSQLParserINCREMENT, PostgreSQLParserLOGGED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINVALUE, PostgreSQLParserNO, PostgreSQLParserOWNED, PostgreSQLParserRESTART, PostgreSQLParserSEQUENCE, PostgreSQLParserSTART, PostgreSQLParserUNLOGGED: { p.SetState(2636) p.Seqoptelem() @@ -27522,7 +27370,7 @@ func (p *PostgreSQLParser) Closeportalstmt() (localctx ICloseportalstmtContext) } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { p.SetState(2728) p.Cursor_name() @@ -27921,7 +27769,7 @@ func (p *PostgreSQLParser) Copystmt() (localctx ICopystmtContext) { } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserUSING || _la == PostgreSQLParserDELIMITERS { + if _la == PostgreSQLParserDELIMITERS || _la == PostgreSQLParserUSING { { p.SetState(2745) p.Copy_delimiter() @@ -28737,7 +28585,7 @@ func (p *PostgreSQLParser) Copy_opt_list() (localctx ICopy_opt_listContext) { } _la = p.GetTokenStream().LA(1) - for ((int64((_la-78)) & ^0x3f) == 0 && ((int64(1)<<(_la-78))&9288674231451649) != 0) || ((int64((_la-190)) & ^0x3f) == 0 && ((int64(1)<<(_la-190))&35459325497345) != 0) || _la == PostgreSQLParserQUOTE { + for _la == PostgreSQLParserBINARY || ((int64((_la-82)) & ^0x3f) == 0 && ((int64(1)<<(_la-82))&1143492126441473) != 0) || ((int64((_la-154)) & ^0x3f) == 0 && ((int64(1)<<(_la-154))&524305) != 0) || _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserQUOTE { { p.SetState(2787) p.Copy_opt_item() @@ -29936,7 +29784,7 @@ func (p *PostgreSQLParser) Copy_generic_opt_elem() (localctx ICopy_generic_opt_e } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3611948516751979012) != 0) || ((int64((_la-80)) & ^0x3f) == 0 && ((int64(1)<<(_la-80))&-288251816158621695) != 0) || ((int64((_la-144)) & ^0x3f) == 0 && ((int64(1)<<(_la-144))&-3) != 0) || ((int64((_la-208)) & ^0x3f) == 0 && ((int64(1)<<(_la-208))&-2305843009213693953) != 0) || ((int64((_la-273)) & ^0x3f) == 0 && ((int64(1)<<(_la-273))&-1) != 0) || ((int64((_la-337)) & ^0x3f) == 0 && ((int64(1)<<(_la-337))&-1) != 0) || ((int64((_la-401)) & ^0x3f) == 0 && ((int64(1)<<(_la-401))&-1) != 0) || ((int64((_la-465)) & ^0x3f) == 0 && ((int64(1)<<(_la-465))&-2882303761517118465) != 0) || ((int64((_la-529)) & ^0x3f) == 0 && ((int64(1)<<(_la-529))&-2049) != 0) || ((int64((_la-593)) & ^0x3f) == 0 && ((int64(1)<<(_la-593))&-1) != 0) || ((int64((_la-657)) & ^0x3f) == 0 && ((int64(1)<<(_la-657))&4413617148385) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9218580383712258) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639424589825) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358261761) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923189312094209) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6917582904918802945) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&450571068912951247) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&130615972452065279) != 0) || _la == PostgreSQLParserEscapeStringConstant { { p.SetState(2853) p.Copy_generic_opt_arg() @@ -30108,7 +29956,7 @@ func (p *PostgreSQLParser) Copy_generic_opt_arg() (localctx ICopy_generic_opt_ar } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserON, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { p.SetState(2856) @@ -30839,7 +30687,7 @@ func (p *PostgreSQLParser) Createstmt() (localctx ICreatestmtContext) { } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&32773) != 0) { + if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-421)) & ^0x3f) == 0 && ((int64(1)<<(_la-421))&536870917) != 0) { { p.SetState(2876) p.Opttemp() @@ -30913,7 +30761,7 @@ func (p *PostgreSQLParser) Createstmt() (localctx ICreatestmtContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-6764340626663145472) != 0) || ((int64((_la-85)) & ^0x3f) == 0 && ((int64(1)<<(_la-85))&-7609957040837877631) != 0) || ((int64((_la-149)) & ^0x3f) == 0 && ((int64(1)<<(_la-149))&-1) != 0) || ((int64((_la-213)) & ^0x3f) == 0 && ((int64(1)<<(_la-213))&-648518346341351425) != 0) || ((int64((_la-277)) & ^0x3f) == 0 && ((int64(1)<<(_la-277))&-1) != 0) || ((int64((_la-341)) & ^0x3f) == 0 && ((int64(1)<<(_la-341))&-1) != 0) || ((int64((_la-405)) & ^0x3f) == 0 && ((int64(1)<<(_la-405))&-1) != 0) || ((int64((_la-469)) & ^0x3f) == 0 && ((int64(1)<<(_la-469))&-180143985111597121) != 0) || ((int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&-129) != 0) || ((int64((_la-597)) & ^0x3f) == 0 && ((int64(1)<<(_la-597))&2305843009213693951) != 0) || ((int64((_la-662)) & ^0x3f) == 0 && ((int64(1)<<(_la-662))&402653327) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1153132920632427522) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785270048620511) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358343683) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986881) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2308148694895034897) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(2887) p.Opttableelementlist() @@ -32869,7 +32717,7 @@ func (p *PostgreSQLParser) Colquallist() (localctx IColquallistContext) { } _la = p.GetTokenStream().LA(1) - for ((int64((_la-42)) & ^0x3f) == 0 && ((int64(1)<<(_la-42))&72084085530433547) != 0) || _la == PostgreSQLParserGENERATED { + for ((int64((_la-53)) & ^0x3f) == 0 && ((int64(1)<<(_la-53))&1407374884601921) != 0) || _la == PostgreSQLParserGENERATED || _la == PostgreSQLParserINITIALLY || ((int64((_la-274)) & ^0x3f) == 0 && ((int64(1)<<(_la-274))&9007199254741025) != 0) || _la == PostgreSQLParserREFERENCES || _la == PostgreSQLParserUNIQUE { { p.SetState(3007) p.Colconstraint() @@ -34771,7 +34619,7 @@ func (p *PostgreSQLParser) Tablelikeoption() (localctx ITablelikeoptionContext) p.SetState(3109) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserALL || ((int64((_la-179)) & ^0x3f) == 0 && ((int64(1)<<(_la-179))&576460752303947809) != 0) || _la == PostgreSQLParserINDEXES || _la == PostgreSQLParserSTATISTICS || _la == PostgreSQLParserSTORAGE || _la == PostgreSQLParserGENERATED) { + if !(_la == PostgreSQLParserALL || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&274877907969) != 0) || ((int64((_la-163)) & ^0x3f) == 0 && ((int64(1)<<(_la-163))&67117057) != 0) || _la == PostgreSQLParserSTATISTICS || _la == PostgreSQLParserSTORAGE) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -34935,7 +34783,7 @@ func (p *PostgreSQLParser) Tableconstraint() (localctx ITableconstraintContext) p.Constraintelem() } - case PostgreSQLParserCHECK, PostgreSQLParserFOREIGN, PostgreSQLParserPRIMARY, PostgreSQLParserUNIQUE, PostgreSQLParserEXCLUDE: + case PostgreSQLParserCHECK, PostgreSQLParserEXCLUDE, PostgreSQLParserFOREIGN, PostgreSQLParserPRIMARY, PostgreSQLParserUNIQUE: p.EnterOuterAlt(localctx, 2) { p.SetState(3115) @@ -38719,7 +38567,7 @@ func (p *PostgreSQLParser) Part_elem() (localctx IPart_elemContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(3312) p.Opt_class() @@ -38752,7 +38600,7 @@ func (p *PostgreSQLParser) Part_elem() (localctx IPart_elemContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(3319) p.Opt_class() @@ -38801,7 +38649,7 @@ func (p *PostgreSQLParser) Part_elem() (localctx IPart_elemContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(3328) p.Opt_class() @@ -40441,7 +40289,7 @@ func (p *PostgreSQLParser) Createasstmt() (localctx ICreateasstmtContext) { } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&32773) != 0) { + if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-421)) & ^0x3f) == 0 && ((int64(1)<<(_la-421))&536870917) != 0) { { p.SetState(3391) p.Opttemp() @@ -41985,7 +41833,7 @@ func (p *PostgreSQLParser) Createseqstmt() (localctx ICreateseqstmtContext) { } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&32773) != 0) { + if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-421)) & ^0x3f) == 0 && ((int64(1)<<(_la-421))&536870917) != 0) { { p.SetState(3471) p.Opttemp() @@ -45682,7 +45530,7 @@ func (p *PostgreSQLParser) Create_extension_opt_list() (localctx ICreate_extensi } _la = p.GetTokenStream().LA(1) - for _la == PostgreSQLParserFROM || _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserSCHEMA || _la == PostgreSQLParserVERSION_P { + for _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserFROM || _la == PostgreSQLParserSCHEMA || _la == PostgreSQLParserVERSION_P { { p.SetState(3636) p.Create_extension_opt_item() @@ -50987,7 +50835,7 @@ func (p *PostgreSQLParser) Createforeigntablestmt() (localctx ICreateforeigntabl } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-6764340626663145472) != 0) || ((int64((_la-85)) & ^0x3f) == 0 && ((int64(1)<<(_la-85))&-7609957040837877631) != 0) || ((int64((_la-149)) & ^0x3f) == 0 && ((int64(1)<<(_la-149))&-1) != 0) || ((int64((_la-213)) & ^0x3f) == 0 && ((int64(1)<<(_la-213))&-648518346341351425) != 0) || ((int64((_la-277)) & ^0x3f) == 0 && ((int64(1)<<(_la-277))&-1) != 0) || ((int64((_la-341)) & ^0x3f) == 0 && ((int64(1)<<(_la-341))&-1) != 0) || ((int64((_la-405)) & ^0x3f) == 0 && ((int64(1)<<(_la-405))&-1) != 0) || ((int64((_la-469)) & ^0x3f) == 0 && ((int64(1)<<(_la-469))&-180143985111597121) != 0) || ((int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&-129) != 0) || ((int64((_la-597)) & ^0x3f) == 0 && ((int64(1)<<(_la-597))&2305843009213693951) != 0) || ((int64((_la-662)) & ^0x3f) == 0 && ((int64(1)<<(_la-662))&402653327) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1153132920632427522) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785270048620511) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358343683) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986881) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2308148694895034897) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(3923) p.Opttableelementlist() @@ -51112,7 +50960,7 @@ func (p *PostgreSQLParser) Createforeigntablestmt() (localctx ICreateforeigntabl } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-6764340626663145472) != 0) || ((int64((_la-85)) & ^0x3f) == 0 && ((int64(1)<<(_la-85))&-7609957040837877631) != 0) || ((int64((_la-149)) & ^0x3f) == 0 && ((int64(1)<<(_la-149))&-1) != 0) || ((int64((_la-213)) & ^0x3f) == 0 && ((int64(1)<<(_la-213))&-648518346341351425) != 0) || ((int64((_la-277)) & ^0x3f) == 0 && ((int64(1)<<(_la-277))&-1) != 0) || ((int64((_la-341)) & ^0x3f) == 0 && ((int64(1)<<(_la-341))&-1) != 0) || ((int64((_la-405)) & ^0x3f) == 0 && ((int64(1)<<(_la-405))&-1) != 0) || ((int64((_la-469)) & ^0x3f) == 0 && ((int64(1)<<(_la-469))&-180143985111597121) != 0) || ((int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&-129) != 0) || ((int64((_la-597)) & ^0x3f) == 0 && ((int64(1)<<(_la-597))&2305843009213693951) != 0) || ((int64((_la-662)) & ^0x3f) == 0 && ((int64(1)<<(_la-662))&402653327) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1153132920632427522) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785270048620511) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358343683) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986881) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2308148694895034897) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(3943) p.Opttableelementlist() @@ -52454,7 +52302,7 @@ func (p *PostgreSQLParser) Auth_ident() (localctx IAuth_identContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { p.SetState(4042) @@ -54533,7 +54381,7 @@ func (p *PostgreSQLParser) Row_security_cmd() (localctx IRow_security_cmdContext p.SetState(4132) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserALL || _la == PostgreSQLParserSELECT || _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserUPDATE) { + if !(_la == PostgreSQLParserALL || _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserSELECT || _la == PostgreSQLParserUPDATE) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -54870,7 +54718,7 @@ func (p *PostgreSQLParser) Am_type() (localctx IAm_typeContext) { p.SetState(4143) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserTABLE || _la == PostgreSQLParserINDEX) { + if !(_la == PostgreSQLParserINDEX || _la == PostgreSQLParserTABLE) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -56762,7 +56610,7 @@ func (p *PostgreSQLParser) Transitionrowortable() (localctx ITransitionrowortabl p.SetState(4235) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserTABLE || _la == PostgreSQLParserROW) { + if !(_la == PostgreSQLParserROW || _la == PostgreSQLParserTABLE) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -57258,7 +57106,7 @@ func (p *PostgreSQLParser) Triggerfortype() (localctx ITriggerfortypeContext) { p.SetState(4247) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserSTATEMENT || _la == PostgreSQLParserROW) { + if !(_la == PostgreSQLParserROW || _la == PostgreSQLParserSTATEMENT) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -57689,7 +57537,7 @@ func (p *PostgreSQLParser) Triggerfuncargs() (localctx ITriggerfuncargsContext) } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserALL, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserANY, PostgreSQLParserARRAY, PostgreSQLParserAS, PostgreSQLParserASC, PostgreSQLParserASYMMETRIC, PostgreSQLParserBOTH, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCHECK, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCREATE, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDEFERRABLE, PostgreSQLParserDESC, PostgreSQLParserDISTINCT, PostgreSQLParserDO, PostgreSQLParserELSE, PostgreSQLParserEXCEPT, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserFOR, PostgreSQLParserFOREIGN, PostgreSQLParserFROM, PostgreSQLParserGRANT, PostgreSQLParserGROUP_P, PostgreSQLParserHAVING, PostgreSQLParserIN_P, PostgreSQLParserINITIALLY, PostgreSQLParserINTERSECT, PostgreSQLParserLATERAL_P, PostgreSQLParserLEADING, PostgreSQLParserLIMIT, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserOFFSET, PostgreSQLParserON, PostgreSQLParserONLY, PostgreSQLParserOR, PostgreSQLParserORDER, PostgreSQLParserPLACING, PostgreSQLParserPRIMARY, PostgreSQLParserREFERENCES, PostgreSQLParserRETURNING, PostgreSQLParserSELECT, PostgreSQLParserSESSION_USER, PostgreSQLParserSOME, PostgreSQLParserSYMMETRIC, PostgreSQLParserTABLE, PostgreSQLParserTHEN, PostgreSQLParserTO, PostgreSQLParserTRAILING, PostgreSQLParserTRUE_P, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserUSING, PostgreSQLParserVARIADIC, PostgreSQLParserWHEN, PostgreSQLParserWHERE, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserEND_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALL, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserANY, PostgreSQLParserARRAY, PostgreSQLParserAS, PostgreSQLParserASC, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserASYMMETRIC, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBOTH, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECK, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCREATE, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRABLE, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDESC, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDISTINCT, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserELSE, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserEND_P, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCEPT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFOR, PostgreSQLParserFORCE, PostgreSQLParserFOREIGN, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFROM, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANT, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUP_P, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHAVING, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserIN_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINITIALLY, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERSECT, PostgreSQLParserINTERVAL, PostgreSQLParserINTO, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLATERAL_P, PostgreSQLParserLEADING, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLIMIT, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOFFSET, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserONLY, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOR, PostgreSQLParserORDER, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLACING, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIMARY, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCES, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNING, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSELECT, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOME, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYMMETRIC, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserSYSTEM_USER, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTHEN, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTO, PostgreSQLParserTRAILING, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserUSING, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARIADIC, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHEN, PostgreSQLParserWHERE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: { p.SetState(4256) p.Triggerfuncarg() @@ -57917,7 +57765,7 @@ func (p *PostgreSQLParser) Triggerfuncarg() (localctx ITriggerfuncargContext) { p.Sconst() } - case PostgreSQLParserALL, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserANY, PostgreSQLParserARRAY, PostgreSQLParserAS, PostgreSQLParserASC, PostgreSQLParserASYMMETRIC, PostgreSQLParserBOTH, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCHECK, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCREATE, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDEFERRABLE, PostgreSQLParserDESC, PostgreSQLParserDISTINCT, PostgreSQLParserDO, PostgreSQLParserELSE, PostgreSQLParserEXCEPT, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserFOR, PostgreSQLParserFOREIGN, PostgreSQLParserFROM, PostgreSQLParserGRANT, PostgreSQLParserGROUP_P, PostgreSQLParserHAVING, PostgreSQLParserIN_P, PostgreSQLParserINITIALLY, PostgreSQLParserINTERSECT, PostgreSQLParserLATERAL_P, PostgreSQLParserLEADING, PostgreSQLParserLIMIT, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserOFFSET, PostgreSQLParserON, PostgreSQLParserONLY, PostgreSQLParserOR, PostgreSQLParserORDER, PostgreSQLParserPLACING, PostgreSQLParserPRIMARY, PostgreSQLParserREFERENCES, PostgreSQLParserRETURNING, PostgreSQLParserSELECT, PostgreSQLParserSESSION_USER, PostgreSQLParserSOME, PostgreSQLParserSYMMETRIC, PostgreSQLParserTABLE, PostgreSQLParserTHEN, PostgreSQLParserTO, PostgreSQLParserTRAILING, PostgreSQLParserTRUE_P, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserUSING, PostgreSQLParserVARIADIC, PostgreSQLParserWHEN, PostgreSQLParserWHERE, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserEND_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALL, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserANY, PostgreSQLParserARRAY, PostgreSQLParserAS, PostgreSQLParserASC, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserASYMMETRIC, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBOTH, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECK, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCREATE, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRABLE, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDESC, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDISTINCT, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserELSE, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserEND_P, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCEPT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFOR, PostgreSQLParserFORCE, PostgreSQLParserFOREIGN, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFROM, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANT, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUP_P, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHAVING, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserIN_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINITIALLY, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERSECT, PostgreSQLParserINTERVAL, PostgreSQLParserINTO, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLATERAL_P, PostgreSQLParserLEADING, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLIMIT, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOFFSET, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserONLY, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOR, PostgreSQLParserORDER, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLACING, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIMARY, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCES, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNING, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSELECT, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOME, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYMMETRIC, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserSYSTEM_USER, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTHEN, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTO, PostgreSQLParserTRAILING, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserUSING, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARIADIC, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHEN, PostgreSQLParserWHERE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 4) { p.SetState(4270) @@ -58200,7 +58048,7 @@ func (p *PostgreSQLParser) Constraintattributespec() (localctx IConstraintattrib } _la = p.GetTokenStream().LA(1) - for ((int64((_la-54)) & ^0x3f) == 0 && ((int64(1)<<(_la-54))&8421377) != 0) || _la == PostgreSQLParserNO { + for _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserINITIALLY || _la == PostgreSQLParserNO || _la == PostgreSQLParserNOT { { p.SetState(4276) p.ConstraintattributeElem() @@ -60549,7 +60397,7 @@ func (p *PostgreSQLParser) Definestmt() (localctx IDefinestmtContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(4403) p.Opttablefuncelementlist() @@ -60618,7 +60466,7 @@ func (p *PostgreSQLParser) Definestmt() (localctx IDefinestmtContext) { } _la = p.GetTokenStream().LA(1) - if (int64((_la-673)) & ^0x3f) == 0 && ((int64(1)<<(_la-673))&67108885) != 0 { + if (int64((_la-571)) & ^0x3f) == 0 && ((int64(1)<<(_la-571))&67108885) != 0 { { p.SetState(4414) p.Opt_enum_val_list() @@ -67875,7 +67723,7 @@ func (p *PostgreSQLParser) Object_type_name() (localctx IObject_type_nameContext } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserFOREIGN, PostgreSQLParserACCESS, PostgreSQLParserEVENT, PostgreSQLParserEXTENSION, PostgreSQLParserLANGUAGE, PostgreSQLParserPROCEDURAL, PostgreSQLParserSCHEMA, PostgreSQLParserSERVER, PostgreSQLParserPUBLICATION: + case PostgreSQLParserACCESS, PostgreSQLParserEVENT, PostgreSQLParserEXTENSION, PostgreSQLParserFOREIGN, PostgreSQLParserLANGUAGE, PostgreSQLParserPROCEDURAL, PostgreSQLParserPUBLICATION, PostgreSQLParserSCHEMA, PostgreSQLParserSERVER: p.EnterOuterAlt(localctx, 1) { p.SetState(4882) @@ -68360,7 +68208,7 @@ func (p *PostgreSQLParser) Object_type_name_on_any_name() (localctx IObject_type p.SetState(4906) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserRULE || _la == PostgreSQLParserTRIGGER || _la == PostgreSQLParserPOLICY) { + if !(_la == PostgreSQLParserPOLICY || _la == PostgreSQLParserRULE || _la == PostgreSQLParserTRIGGER) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -75950,7 +75798,7 @@ func (p *PostgreSQLParser) Grantee() (localctx IGranteeContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { p.SetState(5481) @@ -78030,7 +77878,7 @@ func (p *PostgreSQLParser) Defacl_privilege_target() (localctx IDefacl_privilege p.SetState(5588) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserFUNCTIONS || ((int64((_la-341)) & ^0x3f) == 0 && ((int64(1)<<(_la-341))&4297064449) != 0) || _la == PostgreSQLParserROUTINES || _la == PostgreSQLParserSCHEMAS) { + if !(_la == PostgreSQLParserFUNCTIONS || ((int64((_la-365)) & ^0x3f) == 0 && ((int64(1)<<(_la-365))&4503599627387009) != 0) || _la == PostgreSQLParserTYPES_P) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -78410,7 +78258,7 @@ func (p *PostgreSQLParser) Indexstmt() (localctx IIndexstmtContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { p.SetState(5601) p.GetErrorHandler().Sync(p) @@ -81177,7 +81025,7 @@ func (p *PostgreSQLParser) Func_args() (localctx IFunc_argsContext) { } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-68)) & ^0x3f) == 0 && ((int64(1)<<(_la-68))&-87818259981664255) != 0) || ((int64((_la-132)) & ^0x3f) == 0 && ((int64(1)<<(_la-132))&-1) != 0) || ((int64((_la-196)) & ^0x3f) == 0 && ((int64(1)<<(_la-196))&-1) != 0) || ((int64((_la-260)) & ^0x3f) == 0 && ((int64(1)<<(_la-260))&-4609) != 0) || ((int64((_la-324)) & ^0x3f) == 0 && ((int64(1)<<(_la-324))&-1) != 0) || ((int64((_la-388)) & ^0x3f) == 0 && ((int64(1)<<(_la-388))&-1) != 0) || ((int64((_la-452)) & ^0x3f) == 0 && ((int64(1)<<(_la-452))&-8388609) != 0) || ((int64((_la-516)) & ^0x3f) == 0 && ((int64(1)<<(_la-516))&-16778497) != 0) || ((int64((_la-580)) & ^0x3f) == 0 && ((int64(1)<<(_la-580))&-1) != 0) || ((int64((_la-644)) & ^0x3f) == 0 && ((int64(1)<<(_la-644))&105553153769471) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9218580383712258) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639424589825) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9223362621128769503) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358261761) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206491963393) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834704732488193) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687554511) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(5734) p.Func_args_list() @@ -81917,7 +81765,7 @@ func (p *PostgreSQLParser) Func_args_with_defaults() (localctx IFunc_args_with_d } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-68)) & ^0x3f) == 0 && ((int64(1)<<(_la-68))&-87818259981664255) != 0) || ((int64((_la-132)) & ^0x3f) == 0 && ((int64(1)<<(_la-132))&-1) != 0) || ((int64((_la-196)) & ^0x3f) == 0 && ((int64(1)<<(_la-196))&-1) != 0) || ((int64((_la-260)) & ^0x3f) == 0 && ((int64(1)<<(_la-260))&-4609) != 0) || ((int64((_la-324)) & ^0x3f) == 0 && ((int64(1)<<(_la-324))&-1) != 0) || ((int64((_la-388)) & ^0x3f) == 0 && ((int64(1)<<(_la-388))&-1) != 0) || ((int64((_la-452)) & ^0x3f) == 0 && ((int64(1)<<(_la-452))&-8388609) != 0) || ((int64((_la-516)) & ^0x3f) == 0 && ((int64(1)<<(_la-516))&-16778497) != 0) || ((int64((_la-580)) & ^0x3f) == 0 && ((int64(1)<<(_la-580))&-1) != 0) || ((int64((_la-644)) & ^0x3f) == 0 && ((int64(1)<<(_la-644))&105553153769471) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9218580383712258) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639424589825) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9223362621128769503) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358261761) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206491963393) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834704732488193) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687554511) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { p.SetState(5766) p.Func_args_with_defaults_list() @@ -82524,7 +82372,6 @@ type IParam_nameContext interface { // Getter signatures Type_function_name() IType_function_nameContext - Builtin_function_name() IBuiltin_function_nameContext LEFT() antlr.TerminalNode RIGHT() antlr.TerminalNode @@ -82580,22 +82427,6 @@ func (s *Param_nameContext) Type_function_name() IType_function_nameContext { return t.(IType_function_nameContext) } -func (s *Param_nameContext) Builtin_function_name() IBuiltin_function_nameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBuiltin_function_nameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IBuiltin_function_nameContext) -} - func (s *Param_nameContext) LEFT() antlr.TerminalNode { return s.GetToken(PostgreSQLParserLEFT, 0) } @@ -82637,7 +82468,7 @@ func (s *Param_nameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Param_name() (localctx IParam_nameContext) { localctx = NewParam_nameContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 642, PostgreSQLParserRULE_param_name) - p.SetState(5807) + p.SetState(5806) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -82655,13 +82486,6 @@ func (p *PostgreSQLParser) Param_name() (localctx IParam_nameContext) { p.EnterOuterAlt(localctx, 2) { p.SetState(5804) - p.Builtin_function_name() - } - - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(5805) p.Match(PostgreSQLParserLEFT) if p.HasError() { // Recognition error - abort rule @@ -82669,10 +82493,10 @@ func (p *PostgreSQLParser) Param_name() (localctx IParam_nameContext) { } } - case 4: - p.EnterOuterAlt(localctx, 4) + case 3: + p.EnterOuterAlt(localctx, 3) { - p.SetState(5806) + p.SetState(5805) p.Match(PostgreSQLParserRIGHT) if p.HasError() { // Recognition error - abort rule @@ -82794,7 +82618,7 @@ func (p *PostgreSQLParser) Func_return() (localctx IFunc_returnContext) { p.EnterRule(localctx, 644, PostgreSQLParserRULE_func_return) p.EnterOuterAlt(localctx, 1) { - p.SetState(5809) + p.SetState(5808) p.Func_type() } @@ -82823,7 +82647,6 @@ type IFunc_typeContext interface { Attrs() IAttrsContext PERCENT() antlr.TerminalNode TYPE_P() antlr.TerminalNode - Builtin_function_name() IBuiltin_function_nameContext Type_function_name() IType_function_nameContext LEFT() antlr.TerminalNode RIGHT() antlr.TerminalNode @@ -82905,22 +82728,6 @@ func (s *Func_typeContext) TYPE_P() antlr.TerminalNode { return s.GetToken(PostgreSQLParserTYPE_P, 0) } -func (s *Func_typeContext) Builtin_function_name() IBuiltin_function_nameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBuiltin_function_nameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IBuiltin_function_nameContext) -} - func (s *Func_typeContext) Type_function_name() IType_function_nameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { @@ -82984,7 +82791,7 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { p.EnterRule(localctx, 646, PostgreSQLParserRULE_func_type) var _la int - p.SetState(5825) + p.SetState(5823) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -82994,13 +82801,13 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(5811) + p.SetState(5810) p.Typename() } case 2: p.EnterOuterAlt(localctx, 2) - p.SetState(5813) + p.SetState(5812) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -83009,7 +82816,7 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { if _la == PostgreSQLParserSETOF { { - p.SetState(5812) + p.SetState(5811) p.Match(PostgreSQLParserSETOF) if p.HasError() { // Recognition error - abort rule @@ -83018,7 +82825,7 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { } } - p.SetState(5819) + p.SetState(5817) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -83027,19 +82834,13 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 482, p.GetParserRuleContext()) { case 1: { - p.SetState(5815) - p.Builtin_function_name() - } - - case 2: - { - p.SetState(5816) + p.SetState(5814) p.Type_function_name() } - case 3: + case 2: { - p.SetState(5817) + p.SetState(5815) p.Match(PostgreSQLParserLEFT) if p.HasError() { // Recognition error - abort rule @@ -83047,9 +82848,9 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { } } - case 4: + case 3: { - p.SetState(5818) + p.SetState(5816) p.Match(PostgreSQLParserRIGHT) if p.HasError() { // Recognition error - abort rule @@ -83061,11 +82862,11 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { goto errorExit } { - p.SetState(5821) + p.SetState(5819) p.Attrs() } { - p.SetState(5822) + p.SetState(5820) p.Match(PostgreSQLParserPERCENT) if p.HasError() { // Recognition error - abort rule @@ -83073,7 +82874,7 @@ func (p *PostgreSQLParser) Func_type() (localctx IFunc_typeContext) { } } { - p.SetState(5823) + p.SetState(5821) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -83224,22 +83025,22 @@ func (p *PostgreSQLParser) Func_arg_with_default() (localctx IFunc_arg_with_defa p.EnterOuterAlt(localctx, 1) { - p.SetState(5827) + p.SetState(5825) p.Func_arg() } - p.SetState(5830) + p.SetState(5828) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserEQUAL || _la == PostgreSQLParserDEFAULT { + if _la == PostgreSQLParserDEFAULT || _la == PostgreSQLParserEQUAL { { - p.SetState(5828) + p.SetState(5826) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserEQUAL || _la == PostgreSQLParserDEFAULT) { + if !(_la == PostgreSQLParserDEFAULT || _la == PostgreSQLParserEQUAL) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -83247,7 +83048,7 @@ func (p *PostgreSQLParser) Func_arg_with_default() (localctx IFunc_arg_with_defa } } { - p.SetState(5829) + p.SetState(5827) p.A_expr() } @@ -83363,7 +83164,7 @@ func (p *PostgreSQLParser) Aggr_arg() (localctx IAggr_argContext) { p.EnterRule(localctx, 650, PostgreSQLParserRULE_aggr_arg) p.EnterOuterAlt(localctx, 1) { - p.SetState(5832) + p.SetState(5830) p.Func_arg() } @@ -83528,14 +83329,14 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { p.EnterRule(localctx, 652, PostgreSQLParserRULE_aggr_args) p.EnterOuterAlt(localctx, 1) { - p.SetState(5834) + p.SetState(5832) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(5845) + p.SetState(5843) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -83544,7 +83345,7 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 485, p.GetParserRuleContext()) { case 1: { - p.SetState(5835) + p.SetState(5833) p.Match(PostgreSQLParserSTAR) if p.HasError() { // Recognition error - abort rule @@ -83554,13 +83355,13 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { case 2: { - p.SetState(5836) + p.SetState(5834) p.Aggr_args_list() } case 3: { - p.SetState(5837) + p.SetState(5835) p.Match(PostgreSQLParserORDER) if p.HasError() { // Recognition error - abort rule @@ -83568,7 +83369,7 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { } } { - p.SetState(5838) + p.SetState(5836) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -83576,17 +83377,17 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { } } { - p.SetState(5839) + p.SetState(5837) p.Aggr_args_list() } case 4: { - p.SetState(5840) + p.SetState(5838) p.Aggr_args_list() } { - p.SetState(5841) + p.SetState(5839) p.Match(PostgreSQLParserORDER) if p.HasError() { // Recognition error - abort rule @@ -83594,7 +83395,7 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { } } { - p.SetState(5842) + p.SetState(5840) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -83602,7 +83403,7 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { } } { - p.SetState(5843) + p.SetState(5841) p.Aggr_args_list() } @@ -83610,7 +83411,7 @@ func (p *PostgreSQLParser) Aggr_args() (localctx IAggr_argsContext) { goto errorExit } { - p.SetState(5847) + p.SetState(5845) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -83766,10 +83567,10 @@ func (p *PostgreSQLParser) Aggr_args_list() (localctx IAggr_args_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(5849) + p.SetState(5847) p.Aggr_arg() } - p.SetState(5854) + p.SetState(5852) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -83778,7 +83579,7 @@ func (p *PostgreSQLParser) Aggr_args_list() (localctx IAggr_args_listContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(5850) + p.SetState(5848) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -83786,11 +83587,11 @@ func (p *PostgreSQLParser) Aggr_args_list() (localctx IAggr_args_listContext) { } } { - p.SetState(5851) + p.SetState(5849) p.Aggr_arg() } - p.SetState(5856) + p.SetState(5854) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -83925,11 +83726,11 @@ func (p *PostgreSQLParser) Aggregate_with_argtypes() (localctx IAggregate_with_a p.EnterRule(localctx, 656, PostgreSQLParserRULE_aggregate_with_argtypes) p.EnterOuterAlt(localctx, 1) { - p.SetState(5857) + p.SetState(5855) p.Func_name() } { - p.SetState(5858) + p.SetState(5856) p.Aggr_args() } @@ -84081,10 +83882,10 @@ func (p *PostgreSQLParser) Aggregate_with_argtypes_list() (localctx IAggregate_w p.EnterOuterAlt(localctx, 1) { - p.SetState(5860) + p.SetState(5858) p.Aggregate_with_argtypes() } - p.SetState(5865) + p.SetState(5863) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -84093,7 +83894,7 @@ func (p *PostgreSQLParser) Aggregate_with_argtypes_list() (localctx IAggregate_w for _la == PostgreSQLParserCOMMA { { - p.SetState(5861) + p.SetState(5859) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -84101,11 +83902,11 @@ func (p *PostgreSQLParser) Aggregate_with_argtypes_list() (localctx IAggregate_w } } { - p.SetState(5862) + p.SetState(5860) p.Aggregate_with_argtypes() } - p.SetState(5867) + p.SetState(5865) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -84250,7 +84051,7 @@ func (p *PostgreSQLParser) Createfunc_opt_list() (localctx ICreatefunc_opt_listC var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(5869) + p.SetState(5867) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -84260,7 +84061,7 @@ func (p *PostgreSQLParser) Createfunc_opt_list() (localctx ICreatefunc_opt_listC switch _alt { case 1: { - p.SetState(5868) + p.SetState(5866) p.Createfunc_opt_item() } @@ -84269,7 +84070,7 @@ func (p *PostgreSQLParser) Createfunc_opt_list() (localctx ICreatefunc_opt_listC goto errorExit } - p.SetState(5871) + p.SetState(5869) p.GetErrorHandler().Sync(p) _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 488, p.GetParserRuleContext()) if p.HasError() { @@ -84538,7 +84339,7 @@ func (s *Common_func_opt_itemContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_itemContext) { localctx = NewCommon_func_opt_itemContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 662, PostgreSQLParserRULE_common_func_opt_item) - p.SetState(5910) + p.SetState(5908) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -84548,7 +84349,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(5875) + p.SetState(5873) p.Match(PostgreSQLParserCALLED) if p.HasError() { // Recognition error - abort rule @@ -84556,7 +84357,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5876) + p.SetState(5874) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -84564,7 +84365,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5877) + p.SetState(5875) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -84572,7 +84373,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5878) + p.SetState(5876) p.Match(PostgreSQLParserINPUT_P) if p.HasError() { // Recognition error - abort rule @@ -84583,7 +84384,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(5879) + p.SetState(5877) p.Match(PostgreSQLParserRETURNS) if p.HasError() { // Recognition error - abort rule @@ -84591,7 +84392,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5880) + p.SetState(5878) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -84599,7 +84400,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5881) + p.SetState(5879) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -84607,7 +84408,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5882) + p.SetState(5880) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -84615,7 +84416,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5883) + p.SetState(5881) p.Match(PostgreSQLParserINPUT_P) if p.HasError() { // Recognition error - abort rule @@ -84626,7 +84427,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(5884) + p.SetState(5882) p.Match(PostgreSQLParserSTRICT_P) if p.HasError() { // Recognition error - abort rule @@ -84637,7 +84438,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(5885) + p.SetState(5883) p.Match(PostgreSQLParserIMMUTABLE) if p.HasError() { // Recognition error - abort rule @@ -84648,7 +84449,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(5886) + p.SetState(5884) p.Match(PostgreSQLParserSTABLE) if p.HasError() { // Recognition error - abort rule @@ -84659,7 +84460,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(5887) + p.SetState(5885) p.Match(PostgreSQLParserVOLATILE) if p.HasError() { // Recognition error - abort rule @@ -84670,7 +84471,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(5888) + p.SetState(5886) p.Match(PostgreSQLParserEXTERNAL) if p.HasError() { // Recognition error - abort rule @@ -84678,7 +84479,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5889) + p.SetState(5887) p.Match(PostgreSQLParserSECURITY) if p.HasError() { // Recognition error - abort rule @@ -84686,7 +84487,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5890) + p.SetState(5888) p.Match(PostgreSQLParserDEFINER) if p.HasError() { // Recognition error - abort rule @@ -84697,7 +84498,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(5891) + p.SetState(5889) p.Match(PostgreSQLParserEXTERNAL) if p.HasError() { // Recognition error - abort rule @@ -84705,7 +84506,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5892) + p.SetState(5890) p.Match(PostgreSQLParserSECURITY) if p.HasError() { // Recognition error - abort rule @@ -84713,7 +84514,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5893) + p.SetState(5891) p.Match(PostgreSQLParserINVOKER) if p.HasError() { // Recognition error - abort rule @@ -84724,7 +84525,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(5894) + p.SetState(5892) p.Match(PostgreSQLParserSECURITY) if p.HasError() { // Recognition error - abort rule @@ -84732,7 +84533,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5895) + p.SetState(5893) p.Match(PostgreSQLParserDEFINER) if p.HasError() { // Recognition error - abort rule @@ -84743,7 +84544,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(5896) + p.SetState(5894) p.Match(PostgreSQLParserSECURITY) if p.HasError() { // Recognition error - abort rule @@ -84751,7 +84552,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5897) + p.SetState(5895) p.Match(PostgreSQLParserINVOKER) if p.HasError() { // Recognition error - abort rule @@ -84762,7 +84563,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 11: p.EnterOuterAlt(localctx, 11) { - p.SetState(5898) + p.SetState(5896) p.Match(PostgreSQLParserLEAKPROOF) if p.HasError() { // Recognition error - abort rule @@ -84773,7 +84574,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 12: p.EnterOuterAlt(localctx, 12) { - p.SetState(5899) + p.SetState(5897) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -84781,7 +84582,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5900) + p.SetState(5898) p.Match(PostgreSQLParserLEAKPROOF) if p.HasError() { // Recognition error - abort rule @@ -84792,7 +84593,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite case 13: p.EnterOuterAlt(localctx, 13) { - p.SetState(5901) + p.SetState(5899) p.Match(PostgreSQLParserCOST) if p.HasError() { // Recognition error - abort rule @@ -84800,14 +84601,14 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5902) + p.SetState(5900) p.Numericonly() } case 14: p.EnterOuterAlt(localctx, 14) { - p.SetState(5903) + p.SetState(5901) p.Match(PostgreSQLParserROWS) if p.HasError() { // Recognition error - abort rule @@ -84815,14 +84616,14 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5904) + p.SetState(5902) p.Numericonly() } case 15: p.EnterOuterAlt(localctx, 15) { - p.SetState(5905) + p.SetState(5903) p.Match(PostgreSQLParserSUPPORT) if p.HasError() { // Recognition error - abort rule @@ -84830,21 +84631,21 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5906) + p.SetState(5904) p.Any_name() } case 16: p.EnterOuterAlt(localctx, 16) { - p.SetState(5907) + p.SetState(5905) p.Functionsetresetclause() } case 17: p.EnterOuterAlt(localctx, 17) { - p.SetState(5908) + p.SetState(5906) p.Match(PostgreSQLParserPARALLEL) if p.HasError() { // Recognition error - abort rule @@ -84852,7 +84653,7 @@ func (p *PostgreSQLParser) Common_func_opt_item() (localctx ICommon_func_opt_ite } } { - p.SetState(5909) + p.SetState(5907) p.Colid() } @@ -84884,7 +84685,7 @@ type ICreatefunc_opt_itemContext interface { AS() antlr.TerminalNode Func_as() IFunc_asContext BEGIN_P() antlr.TerminalNode - ATOMIC_P() antlr.TerminalNode + ATOMIC() antlr.TerminalNode Stmtmulti() IStmtmultiContext END_P() antlr.TerminalNode LANGUAGE() antlr.TerminalNode @@ -84954,8 +84755,8 @@ func (s *Createfunc_opt_itemContext) BEGIN_P() antlr.TerminalNode { return s.GetToken(PostgreSQLParserBEGIN_P, 0) } -func (s *Createfunc_opt_itemContext) ATOMIC_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATOMIC_P, 0) +func (s *Createfunc_opt_itemContext) ATOMIC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserATOMIC, 0) } func (s *Createfunc_opt_itemContext) Stmtmulti() IStmtmultiContext { @@ -85071,7 +84872,7 @@ func (s *Createfunc_opt_itemContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemContext) { localctx = NewCreatefunc_opt_itemContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 664, PostgreSQLParserRULE_createfunc_opt_item) - p.SetState(5925) + p.SetState(5923) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -85081,7 +84882,7 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC case PostgreSQLParserAS: p.EnterOuterAlt(localctx, 1) { - p.SetState(5912) + p.SetState(5910) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -85089,14 +84890,14 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC } } { - p.SetState(5913) + p.SetState(5911) p.Func_as() } case PostgreSQLParserBEGIN_P: p.EnterOuterAlt(localctx, 2) { - p.SetState(5914) + p.SetState(5912) p.Match(PostgreSQLParserBEGIN_P) if p.HasError() { // Recognition error - abort rule @@ -85104,19 +84905,19 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC } } { - p.SetState(5915) - p.Match(PostgreSQLParserATOMIC_P) + p.SetState(5913) + p.Match(PostgreSQLParserATOMIC) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(5916) + p.SetState(5914) p.Stmtmulti() } { - p.SetState(5917) + p.SetState(5915) p.Match(PostgreSQLParserEND_P) if p.HasError() { // Recognition error - abort rule @@ -85127,7 +84928,7 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC case PostgreSQLParserLANGUAGE: p.EnterOuterAlt(localctx, 3) { - p.SetState(5919) + p.SetState(5917) p.Match(PostgreSQLParserLANGUAGE) if p.HasError() { // Recognition error - abort rule @@ -85135,14 +84936,14 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC } } { - p.SetState(5920) + p.SetState(5918) p.Nonreservedword_or_sconst() } case PostgreSQLParserTRANSFORM: p.EnterOuterAlt(localctx, 4) { - p.SetState(5921) + p.SetState(5919) p.Match(PostgreSQLParserTRANSFORM) if p.HasError() { // Recognition error - abort rule @@ -85150,14 +84951,14 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC } } { - p.SetState(5922) + p.SetState(5920) p.Transform_type_list() } case PostgreSQLParserWINDOW: p.EnterOuterAlt(localctx, 5) { - p.SetState(5923) + p.SetState(5921) p.Match(PostgreSQLParserWINDOW) if p.HasError() { // Recognition error - abort rule @@ -85165,10 +84966,10 @@ func (p *PostgreSQLParser) Createfunc_opt_item() (localctx ICreatefunc_opt_itemC } } - case PostgreSQLParserNOT, PostgreSQLParserCALLED, PostgreSQLParserCOST, PostgreSQLParserEXTERNAL, PostgreSQLParserIMMUTABLE, PostgreSQLParserLEAKPROOF, PostgreSQLParserRESET, PostgreSQLParserRETURNS, PostgreSQLParserROWS, PostgreSQLParserSECURITY, PostgreSQLParserSET, PostgreSQLParserSTABLE, PostgreSQLParserSTRICT_P, PostgreSQLParserVOLATILE, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL: + case PostgreSQLParserCALLED, PostgreSQLParserCOST, PostgreSQLParserEXTERNAL, PostgreSQLParserIMMUTABLE, PostgreSQLParserLEAKPROOF, PostgreSQLParserNOT, PostgreSQLParserPARALLEL, PostgreSQLParserRESET, PostgreSQLParserRETURNS, PostgreSQLParserROWS, PostgreSQLParserSECURITY, PostgreSQLParserSET, PostgreSQLParserSTABLE, PostgreSQLParserSTRICT_P, PostgreSQLParserSUPPORT, PostgreSQLParserVOLATILE: p.EnterOuterAlt(localctx, 6) { - p.SetState(5924) + p.SetState(5922) p.Common_func_opt_item() } @@ -85338,7 +85139,7 @@ func (s *Func_asContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Func_as() (localctx IFunc_asContext) { localctx = NewFunc_asContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 666, PostgreSQLParserRULE_func_as) - p.SetState(5932) + p.SetState(5930) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -85348,7 +85149,7 @@ func (p *PostgreSQLParser) Func_as() (localctx IFunc_asContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(5927) + p.SetState(5925) var _x = p.Sconst() @@ -85358,11 +85159,11 @@ func (p *PostgreSQLParser) Func_as() (localctx IFunc_asContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(5928) + p.SetState(5926) p.Sconst() } { - p.SetState(5929) + p.SetState(5927) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -85370,7 +85171,7 @@ func (p *PostgreSQLParser) Func_as() (localctx IFunc_asContext) { } } { - p.SetState(5930) + p.SetState(5928) p.Sconst() } @@ -85546,7 +85347,7 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC p.EnterOuterAlt(localctx, 1) { - p.SetState(5934) + p.SetState(5932) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -85554,7 +85355,7 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC } } { - p.SetState(5935) + p.SetState(5933) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -85562,10 +85363,10 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC } } { - p.SetState(5936) + p.SetState(5934) p.Typename() } - p.SetState(5943) + p.SetState(5941) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -85574,7 +85375,7 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC for _la == PostgreSQLParserCOMMA { { - p.SetState(5937) + p.SetState(5935) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -85582,7 +85383,7 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC } } { - p.SetState(5938) + p.SetState(5936) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -85590,7 +85391,7 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC } } { - p.SetState(5939) + p.SetState(5937) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -85598,11 +85399,11 @@ func (p *PostgreSQLParser) Transform_type_list() (localctx ITransform_type_listC } } { - p.SetState(5940) + p.SetState(5938) p.Typename() } - p.SetState(5945) + p.SetState(5943) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -85725,7 +85526,7 @@ func (p *PostgreSQLParser) Opt_definition() (localctx IOpt_definitionContext) { p.EnterRule(localctx, 670, PostgreSQLParserRULE_opt_definition) p.EnterOuterAlt(localctx, 1) { - p.SetState(5946) + p.SetState(5944) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -85733,7 +85534,7 @@ func (p *PostgreSQLParser) Opt_definition() (localctx IOpt_definitionContext) { } } { - p.SetState(5947) + p.SetState(5945) p.Definition() } @@ -85864,11 +85665,11 @@ func (p *PostgreSQLParser) Table_func_column() (localctx ITable_func_columnConte p.EnterRule(localctx, 672, PostgreSQLParserRULE_table_func_column) p.EnterOuterAlt(localctx, 1) { - p.SetState(5949) + p.SetState(5947) p.Param_name() } { - p.SetState(5950) + p.SetState(5948) p.Func_type() } @@ -86020,10 +85821,10 @@ func (p *PostgreSQLParser) Table_func_column_list() (localctx ITable_func_column p.EnterOuterAlt(localctx, 1) { - p.SetState(5952) + p.SetState(5950) p.Table_func_column() } - p.SetState(5957) + p.SetState(5955) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86032,7 +85833,7 @@ func (p *PostgreSQLParser) Table_func_column_list() (localctx ITable_func_column for _la == PostgreSQLParserCOMMA { { - p.SetState(5953) + p.SetState(5951) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -86040,11 +85841,11 @@ func (p *PostgreSQLParser) Table_func_column_list() (localctx ITable_func_column } } { - p.SetState(5954) + p.SetState(5952) p.Table_func_column() } - p.SetState(5959) + p.SetState(5957) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86218,7 +86019,7 @@ func (p *PostgreSQLParser) Alterfunctionstmt() (localctx IAlterfunctionstmtConte p.EnterOuterAlt(localctx, 1) { - p.SetState(5960) + p.SetState(5958) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -86226,7 +86027,7 @@ func (p *PostgreSQLParser) Alterfunctionstmt() (localctx IAlterfunctionstmtConte } } { - p.SetState(5961) + p.SetState(5959) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserFUNCTION || _la == PostgreSQLParserPROCEDURE || _la == PostgreSQLParserROUTINE) { @@ -86237,14 +86038,14 @@ func (p *PostgreSQLParser) Alterfunctionstmt() (localctx IAlterfunctionstmtConte } } { - p.SetState(5962) + p.SetState(5960) p.Function_with_argtypes() } { - p.SetState(5963) + p.SetState(5961) p.Alterfunc_opt_list() } - p.SetState(5965) + p.SetState(5963) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86253,7 +86054,7 @@ func (p *PostgreSQLParser) Alterfunctionstmt() (localctx IAlterfunctionstmtConte if _la == PostgreSQLParserRESTRICT { { - p.SetState(5964) + p.SetState(5962) p.Opt_restrict() } @@ -86396,7 +86197,7 @@ func (p *PostgreSQLParser) Alterfunc_opt_list() (localctx IAlterfunc_opt_listCon var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(5968) + p.SetState(5966) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86406,7 +86207,7 @@ func (p *PostgreSQLParser) Alterfunc_opt_list() (localctx IAlterfunc_opt_listCon switch _alt { case 1: { - p.SetState(5967) + p.SetState(5965) p.Common_func_opt_item() } @@ -86415,7 +86216,7 @@ func (p *PostgreSQLParser) Alterfunc_opt_list() (localctx IAlterfunc_opt_listCon goto errorExit } - p.SetState(5970) + p.SetState(5968) p.GetErrorHandler().Sync(p) _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 495, p.GetParserRuleContext()) if p.HasError() { @@ -86521,7 +86322,7 @@ func (p *PostgreSQLParser) Opt_restrict() (localctx IOpt_restrictContext) { p.EnterRule(localctx, 680, PostgreSQLParserRULE_opt_restrict) p.EnterOuterAlt(localctx, 1) { - p.SetState(5972) + p.SetState(5970) p.Match(PostgreSQLParserRESTRICT) if p.HasError() { // Recognition error - abort rule @@ -86686,7 +86487,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { p.EnterRule(localctx, 682, PostgreSQLParserRULE_removefuncstmt) var _la int - p.SetState(6016) + p.SetState(6014) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86696,7 +86497,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(5974) + p.SetState(5972) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -86704,7 +86505,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5975) + p.SetState(5973) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -86712,10 +86513,10 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5976) + p.SetState(5974) p.Function_with_argtypes_list() } - p.SetState(5978) + p.SetState(5976) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86724,7 +86525,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(5977) + p.SetState(5975) p.Opt_drop_behavior() } @@ -86733,7 +86534,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(5980) + p.SetState(5978) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -86741,7 +86542,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5981) + p.SetState(5979) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -86749,7 +86550,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5982) + p.SetState(5980) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -86757,7 +86558,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5983) + p.SetState(5981) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -86765,10 +86566,10 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5984) + p.SetState(5982) p.Function_with_argtypes_list() } - p.SetState(5986) + p.SetState(5984) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86777,7 +86578,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(5985) + p.SetState(5983) p.Opt_drop_behavior() } @@ -86786,7 +86587,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(5988) + p.SetState(5986) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -86794,7 +86595,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5989) + p.SetState(5987) p.Match(PostgreSQLParserPROCEDURE) if p.HasError() { // Recognition error - abort rule @@ -86802,10 +86603,10 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5990) + p.SetState(5988) p.Function_with_argtypes_list() } - p.SetState(5992) + p.SetState(5990) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86814,7 +86615,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(5991) + p.SetState(5989) p.Opt_drop_behavior() } @@ -86823,7 +86624,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(5994) + p.SetState(5992) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -86831,7 +86632,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5995) + p.SetState(5993) p.Match(PostgreSQLParserPROCEDURE) if p.HasError() { // Recognition error - abort rule @@ -86839,7 +86640,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5996) + p.SetState(5994) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -86847,7 +86648,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5997) + p.SetState(5995) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -86855,10 +86656,10 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(5998) + p.SetState(5996) p.Function_with_argtypes_list() } - p.SetState(6000) + p.SetState(5998) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86867,7 +86668,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(5999) + p.SetState(5997) p.Opt_drop_behavior() } @@ -86876,7 +86677,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(6002) + p.SetState(6000) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -86884,7 +86685,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(6003) + p.SetState(6001) p.Match(PostgreSQLParserROUTINE) if p.HasError() { // Recognition error - abort rule @@ -86892,10 +86693,10 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(6004) + p.SetState(6002) p.Function_with_argtypes_list() } - p.SetState(6006) + p.SetState(6004) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86904,7 +86705,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6005) + p.SetState(6003) p.Opt_drop_behavior() } @@ -86913,7 +86714,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(6008) + p.SetState(6006) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -86921,7 +86722,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(6009) + p.SetState(6007) p.Match(PostgreSQLParserROUTINE) if p.HasError() { // Recognition error - abort rule @@ -86929,7 +86730,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(6010) + p.SetState(6008) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -86937,7 +86738,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(6011) + p.SetState(6009) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -86945,10 +86746,10 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { } } { - p.SetState(6012) + p.SetState(6010) p.Function_with_argtypes_list() } - p.SetState(6014) + p.SetState(6012) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -86957,7 +86758,7 @@ func (p *PostgreSQLParser) Removefuncstmt() (localctx IRemovefuncstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6013) + p.SetState(6011) p.Opt_drop_behavior() } @@ -87114,7 +86915,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { p.EnterRule(localctx, 684, PostgreSQLParserRULE_removeaggrstmt) var _la int - p.SetState(6032) + p.SetState(6030) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87124,7 +86925,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6018) + p.SetState(6016) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -87132,7 +86933,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { } } { - p.SetState(6019) + p.SetState(6017) p.Match(PostgreSQLParserAGGREGATE) if p.HasError() { // Recognition error - abort rule @@ -87140,10 +86941,10 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { } } { - p.SetState(6020) + p.SetState(6018) p.Aggregate_with_argtypes_list() } - p.SetState(6022) + p.SetState(6020) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87152,7 +86953,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6021) + p.SetState(6019) p.Opt_drop_behavior() } @@ -87161,7 +86962,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6024) + p.SetState(6022) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -87169,7 +86970,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { } } { - p.SetState(6025) + p.SetState(6023) p.Match(PostgreSQLParserAGGREGATE) if p.HasError() { // Recognition error - abort rule @@ -87177,7 +86978,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { } } { - p.SetState(6026) + p.SetState(6024) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -87185,7 +86986,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { } } { - p.SetState(6027) + p.SetState(6025) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -87193,10 +86994,10 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { } } { - p.SetState(6028) + p.SetState(6026) p.Aggregate_with_argtypes_list() } - p.SetState(6030) + p.SetState(6028) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87205,7 +87006,7 @@ func (p *PostgreSQLParser) Removeaggrstmt() (localctx IRemoveaggrstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6029) + p.SetState(6027) p.Opt_drop_behavior() } @@ -87362,7 +87163,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { p.EnterRule(localctx, 686, PostgreSQLParserRULE_removeoperstmt) var _la int - p.SetState(6048) + p.SetState(6046) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87372,7 +87173,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6034) + p.SetState(6032) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -87380,7 +87181,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { } } { - p.SetState(6035) + p.SetState(6033) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -87388,10 +87189,10 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { } } { - p.SetState(6036) + p.SetState(6034) p.Operator_with_argtypes_list() } - p.SetState(6038) + p.SetState(6036) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87400,7 +87201,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6037) + p.SetState(6035) p.Opt_drop_behavior() } @@ -87409,7 +87210,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6040) + p.SetState(6038) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -87417,7 +87218,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { } } { - p.SetState(6041) + p.SetState(6039) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -87425,7 +87226,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { } } { - p.SetState(6042) + p.SetState(6040) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -87433,7 +87234,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { } } { - p.SetState(6043) + p.SetState(6041) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -87441,10 +87242,10 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { } } { - p.SetState(6044) + p.SetState(6042) p.Operator_with_argtypes_list() } - p.SetState(6046) + p.SetState(6044) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87453,7 +87254,7 @@ func (p *PostgreSQLParser) Removeoperstmt() (localctx IRemoveoperstmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6045) + p.SetState(6043) p.Opt_drop_behavior() } @@ -87617,7 +87418,7 @@ func (s *Oper_argtypesContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { localctx = NewOper_argtypesContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 688, PostgreSQLParserRULE_oper_argtypes) - p.SetState(6072) + p.SetState(6070) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87627,7 +87428,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6050) + p.SetState(6048) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87635,11 +87436,11 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6051) + p.SetState(6049) p.Typename() } { - p.SetState(6052) + p.SetState(6050) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87650,7 +87451,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6054) + p.SetState(6052) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87658,11 +87459,11 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6055) + p.SetState(6053) p.Typename() } { - p.SetState(6056) + p.SetState(6054) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -87670,11 +87471,11 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6057) + p.SetState(6055) p.Typename() } { - p.SetState(6058) + p.SetState(6056) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87685,7 +87486,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6060) + p.SetState(6058) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87693,7 +87494,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6061) + p.SetState(6059) p.Match(PostgreSQLParserNONE) if p.HasError() { // Recognition error - abort rule @@ -87701,7 +87502,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6062) + p.SetState(6060) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -87709,11 +87510,11 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6063) + p.SetState(6061) p.Typename() } { - p.SetState(6064) + p.SetState(6062) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87724,7 +87525,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(6066) + p.SetState(6064) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87732,11 +87533,11 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6067) + p.SetState(6065) p.Typename() } { - p.SetState(6068) + p.SetState(6066) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -87744,7 +87545,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6069) + p.SetState(6067) p.Match(PostgreSQLParserNONE) if p.HasError() { // Recognition error - abort rule @@ -87752,7 +87553,7 @@ func (p *PostgreSQLParser) Oper_argtypes() (localctx IOper_argtypesContext) { } } { - p.SetState(6070) + p.SetState(6068) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -87928,20 +87729,20 @@ func (p *PostgreSQLParser) Any_operator() (localctx IAny_operatorContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(6079) + p.SetState(6077) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + for ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(6074) + p.SetState(6072) p.Colid() } { - p.SetState(6075) + p.SetState(6073) p.Match(PostgreSQLParserDOT) if p.HasError() { // Recognition error - abort rule @@ -87949,7 +87750,7 @@ func (p *PostgreSQLParser) Any_operator() (localctx IAny_operatorContext) { } } - p.SetState(6081) + p.SetState(6079) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -87957,7 +87758,7 @@ func (p *PostgreSQLParser) Any_operator() (localctx IAny_operatorContext) { _la = p.GetTokenStream().LA(1) } { - p.SetState(6082) + p.SetState(6080) p.All_op() } @@ -88109,10 +87910,10 @@ func (p *PostgreSQLParser) Operator_with_argtypes_list() (localctx IOperator_wit p.EnterOuterAlt(localctx, 1) { - p.SetState(6084) + p.SetState(6082) p.Operator_with_argtypes() } - p.SetState(6089) + p.SetState(6087) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -88121,7 +87922,7 @@ func (p *PostgreSQLParser) Operator_with_argtypes_list() (localctx IOperator_wit for _la == PostgreSQLParserCOMMA { { - p.SetState(6085) + p.SetState(6083) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -88129,11 +87930,11 @@ func (p *PostgreSQLParser) Operator_with_argtypes_list() (localctx IOperator_wit } } { - p.SetState(6086) + p.SetState(6084) p.Operator_with_argtypes() } - p.SetState(6091) + p.SetState(6089) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -88268,11 +88069,11 @@ func (p *PostgreSQLParser) Operator_with_argtypes() (localctx IOperator_with_arg p.EnterRule(localctx, 694, PostgreSQLParserRULE_operator_with_argtypes) p.EnterOuterAlt(localctx, 1) { - p.SetState(6092) + p.SetState(6090) p.Any_operator() } { - p.SetState(6093) + p.SetState(6091) p.Oper_argtypes() } @@ -88391,7 +88192,7 @@ func (p *PostgreSQLParser) Dostmt() (localctx IDostmtContext) { p.EnterRule(localctx, 696, PostgreSQLParserRULE_dostmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(6095) + p.SetState(6093) p.Match(PostgreSQLParserDO) if p.HasError() { // Recognition error - abort rule @@ -88399,7 +88200,7 @@ func (p *PostgreSQLParser) Dostmt() (localctx IDostmtContext) { } } { - p.SetState(6096) + p.SetState(6094) p.Dostmt_opt_list() } @@ -88540,20 +88341,20 @@ func (p *PostgreSQLParser) Dostmt_opt_list() (localctx IDostmt_opt_listContext) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(6099) + p.SetState(6097) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ok := true; ok; ok = _la == PostgreSQLParserLANGUAGE || ((int64((_la-673)) & ^0x3f) == 0 && ((int64(1)<<(_la-673))&67108885) != 0) { + for ok := true; ok; ok = _la == PostgreSQLParserLANGUAGE || ((int64((_la-571)) & ^0x3f) == 0 && ((int64(1)<<(_la-571))&67108885) != 0) { { - p.SetState(6098) + p.SetState(6096) p.Dostmt_opt_item() } - p.SetState(6101) + p.SetState(6099) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -88691,7 +88492,7 @@ func (s *Dostmt_opt_itemContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Dostmt_opt_item() (localctx IDostmt_opt_itemContext) { localctx = NewDostmt_opt_itemContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 700, PostgreSQLParserRULE_dostmt_opt_item) - p.SetState(6106) + p.SetState(6104) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -88701,14 +88502,14 @@ func (p *PostgreSQLParser) Dostmt_opt_item() (localctx IDostmt_opt_itemContext) case PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { - p.SetState(6103) + p.SetState(6101) p.Sconst() } case PostgreSQLParserLANGUAGE: p.EnterOuterAlt(localctx, 2) { - p.SetState(6104) + p.SetState(6102) p.Match(PostgreSQLParserLANGUAGE) if p.HasError() { // Recognition error - abort rule @@ -88716,7 +88517,7 @@ func (p *PostgreSQLParser) Dostmt_opt_item() (localctx IDostmt_opt_itemContext) } } { - p.SetState(6105) + p.SetState(6103) p.Nonreservedword_or_sconst() } @@ -88940,7 +88741,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { p.EnterRule(localctx, 702, PostgreSQLParserRULE_createcaststmt) var _la int - p.SetState(6145) + p.SetState(6143) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -88950,7 +88751,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6108) + p.SetState(6106) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -88958,7 +88759,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6109) + p.SetState(6107) p.Match(PostgreSQLParserCAST) if p.HasError() { // Recognition error - abort rule @@ -88966,7 +88767,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6110) + p.SetState(6108) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -88974,11 +88775,11 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6111) + p.SetState(6109) p.Typename() } { - p.SetState(6112) + p.SetState(6110) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -88986,11 +88787,11 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6113) + p.SetState(6111) p.Typename() } { - p.SetState(6114) + p.SetState(6112) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -88998,7 +88799,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6115) + p.SetState(6113) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -89006,7 +88807,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6116) + p.SetState(6114) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -89014,10 +88815,10 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6117) + p.SetState(6115) p.Function_with_argtypes() } - p.SetState(6119) + p.SetState(6117) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89026,7 +88827,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { if _la == PostgreSQLParserAS { { - p.SetState(6118) + p.SetState(6116) p.Cast_context() } @@ -89035,7 +88836,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6121) + p.SetState(6119) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -89043,7 +88844,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6122) + p.SetState(6120) p.Match(PostgreSQLParserCAST) if p.HasError() { // Recognition error - abort rule @@ -89051,7 +88852,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6123) + p.SetState(6121) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -89059,11 +88860,11 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6124) + p.SetState(6122) p.Typename() } { - p.SetState(6125) + p.SetState(6123) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -89071,11 +88872,11 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6126) + p.SetState(6124) p.Typename() } { - p.SetState(6127) + p.SetState(6125) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -89083,7 +88884,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6128) + p.SetState(6126) p.Match(PostgreSQLParserWITHOUT) if p.HasError() { // Recognition error - abort rule @@ -89091,14 +88892,14 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6129) + p.SetState(6127) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6131) + p.SetState(6129) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89107,7 +88908,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { if _la == PostgreSQLParserAS { { - p.SetState(6130) + p.SetState(6128) p.Cast_context() } @@ -89116,7 +88917,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6133) + p.SetState(6131) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -89124,7 +88925,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6134) + p.SetState(6132) p.Match(PostgreSQLParserCAST) if p.HasError() { // Recognition error - abort rule @@ -89132,7 +88933,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6135) + p.SetState(6133) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -89140,11 +88941,11 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6136) + p.SetState(6134) p.Typename() } { - p.SetState(6137) + p.SetState(6135) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -89152,11 +88953,11 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6138) + p.SetState(6136) p.Typename() } { - p.SetState(6139) + p.SetState(6137) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -89164,7 +88965,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6140) + p.SetState(6138) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -89172,14 +88973,14 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { } } { - p.SetState(6141) + p.SetState(6139) p.Match(PostgreSQLParserINOUT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6143) + p.SetState(6141) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89188,7 +88989,7 @@ func (p *PostgreSQLParser) Createcaststmt() (localctx ICreatecaststmtContext) { if _la == PostgreSQLParserAS { { - p.SetState(6142) + p.SetState(6140) p.Cast_context() } @@ -89304,7 +89105,7 @@ func (s *Cast_contextContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Cast_context() (localctx ICast_contextContext) { localctx = NewCast_contextContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 704, PostgreSQLParserRULE_cast_context) - p.SetState(6151) + p.SetState(6149) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89314,7 +89115,7 @@ func (p *PostgreSQLParser) Cast_context() (localctx ICast_contextContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6147) + p.SetState(6145) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -89322,7 +89123,7 @@ func (p *PostgreSQLParser) Cast_context() (localctx ICast_contextContext) { } } { - p.SetState(6148) + p.SetState(6146) p.Match(PostgreSQLParserIMPLICIT_P) if p.HasError() { // Recognition error - abort rule @@ -89333,7 +89134,7 @@ func (p *PostgreSQLParser) Cast_context() (localctx ICast_contextContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6149) + p.SetState(6147) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -89341,7 +89142,7 @@ func (p *PostgreSQLParser) Cast_context() (localctx ICast_contextContext) { } } { - p.SetState(6150) + p.SetState(6148) p.Match(PostgreSQLParserASSIGNMENT) if p.HasError() { // Recognition error - abort rule @@ -89550,7 +89351,7 @@ func (p *PostgreSQLParser) Dropcaststmt() (localctx IDropcaststmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(6153) + p.SetState(6151) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -89558,14 +89359,14 @@ func (p *PostgreSQLParser) Dropcaststmt() (localctx IDropcaststmtContext) { } } { - p.SetState(6154) + p.SetState(6152) p.Match(PostgreSQLParserCAST) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6156) + p.SetState(6154) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89574,13 +89375,13 @@ func (p *PostgreSQLParser) Dropcaststmt() (localctx IDropcaststmtContext) { if _la == PostgreSQLParserIF_P { { - p.SetState(6155) + p.SetState(6153) p.Opt_if_exists() } } { - p.SetState(6158) + p.SetState(6156) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -89588,11 +89389,11 @@ func (p *PostgreSQLParser) Dropcaststmt() (localctx IDropcaststmtContext) { } } { - p.SetState(6159) + p.SetState(6157) p.Typename() } { - p.SetState(6160) + p.SetState(6158) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -89600,18 +89401,18 @@ func (p *PostgreSQLParser) Dropcaststmt() (localctx IDropcaststmtContext) { } } { - p.SetState(6161) + p.SetState(6159) p.Typename() } { - p.SetState(6162) + p.SetState(6160) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6164) + p.SetState(6162) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89620,7 +89421,7 @@ func (p *PostgreSQLParser) Dropcaststmt() (localctx IDropcaststmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6163) + p.SetState(6161) p.Opt_drop_behavior() } @@ -89729,7 +89530,7 @@ func (p *PostgreSQLParser) Opt_if_exists() (localctx IOpt_if_existsContext) { p.EnterRule(localctx, 708, PostgreSQLParserRULE_opt_if_exists) p.EnterOuterAlt(localctx, 1) { - p.SetState(6166) + p.SetState(6164) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -89737,7 +89538,7 @@ func (p *PostgreSQLParser) Opt_if_exists() (localctx IOpt_if_existsContext) { } } { - p.SetState(6167) + p.SetState(6165) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -89938,14 +89739,14 @@ func (p *PostgreSQLParser) Createtransformstmt() (localctx ICreatetransformstmtC p.EnterOuterAlt(localctx, 1) { - p.SetState(6169) + p.SetState(6167) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6171) + p.SetState(6169) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -89954,13 +89755,13 @@ func (p *PostgreSQLParser) Createtransformstmt() (localctx ICreatetransformstmtC if _la == PostgreSQLParserOR { { - p.SetState(6170) + p.SetState(6168) p.Opt_or_replace() } } { - p.SetState(6173) + p.SetState(6171) p.Match(PostgreSQLParserTRANSFORM) if p.HasError() { // Recognition error - abort rule @@ -89968,7 +89769,7 @@ func (p *PostgreSQLParser) Createtransformstmt() (localctx ICreatetransformstmtC } } { - p.SetState(6174) + p.SetState(6172) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -89976,11 +89777,11 @@ func (p *PostgreSQLParser) Createtransformstmt() (localctx ICreatetransformstmtC } } { - p.SetState(6175) + p.SetState(6173) p.Typename() } { - p.SetState(6176) + p.SetState(6174) p.Match(PostgreSQLParserLANGUAGE) if p.HasError() { // Recognition error - abort rule @@ -89988,11 +89789,11 @@ func (p *PostgreSQLParser) Createtransformstmt() (localctx ICreatetransformstmtC } } { - p.SetState(6177) + p.SetState(6175) p.Name() } { - p.SetState(6178) + p.SetState(6176) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -90000,11 +89801,11 @@ func (p *PostgreSQLParser) Createtransformstmt() (localctx ICreatetransformstmtC } } { - p.SetState(6179) + p.SetState(6177) p.Transform_element_list() } { - p.SetState(6180) + p.SetState(6178) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -90191,7 +89992,7 @@ func (s *Transform_element_listContext) Accept(visitor antlr.ParseTreeVisitor) i func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element_listContext) { localctx = NewTransform_element_listContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 712, PostgreSQLParserRULE_transform_element_list) - p.SetState(6216) + p.SetState(6214) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -90201,7 +90002,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6182) + p.SetState(6180) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -90209,7 +90010,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6183) + p.SetState(6181) p.Match(PostgreSQLParserSQL_P) if p.HasError() { // Recognition error - abort rule @@ -90217,7 +90018,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6184) + p.SetState(6182) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -90225,7 +90026,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6185) + p.SetState(6183) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -90233,11 +90034,11 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6186) + p.SetState(6184) p.Function_with_argtypes() } { - p.SetState(6187) + p.SetState(6185) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -90245,7 +90046,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6188) + p.SetState(6186) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -90253,7 +90054,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6189) + p.SetState(6187) p.Match(PostgreSQLParserSQL_P) if p.HasError() { // Recognition error - abort rule @@ -90261,7 +90062,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6190) + p.SetState(6188) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -90269,7 +90070,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6191) + p.SetState(6189) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -90277,14 +90078,14 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6192) + p.SetState(6190) p.Function_with_argtypes() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6194) + p.SetState(6192) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -90292,7 +90093,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6195) + p.SetState(6193) p.Match(PostgreSQLParserSQL_P) if p.HasError() { // Recognition error - abort rule @@ -90300,7 +90101,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6196) + p.SetState(6194) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -90308,7 +90109,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6197) + p.SetState(6195) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -90316,11 +90117,11 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6198) + p.SetState(6196) p.Function_with_argtypes() } { - p.SetState(6199) + p.SetState(6197) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -90328,7 +90129,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6200) + p.SetState(6198) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -90336,7 +90137,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6201) + p.SetState(6199) p.Match(PostgreSQLParserSQL_P) if p.HasError() { // Recognition error - abort rule @@ -90344,7 +90145,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6202) + p.SetState(6200) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -90352,7 +90153,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6203) + p.SetState(6201) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -90360,14 +90161,14 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6204) + p.SetState(6202) p.Function_with_argtypes() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6206) + p.SetState(6204) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -90375,7 +90176,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6207) + p.SetState(6205) p.Match(PostgreSQLParserSQL_P) if p.HasError() { // Recognition error - abort rule @@ -90383,7 +90184,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6208) + p.SetState(6206) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -90391,7 +90192,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6209) + p.SetState(6207) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -90399,14 +90200,14 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6210) + p.SetState(6208) p.Function_with_argtypes() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(6211) + p.SetState(6209) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -90414,7 +90215,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6212) + p.SetState(6210) p.Match(PostgreSQLParserSQL_P) if p.HasError() { // Recognition error - abort rule @@ -90422,7 +90223,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6213) + p.SetState(6211) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -90430,7 +90231,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6214) + p.SetState(6212) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -90438,7 +90239,7 @@ func (p *PostgreSQLParser) Transform_element_list() (localctx ITransform_element } } { - p.SetState(6215) + p.SetState(6213) p.Function_with_argtypes() } @@ -90629,7 +90430,7 @@ func (p *PostgreSQLParser) Droptransformstmt() (localctx IDroptransformstmtConte p.EnterOuterAlt(localctx, 1) { - p.SetState(6218) + p.SetState(6216) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -90637,14 +90438,14 @@ func (p *PostgreSQLParser) Droptransformstmt() (localctx IDroptransformstmtConte } } { - p.SetState(6219) + p.SetState(6217) p.Match(PostgreSQLParserTRANSFORM) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6221) + p.SetState(6219) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -90653,13 +90454,13 @@ func (p *PostgreSQLParser) Droptransformstmt() (localctx IDroptransformstmtConte if _la == PostgreSQLParserIF_P { { - p.SetState(6220) + p.SetState(6218) p.Opt_if_exists() } } { - p.SetState(6223) + p.SetState(6221) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -90667,11 +90468,11 @@ func (p *PostgreSQLParser) Droptransformstmt() (localctx IDroptransformstmtConte } } { - p.SetState(6224) + p.SetState(6222) p.Typename() } { - p.SetState(6225) + p.SetState(6223) p.Match(PostgreSQLParserLANGUAGE) if p.HasError() { // Recognition error - abort rule @@ -90679,10 +90480,10 @@ func (p *PostgreSQLParser) Droptransformstmt() (localctx IDroptransformstmtConte } } { - p.SetState(6226) + p.SetState(6224) p.Name() } - p.SetState(6228) + p.SetState(6226) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -90691,7 +90492,7 @@ func (p *PostgreSQLParser) Droptransformstmt() (localctx IDroptransformstmtConte if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6227) + p.SetState(6225) p.Opt_drop_behavior() } @@ -90907,7 +90708,7 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { p.EnterRule(localctx, 716, PostgreSQLParserRULE_reindexstmt) var _la int - p.SetState(6264) + p.SetState(6262) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -90917,7 +90718,7 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6230) + p.SetState(6228) p.Match(PostgreSQLParserREINDEX) if p.HasError() { // Recognition error - abort rule @@ -90925,10 +90726,10 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6231) + p.SetState(6229) p.Reindex_target_type() } - p.SetState(6233) + p.SetState(6231) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -90937,20 +90738,20 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { if _la == PostgreSQLParserCONCURRENTLY { { - p.SetState(6232) + p.SetState(6230) p.Opt_concurrently() } } { - p.SetState(6235) + p.SetState(6233) p.Qualified_name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6237) + p.SetState(6235) p.Match(PostgreSQLParserREINDEX) if p.HasError() { // Recognition error - abort rule @@ -90958,10 +90759,10 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6238) + p.SetState(6236) p.Reindex_target_multitable() } - p.SetState(6240) + p.SetState(6238) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -90970,20 +90771,20 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { if _la == PostgreSQLParserCONCURRENTLY { { - p.SetState(6239) + p.SetState(6237) p.Opt_concurrently() } } { - p.SetState(6242) + p.SetState(6240) p.Name() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6244) + p.SetState(6242) p.Match(PostgreSQLParserREINDEX) if p.HasError() { // Recognition error - abort rule @@ -90991,7 +90792,7 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6245) + p.SetState(6243) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -90999,11 +90800,11 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6246) + p.SetState(6244) p.Reindex_option_list() } { - p.SetState(6247) + p.SetState(6245) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -91011,10 +90812,10 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6248) + p.SetState(6246) p.Reindex_target_type() } - p.SetState(6250) + p.SetState(6248) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -91023,20 +90824,20 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { if _la == PostgreSQLParserCONCURRENTLY { { - p.SetState(6249) + p.SetState(6247) p.Opt_concurrently() } } { - p.SetState(6252) + p.SetState(6250) p.Qualified_name() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(6254) + p.SetState(6252) p.Match(PostgreSQLParserREINDEX) if p.HasError() { // Recognition error - abort rule @@ -91044,7 +90845,7 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6255) + p.SetState(6253) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -91052,11 +90853,11 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6256) + p.SetState(6254) p.Reindex_option_list() } { - p.SetState(6257) + p.SetState(6255) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -91064,10 +90865,10 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { } } { - p.SetState(6258) + p.SetState(6256) p.Reindex_target_multitable() } - p.SetState(6260) + p.SetState(6258) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -91076,13 +90877,13 @@ func (p *PostgreSQLParser) Reindexstmt() (localctx IReindexstmtContext) { if _la == PostgreSQLParserCONCURRENTLY { { - p.SetState(6259) + p.SetState(6257) p.Opt_concurrently() } } { - p.SetState(6262) + p.SetState(6260) p.Name() } @@ -91210,10 +91011,10 @@ func (p *PostgreSQLParser) Reindex_target_type() (localctx IReindex_target_typeC p.EnterOuterAlt(localctx, 1) { - p.SetState(6266) + p.SetState(6264) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserTABLE || _la == PostgreSQLParserDATABASE || _la == PostgreSQLParserINDEX || _la == PostgreSQLParserSCHEMA || _la == PostgreSQLParserSYSTEM_P) { + if !(_la == PostgreSQLParserDATABASE || _la == PostgreSQLParserINDEX || ((int64((_la-371)) & ^0x3f) == 0 && ((int64(1)<<(_la-371))&43980465111041) != 0)) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -91331,7 +91132,7 @@ func (p *PostgreSQLParser) Reindex_target_multitable() (localctx IReindex_target p.EnterOuterAlt(localctx, 1) { - p.SetState(6268) + p.SetState(6266) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserDATABASE || _la == PostgreSQLParserSCHEMA || _la == PostgreSQLParserSYSTEM_P) { @@ -91490,10 +91291,10 @@ func (p *PostgreSQLParser) Reindex_option_list() (localctx IReindex_option_listC p.EnterOuterAlt(localctx, 1) { - p.SetState(6270) + p.SetState(6268) p.Reindex_option_elem() } - p.SetState(6275) + p.SetState(6273) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -91502,7 +91303,7 @@ func (p *PostgreSQLParser) Reindex_option_list() (localctx IReindex_option_listC for _la == PostgreSQLParserCOMMA { { - p.SetState(6271) + p.SetState(6269) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -91510,11 +91311,11 @@ func (p *PostgreSQLParser) Reindex_option_list() (localctx IReindex_option_listC } } { - p.SetState(6272) + p.SetState(6270) p.Reindex_option_elem() } - p.SetState(6277) + p.SetState(6275) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -91632,10 +91433,10 @@ func (p *PostgreSQLParser) Reindex_option_elem() (localctx IReindex_option_elemC p.EnterOuterAlt(localctx, 1) { - p.SetState(6278) + p.SetState(6276) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserCONCURRENTLY || _la == PostgreSQLParserVERBOSE || _la == PostgreSQLParserTABLESPACE) { + if !(_la == PostgreSQLParserCONCURRENTLY || _la == PostgreSQLParserTABLESPACE || _la == PostgreSQLParserVERBOSE) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -91788,7 +91589,7 @@ func (s *AltertblspcstmtContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) { localctx = NewAltertblspcstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 726, PostgreSQLParserRULE_altertblspcstmt) - p.SetState(6292) + p.SetState(6290) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -91798,7 +91599,7 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6280) + p.SetState(6278) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -91806,7 +91607,7 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) } } { - p.SetState(6281) + p.SetState(6279) p.Match(PostgreSQLParserTABLESPACE) if p.HasError() { // Recognition error - abort rule @@ -91814,11 +91615,11 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) } } { - p.SetState(6282) + p.SetState(6280) p.Name() } { - p.SetState(6283) + p.SetState(6281) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -91826,14 +91627,14 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) } } { - p.SetState(6284) + p.SetState(6282) p.Reloptions() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6286) + p.SetState(6284) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -91841,7 +91642,7 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) } } { - p.SetState(6287) + p.SetState(6285) p.Match(PostgreSQLParserTABLESPACE) if p.HasError() { // Recognition error - abort rule @@ -91849,11 +91650,11 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) } } { - p.SetState(6288) + p.SetState(6286) p.Name() } { - p.SetState(6289) + p.SetState(6287) p.Match(PostgreSQLParserRESET) if p.HasError() { // Recognition error - abort rule @@ -91861,7 +91662,7 @@ func (p *PostgreSQLParser) Altertblspcstmt() (localctx IAltertblspcstmtContext) } } { - p.SetState(6290) + p.SetState(6288) p.Reloptions() } @@ -92429,7 +92230,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { p.EnterRule(localctx, 728, PostgreSQLParserRULE_renamestmt) var _la int - p.SetState(6781) + p.SetState(6779) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -92439,7 +92240,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6294) + p.SetState(6292) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92447,7 +92248,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6295) + p.SetState(6293) p.Match(PostgreSQLParserAGGREGATE) if p.HasError() { // Recognition error - abort rule @@ -92455,11 +92256,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6296) + p.SetState(6294) p.Aggregate_with_argtypes() } { - p.SetState(6297) + p.SetState(6295) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92467,7 +92268,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6298) + p.SetState(6296) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92475,14 +92276,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6299) + p.SetState(6297) p.Name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6301) + p.SetState(6299) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92490,7 +92291,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6302) + p.SetState(6300) p.Match(PostgreSQLParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -92498,11 +92299,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6303) + p.SetState(6301) p.Any_name() } { - p.SetState(6304) + p.SetState(6302) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92510,7 +92311,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6305) + p.SetState(6303) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92518,14 +92319,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6306) + p.SetState(6304) p.Name() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6308) + p.SetState(6306) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92533,7 +92334,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6309) + p.SetState(6307) p.Match(PostgreSQLParserCONVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -92541,11 +92342,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6310) + p.SetState(6308) p.Any_name() } { - p.SetState(6311) + p.SetState(6309) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92553,7 +92354,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6312) + p.SetState(6310) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92561,14 +92362,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6313) + p.SetState(6311) p.Name() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(6315) + p.SetState(6313) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92576,7 +92377,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6316) + p.SetState(6314) p.Match(PostgreSQLParserDATABASE) if p.HasError() { // Recognition error - abort rule @@ -92584,11 +92385,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6317) + p.SetState(6315) p.Name() } { - p.SetState(6318) + p.SetState(6316) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92596,7 +92397,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6319) + p.SetState(6317) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92604,14 +92405,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6320) + p.SetState(6318) p.Name() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(6322) + p.SetState(6320) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92619,7 +92420,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6323) + p.SetState(6321) p.Match(PostgreSQLParserDOMAIN_P) if p.HasError() { // Recognition error - abort rule @@ -92627,11 +92428,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6324) + p.SetState(6322) p.Any_name() } { - p.SetState(6325) + p.SetState(6323) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92639,7 +92440,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6326) + p.SetState(6324) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92647,14 +92448,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6327) + p.SetState(6325) p.Name() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(6329) + p.SetState(6327) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92662,7 +92463,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6330) + p.SetState(6328) p.Match(PostgreSQLParserDOMAIN_P) if p.HasError() { // Recognition error - abort rule @@ -92670,11 +92471,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6331) + p.SetState(6329) p.Any_name() } { - p.SetState(6332) + p.SetState(6330) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92682,7 +92483,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6333) + p.SetState(6331) p.Match(PostgreSQLParserCONSTRAINT) if p.HasError() { // Recognition error - abort rule @@ -92690,11 +92491,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6334) + p.SetState(6332) p.Name() } { - p.SetState(6335) + p.SetState(6333) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92702,14 +92503,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6336) + p.SetState(6334) p.Name() } case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(6338) + p.SetState(6336) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92717,7 +92518,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6339) + p.SetState(6337) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -92725,7 +92526,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6340) + p.SetState(6338) p.Match(PostgreSQLParserDATA_P) if p.HasError() { // Recognition error - abort rule @@ -92733,7 +92534,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6341) + p.SetState(6339) p.Match(PostgreSQLParserWRAPPER) if p.HasError() { // Recognition error - abort rule @@ -92741,11 +92542,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6342) + p.SetState(6340) p.Name() } { - p.SetState(6343) + p.SetState(6341) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92753,7 +92554,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6344) + p.SetState(6342) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92761,14 +92562,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6345) + p.SetState(6343) p.Name() } case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(6347) + p.SetState(6345) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92776,7 +92577,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6348) + p.SetState(6346) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -92784,11 +92585,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6349) + p.SetState(6347) p.Function_with_argtypes() } { - p.SetState(6350) + p.SetState(6348) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92796,7 +92597,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6351) + p.SetState(6349) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92804,14 +92605,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6352) + p.SetState(6350) p.Name() } case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(6354) + p.SetState(6352) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92819,7 +92620,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6355) + p.SetState(6353) p.Match(PostgreSQLParserGROUP_P) if p.HasError() { // Recognition error - abort rule @@ -92827,11 +92628,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6356) + p.SetState(6354) p.Roleid() } { - p.SetState(6357) + p.SetState(6355) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92839,7 +92640,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6358) + p.SetState(6356) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92847,21 +92648,21 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6359) + p.SetState(6357) p.Roleid() } case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(6361) + p.SetState(6359) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6363) + p.SetState(6361) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -92870,13 +92671,13 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { if _la == PostgreSQLParserPROCEDURAL { { - p.SetState(6362) + p.SetState(6360) p.Opt_procedural() } } { - p.SetState(6365) + p.SetState(6363) p.Match(PostgreSQLParserLANGUAGE) if p.HasError() { // Recognition error - abort rule @@ -92884,11 +92685,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6366) + p.SetState(6364) p.Name() } { - p.SetState(6367) + p.SetState(6365) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92896,7 +92697,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6368) + p.SetState(6366) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92904,14 +92705,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6369) + p.SetState(6367) p.Name() } case 11: p.EnterOuterAlt(localctx, 11) { - p.SetState(6371) + p.SetState(6369) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92919,7 +92720,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6372) + p.SetState(6370) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -92927,7 +92728,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6373) + p.SetState(6371) p.Match(PostgreSQLParserCLASS) if p.HasError() { // Recognition error - abort rule @@ -92935,11 +92736,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6374) + p.SetState(6372) p.Any_name() } { - p.SetState(6375) + p.SetState(6373) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -92947,11 +92748,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6376) + p.SetState(6374) p.Name() } { - p.SetState(6377) + p.SetState(6375) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -92959,7 +92760,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6378) + p.SetState(6376) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -92967,14 +92768,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6379) + p.SetState(6377) p.Name() } case 12: p.EnterOuterAlt(localctx, 12) { - p.SetState(6381) + p.SetState(6379) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -92982,7 +92783,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6382) + p.SetState(6380) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -92990,7 +92791,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6383) + p.SetState(6381) p.Match(PostgreSQLParserFAMILY) if p.HasError() { // Recognition error - abort rule @@ -92998,11 +92799,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6384) + p.SetState(6382) p.Any_name() } { - p.SetState(6385) + p.SetState(6383) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -93010,11 +92811,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6386) + p.SetState(6384) p.Name() } { - p.SetState(6387) + p.SetState(6385) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93022,7 +92823,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6388) + p.SetState(6386) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93030,14 +92831,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6389) + p.SetState(6387) p.Name() } case 13: p.EnterOuterAlt(localctx, 13) { - p.SetState(6391) + p.SetState(6389) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93045,7 +92846,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6392) + p.SetState(6390) p.Match(PostgreSQLParserPOLICY) if p.HasError() { // Recognition error - abort rule @@ -93053,11 +92854,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6393) + p.SetState(6391) p.Name() } { - p.SetState(6394) + p.SetState(6392) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -93065,11 +92866,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6395) + p.SetState(6393) p.Qualified_name() } { - p.SetState(6396) + p.SetState(6394) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93077,7 +92878,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6397) + p.SetState(6395) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93085,14 +92886,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6398) + p.SetState(6396) p.Name() } case 14: p.EnterOuterAlt(localctx, 14) { - p.SetState(6400) + p.SetState(6398) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93100,7 +92901,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6401) + p.SetState(6399) p.Match(PostgreSQLParserPOLICY) if p.HasError() { // Recognition error - abort rule @@ -93108,7 +92909,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6402) + p.SetState(6400) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -93116,7 +92917,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6403) + p.SetState(6401) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -93124,11 +92925,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6404) + p.SetState(6402) p.Name() } { - p.SetState(6405) + p.SetState(6403) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -93136,11 +92937,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6406) + p.SetState(6404) p.Qualified_name() } { - p.SetState(6407) + p.SetState(6405) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93148,7 +92949,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6408) + p.SetState(6406) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93156,14 +92957,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6409) + p.SetState(6407) p.Name() } case 15: p.EnterOuterAlt(localctx, 15) { - p.SetState(6411) + p.SetState(6409) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93171,7 +92972,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6412) + p.SetState(6410) p.Match(PostgreSQLParserPROCEDURE) if p.HasError() { // Recognition error - abort rule @@ -93179,11 +92980,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6413) + p.SetState(6411) p.Function_with_argtypes() } { - p.SetState(6414) + p.SetState(6412) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93191,7 +92992,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6415) + p.SetState(6413) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93199,14 +93000,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6416) + p.SetState(6414) p.Name() } case 16: p.EnterOuterAlt(localctx, 16) { - p.SetState(6418) + p.SetState(6416) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93214,7 +93015,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6419) + p.SetState(6417) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -93222,11 +93023,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6420) + p.SetState(6418) p.Name() } { - p.SetState(6421) + p.SetState(6419) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93234,7 +93035,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6422) + p.SetState(6420) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93242,14 +93043,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6423) + p.SetState(6421) p.Name() } case 17: p.EnterOuterAlt(localctx, 17) { - p.SetState(6425) + p.SetState(6423) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93257,7 +93058,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6426) + p.SetState(6424) p.Match(PostgreSQLParserROUTINE) if p.HasError() { // Recognition error - abort rule @@ -93265,11 +93066,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6427) + p.SetState(6425) p.Function_with_argtypes() } { - p.SetState(6428) + p.SetState(6426) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93277,7 +93078,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6429) + p.SetState(6427) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93285,14 +93086,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6430) + p.SetState(6428) p.Name() } case 18: p.EnterOuterAlt(localctx, 18) { - p.SetState(6432) + p.SetState(6430) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93300,7 +93101,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6433) + p.SetState(6431) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -93308,11 +93109,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6434) + p.SetState(6432) p.Name() } { - p.SetState(6435) + p.SetState(6433) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93320,7 +93121,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6436) + p.SetState(6434) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93328,14 +93129,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6437) + p.SetState(6435) p.Name() } case 19: p.EnterOuterAlt(localctx, 19) { - p.SetState(6439) + p.SetState(6437) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93343,7 +93144,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6440) + p.SetState(6438) p.Match(PostgreSQLParserSERVER) if p.HasError() { // Recognition error - abort rule @@ -93351,11 +93152,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6441) + p.SetState(6439) p.Name() } { - p.SetState(6442) + p.SetState(6440) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93363,7 +93164,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6443) + p.SetState(6441) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93371,14 +93172,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6444) + p.SetState(6442) p.Name() } case 20: p.EnterOuterAlt(localctx, 20) { - p.SetState(6446) + p.SetState(6444) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93386,7 +93187,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6447) + p.SetState(6445) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -93394,11 +93195,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6448) + p.SetState(6446) p.Name() } { - p.SetState(6449) + p.SetState(6447) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93406,7 +93207,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6450) + p.SetState(6448) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93414,14 +93215,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6451) + p.SetState(6449) p.Name() } case 21: p.EnterOuterAlt(localctx, 21) { - p.SetState(6453) + p.SetState(6451) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93429,7 +93230,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6454) + p.SetState(6452) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -93437,11 +93238,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6455) + p.SetState(6453) p.Relation_expr() } { - p.SetState(6456) + p.SetState(6454) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93449,7 +93250,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6457) + p.SetState(6455) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93457,14 +93258,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6458) + p.SetState(6456) p.Name() } case 22: p.EnterOuterAlt(localctx, 22) { - p.SetState(6460) + p.SetState(6458) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93472,7 +93273,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6461) + p.SetState(6459) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -93480,7 +93281,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6462) + p.SetState(6460) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -93488,7 +93289,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6463) + p.SetState(6461) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -93496,11 +93297,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6464) + p.SetState(6462) p.Relation_expr() } { - p.SetState(6465) + p.SetState(6463) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93508,7 +93309,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6466) + p.SetState(6464) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93516,14 +93317,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6467) + p.SetState(6465) p.Name() } case 23: p.EnterOuterAlt(localctx, 23) { - p.SetState(6469) + p.SetState(6467) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93531,7 +93332,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6470) + p.SetState(6468) p.Match(PostgreSQLParserSEQUENCE) if p.HasError() { // Recognition error - abort rule @@ -93539,11 +93340,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6471) + p.SetState(6469) p.Qualified_name() } { - p.SetState(6472) + p.SetState(6470) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93551,7 +93352,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6473) + p.SetState(6471) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93559,14 +93360,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6474) + p.SetState(6472) p.Name() } case 24: p.EnterOuterAlt(localctx, 24) { - p.SetState(6476) + p.SetState(6474) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93574,7 +93375,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6477) + p.SetState(6475) p.Match(PostgreSQLParserSEQUENCE) if p.HasError() { // Recognition error - abort rule @@ -93582,7 +93383,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6478) + p.SetState(6476) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -93590,7 +93391,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6479) + p.SetState(6477) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -93598,11 +93399,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6480) + p.SetState(6478) p.Qualified_name() } { - p.SetState(6481) + p.SetState(6479) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93610,7 +93411,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6482) + p.SetState(6480) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93618,14 +93419,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6483) + p.SetState(6481) p.Name() } case 25: p.EnterOuterAlt(localctx, 25) { - p.SetState(6485) + p.SetState(6483) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93633,7 +93434,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6486) + p.SetState(6484) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -93641,11 +93442,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6487) + p.SetState(6485) p.Qualified_name() } { - p.SetState(6488) + p.SetState(6486) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93653,7 +93454,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6489) + p.SetState(6487) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93661,14 +93462,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6490) + p.SetState(6488) p.Name() } case 26: p.EnterOuterAlt(localctx, 26) { - p.SetState(6492) + p.SetState(6490) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93676,7 +93477,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6493) + p.SetState(6491) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -93684,7 +93485,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6494) + p.SetState(6492) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -93692,7 +93493,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6495) + p.SetState(6493) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -93700,11 +93501,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6496) + p.SetState(6494) p.Qualified_name() } { - p.SetState(6497) + p.SetState(6495) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93712,7 +93513,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6498) + p.SetState(6496) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93720,14 +93521,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6499) + p.SetState(6497) p.Name() } case 27: p.EnterOuterAlt(localctx, 27) { - p.SetState(6501) + p.SetState(6499) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93735,7 +93536,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6502) + p.SetState(6500) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -93743,7 +93544,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6503) + p.SetState(6501) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -93751,11 +93552,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6504) + p.SetState(6502) p.Qualified_name() } { - p.SetState(6505) + p.SetState(6503) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93763,7 +93564,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6506) + p.SetState(6504) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93771,14 +93572,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6507) + p.SetState(6505) p.Name() } case 28: p.EnterOuterAlt(localctx, 28) { - p.SetState(6509) + p.SetState(6507) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93786,7 +93587,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6510) + p.SetState(6508) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -93794,7 +93595,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6511) + p.SetState(6509) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -93802,7 +93603,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6512) + p.SetState(6510) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -93810,7 +93611,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6513) + p.SetState(6511) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -93818,11 +93619,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6514) + p.SetState(6512) p.Qualified_name() } { - p.SetState(6515) + p.SetState(6513) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93830,7 +93631,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6516) + p.SetState(6514) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93838,14 +93639,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6517) + p.SetState(6515) p.Name() } case 29: p.EnterOuterAlt(localctx, 29) { - p.SetState(6519) + p.SetState(6517) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93853,7 +93654,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6520) + p.SetState(6518) p.Match(PostgreSQLParserINDEX) if p.HasError() { // Recognition error - abort rule @@ -93861,11 +93662,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6521) + p.SetState(6519) p.Qualified_name() } { - p.SetState(6522) + p.SetState(6520) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93873,7 +93674,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6523) + p.SetState(6521) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93881,14 +93682,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6524) + p.SetState(6522) p.Name() } case 30: p.EnterOuterAlt(localctx, 30) { - p.SetState(6526) + p.SetState(6524) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93896,7 +93697,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6527) + p.SetState(6525) p.Match(PostgreSQLParserINDEX) if p.HasError() { // Recognition error - abort rule @@ -93904,7 +93705,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6528) + p.SetState(6526) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -93912,7 +93713,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6529) + p.SetState(6527) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -93920,11 +93721,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6530) + p.SetState(6528) p.Qualified_name() } { - p.SetState(6531) + p.SetState(6529) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93932,7 +93733,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6532) + p.SetState(6530) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93940,14 +93741,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6533) + p.SetState(6531) p.Name() } case 31: p.EnterOuterAlt(localctx, 31) { - p.SetState(6535) + p.SetState(6533) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -93955,7 +93756,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6536) + p.SetState(6534) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -93963,7 +93764,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6537) + p.SetState(6535) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -93971,11 +93772,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6538) + p.SetState(6536) p.Relation_expr() } { - p.SetState(6539) + p.SetState(6537) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -93983,7 +93784,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6540) + p.SetState(6538) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -93991,14 +93792,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6541) + p.SetState(6539) p.Name() } case 32: p.EnterOuterAlt(localctx, 32) { - p.SetState(6543) + p.SetState(6541) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94006,7 +93807,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6544) + p.SetState(6542) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -94014,7 +93815,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6545) + p.SetState(6543) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94022,7 +93823,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6546) + p.SetState(6544) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -94030,7 +93831,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6547) + p.SetState(6545) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -94038,11 +93839,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6548) + p.SetState(6546) p.Relation_expr() } { - p.SetState(6549) + p.SetState(6547) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94050,7 +93851,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6550) + p.SetState(6548) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94058,14 +93859,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6551) + p.SetState(6549) p.Name() } case 33: p.EnterOuterAlt(localctx, 33) { - p.SetState(6553) + p.SetState(6551) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94073,7 +93874,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6554) + p.SetState(6552) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94081,23 +93882,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6555) + p.SetState(6553) p.Relation_expr() } { - p.SetState(6556) + p.SetState(6554) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6558) + p.SetState(6556) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 533, p.GetParserRuleContext()) == 1 { { - p.SetState(6557) + p.SetState(6555) p.Opt_column() } @@ -94105,11 +93906,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6560) + p.SetState(6558) p.Name() } { - p.SetState(6561) + p.SetState(6559) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94117,14 +93918,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6562) + p.SetState(6560) p.Name() } case 34: p.EnterOuterAlt(localctx, 34) { - p.SetState(6564) + p.SetState(6562) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94132,7 +93933,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6565) + p.SetState(6563) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94140,7 +93941,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6566) + p.SetState(6564) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -94148,7 +93949,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6567) + p.SetState(6565) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -94156,23 +93957,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6568) + p.SetState(6566) p.Relation_expr() } { - p.SetState(6569) + p.SetState(6567) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6571) + p.SetState(6569) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 534, p.GetParserRuleContext()) == 1 { { - p.SetState(6570) + p.SetState(6568) p.Opt_column() } @@ -94180,11 +93981,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6573) + p.SetState(6571) p.Name() } { - p.SetState(6574) + p.SetState(6572) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94192,14 +93993,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6575) + p.SetState(6573) p.Name() } case 35: p.EnterOuterAlt(localctx, 35) { - p.SetState(6577) + p.SetState(6575) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94207,7 +94008,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6578) + p.SetState(6576) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -94215,23 +94016,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6579) + p.SetState(6577) p.Qualified_name() } { - p.SetState(6580) + p.SetState(6578) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6582) + p.SetState(6580) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 535, p.GetParserRuleContext()) == 1 { { - p.SetState(6581) + p.SetState(6579) p.Opt_column() } @@ -94239,11 +94040,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6584) + p.SetState(6582) p.Name() } { - p.SetState(6585) + p.SetState(6583) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94251,14 +94052,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6586) + p.SetState(6584) p.Name() } case 36: p.EnterOuterAlt(localctx, 36) { - p.SetState(6588) + p.SetState(6586) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94266,7 +94067,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6589) + p.SetState(6587) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -94274,7 +94075,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6590) + p.SetState(6588) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -94282,7 +94083,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6591) + p.SetState(6589) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -94290,23 +94091,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6592) + p.SetState(6590) p.Qualified_name() } { - p.SetState(6593) + p.SetState(6591) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6595) + p.SetState(6593) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 536, p.GetParserRuleContext()) == 1 { { - p.SetState(6594) + p.SetState(6592) p.Opt_column() } @@ -94314,11 +94115,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6597) + p.SetState(6595) p.Name() } { - p.SetState(6598) + p.SetState(6596) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94326,14 +94127,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6599) + p.SetState(6597) p.Name() } case 37: p.EnterOuterAlt(localctx, 37) { - p.SetState(6601) + p.SetState(6599) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94341,7 +94142,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6602) + p.SetState(6600) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -94349,7 +94150,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6603) + p.SetState(6601) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -94357,23 +94158,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6604) + p.SetState(6602) p.Qualified_name() } { - p.SetState(6605) + p.SetState(6603) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6607) + p.SetState(6605) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 537, p.GetParserRuleContext()) == 1 { { - p.SetState(6606) + p.SetState(6604) p.Opt_column() } @@ -94381,11 +94182,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6609) + p.SetState(6607) p.Name() } { - p.SetState(6610) + p.SetState(6608) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94393,14 +94194,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6611) + p.SetState(6609) p.Name() } case 38: p.EnterOuterAlt(localctx, 38) { - p.SetState(6613) + p.SetState(6611) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94408,7 +94209,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6614) + p.SetState(6612) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -94416,7 +94217,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6615) + p.SetState(6613) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -94424,7 +94225,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6616) + p.SetState(6614) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -94432,7 +94233,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6617) + p.SetState(6615) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -94440,23 +94241,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6618) + p.SetState(6616) p.Qualified_name() } { - p.SetState(6619) + p.SetState(6617) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6621) + p.SetState(6619) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 538, p.GetParserRuleContext()) == 1 { { - p.SetState(6620) + p.SetState(6618) p.Opt_column() } @@ -94464,11 +94265,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6623) + p.SetState(6621) p.Name() } { - p.SetState(6624) + p.SetState(6622) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94476,14 +94277,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6625) + p.SetState(6623) p.Name() } case 39: p.EnterOuterAlt(localctx, 39) { - p.SetState(6627) + p.SetState(6625) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94491,7 +94292,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6628) + p.SetState(6626) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94499,11 +94300,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6629) + p.SetState(6627) p.Relation_expr() } { - p.SetState(6630) + p.SetState(6628) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94511,7 +94312,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6631) + p.SetState(6629) p.Match(PostgreSQLParserCONSTRAINT) if p.HasError() { // Recognition error - abort rule @@ -94519,11 +94320,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6632) + p.SetState(6630) p.Name() } { - p.SetState(6633) + p.SetState(6631) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94531,14 +94332,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6634) + p.SetState(6632) p.Name() } case 40: p.EnterOuterAlt(localctx, 40) { - p.SetState(6636) + p.SetState(6634) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94546,7 +94347,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6637) + p.SetState(6635) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94554,7 +94355,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6638) + p.SetState(6636) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -94562,7 +94363,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6639) + p.SetState(6637) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -94570,11 +94371,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6640) + p.SetState(6638) p.Relation_expr() } { - p.SetState(6641) + p.SetState(6639) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94582,7 +94383,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6642) + p.SetState(6640) p.Match(PostgreSQLParserCONSTRAINT) if p.HasError() { // Recognition error - abort rule @@ -94590,11 +94391,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6643) + p.SetState(6641) p.Name() } { - p.SetState(6644) + p.SetState(6642) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94602,14 +94403,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6645) + p.SetState(6643) p.Name() } case 41: p.EnterOuterAlt(localctx, 41) { - p.SetState(6647) + p.SetState(6645) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94617,7 +94418,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6648) + p.SetState(6646) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -94625,7 +94426,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6649) + p.SetState(6647) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94633,23 +94434,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6650) + p.SetState(6648) p.Relation_expr() } { - p.SetState(6651) + p.SetState(6649) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6653) + p.SetState(6651) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 539, p.GetParserRuleContext()) == 1 { { - p.SetState(6652) + p.SetState(6650) p.Opt_column() } @@ -94657,11 +94458,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6655) + p.SetState(6653) p.Name() } { - p.SetState(6656) + p.SetState(6654) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94669,14 +94470,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6657) + p.SetState(6655) p.Name() } case 42: p.EnterOuterAlt(localctx, 42) { - p.SetState(6659) + p.SetState(6657) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94684,7 +94485,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6660) + p.SetState(6658) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -94692,7 +94493,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6661) + p.SetState(6659) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -94700,7 +94501,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6662) + p.SetState(6660) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -94708,7 +94509,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6663) + p.SetState(6661) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -94716,23 +94517,23 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6664) + p.SetState(6662) p.Relation_expr() } { - p.SetState(6665) + p.SetState(6663) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(6667) + p.SetState(6665) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 540, p.GetParserRuleContext()) == 1 { { - p.SetState(6666) + p.SetState(6664) p.Opt_column() } @@ -94740,11 +94541,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { goto errorExit } { - p.SetState(6669) + p.SetState(6667) p.Name() } { - p.SetState(6670) + p.SetState(6668) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94752,14 +94553,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6671) + p.SetState(6669) p.Name() } case 43: p.EnterOuterAlt(localctx, 43) { - p.SetState(6673) + p.SetState(6671) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94767,7 +94568,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6674) + p.SetState(6672) p.Match(PostgreSQLParserRULE) if p.HasError() { // Recognition error - abort rule @@ -94775,11 +94576,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6675) + p.SetState(6673) p.Name() } { - p.SetState(6676) + p.SetState(6674) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -94787,11 +94588,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6677) + p.SetState(6675) p.Qualified_name() } { - p.SetState(6678) + p.SetState(6676) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94799,7 +94600,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6679) + p.SetState(6677) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94807,14 +94608,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6680) + p.SetState(6678) p.Name() } case 44: p.EnterOuterAlt(localctx, 44) { - p.SetState(6682) + p.SetState(6680) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94822,7 +94623,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6683) + p.SetState(6681) p.Match(PostgreSQLParserTRIGGER) if p.HasError() { // Recognition error - abort rule @@ -94830,11 +94631,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6684) + p.SetState(6682) p.Name() } { - p.SetState(6685) + p.SetState(6683) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -94842,11 +94643,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6686) + p.SetState(6684) p.Qualified_name() } { - p.SetState(6687) + p.SetState(6685) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94854,7 +94655,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6688) + p.SetState(6686) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94862,14 +94663,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6689) + p.SetState(6687) p.Name() } case 45: p.EnterOuterAlt(localctx, 45) { - p.SetState(6691) + p.SetState(6689) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94877,7 +94678,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6692) + p.SetState(6690) p.Match(PostgreSQLParserEVENT) if p.HasError() { // Recognition error - abort rule @@ -94885,7 +94686,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6693) + p.SetState(6691) p.Match(PostgreSQLParserTRIGGER) if p.HasError() { // Recognition error - abort rule @@ -94893,11 +94694,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6694) + p.SetState(6692) p.Name() } { - p.SetState(6695) + p.SetState(6693) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94905,7 +94706,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6696) + p.SetState(6694) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94913,14 +94714,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6697) + p.SetState(6695) p.Name() } case 46: p.EnterOuterAlt(localctx, 46) { - p.SetState(6699) + p.SetState(6697) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94928,7 +94729,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6700) + p.SetState(6698) p.Match(PostgreSQLParserROLE) if p.HasError() { // Recognition error - abort rule @@ -94936,11 +94737,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6701) + p.SetState(6699) p.Roleid() } { - p.SetState(6702) + p.SetState(6700) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94948,7 +94749,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6703) + p.SetState(6701) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94956,14 +94757,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6704) + p.SetState(6702) p.Roleid() } case 47: p.EnterOuterAlt(localctx, 47) { - p.SetState(6706) + p.SetState(6704) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -94971,7 +94772,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6707) + p.SetState(6705) p.Match(PostgreSQLParserUSER) if p.HasError() { // Recognition error - abort rule @@ -94979,11 +94780,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6708) + p.SetState(6706) p.Roleid() } { - p.SetState(6709) + p.SetState(6707) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -94991,7 +94792,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6710) + p.SetState(6708) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -94999,14 +94800,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6711) + p.SetState(6709) p.Roleid() } case 48: p.EnterOuterAlt(localctx, 48) { - p.SetState(6713) + p.SetState(6711) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95014,7 +94815,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6714) + p.SetState(6712) p.Match(PostgreSQLParserTABLESPACE) if p.HasError() { // Recognition error - abort rule @@ -95022,11 +94823,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6715) + p.SetState(6713) p.Name() } { - p.SetState(6716) + p.SetState(6714) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95034,7 +94835,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6717) + p.SetState(6715) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95042,14 +94843,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6718) + p.SetState(6716) p.Name() } case 49: p.EnterOuterAlt(localctx, 49) { - p.SetState(6720) + p.SetState(6718) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95057,7 +94858,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6721) + p.SetState(6719) p.Match(PostgreSQLParserSTATISTICS) if p.HasError() { // Recognition error - abort rule @@ -95065,11 +94866,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6722) + p.SetState(6720) p.Any_name() } { - p.SetState(6723) + p.SetState(6721) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95077,7 +94878,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6724) + p.SetState(6722) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95085,14 +94886,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6725) + p.SetState(6723) p.Name() } case 50: p.EnterOuterAlt(localctx, 50) { - p.SetState(6727) + p.SetState(6725) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95100,7 +94901,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6728) + p.SetState(6726) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -95108,7 +94909,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6729) + p.SetState(6727) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -95116,7 +94917,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6730) + p.SetState(6728) p.Match(PostgreSQLParserPARSER) if p.HasError() { // Recognition error - abort rule @@ -95124,11 +94925,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6731) + p.SetState(6729) p.Any_name() } { - p.SetState(6732) + p.SetState(6730) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95136,7 +94937,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6733) + p.SetState(6731) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95144,14 +94945,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6734) + p.SetState(6732) p.Name() } case 51: p.EnterOuterAlt(localctx, 51) { - p.SetState(6736) + p.SetState(6734) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95159,7 +94960,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6737) + p.SetState(6735) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -95167,7 +94968,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6738) + p.SetState(6736) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -95175,7 +94976,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6739) + p.SetState(6737) p.Match(PostgreSQLParserDICTIONARY) if p.HasError() { // Recognition error - abort rule @@ -95183,11 +94984,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6740) + p.SetState(6738) p.Any_name() } { - p.SetState(6741) + p.SetState(6739) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95195,7 +94996,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6742) + p.SetState(6740) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95203,14 +95004,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6743) + p.SetState(6741) p.Name() } case 52: p.EnterOuterAlt(localctx, 52) { - p.SetState(6745) + p.SetState(6743) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95218,7 +95019,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6746) + p.SetState(6744) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -95226,7 +95027,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6747) + p.SetState(6745) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -95234,7 +95035,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6748) + p.SetState(6746) p.Match(PostgreSQLParserTEMPLATE) if p.HasError() { // Recognition error - abort rule @@ -95242,11 +95043,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6749) + p.SetState(6747) p.Any_name() } { - p.SetState(6750) + p.SetState(6748) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95254,7 +95055,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6751) + p.SetState(6749) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95262,14 +95063,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6752) + p.SetState(6750) p.Name() } case 53: p.EnterOuterAlt(localctx, 53) { - p.SetState(6754) + p.SetState(6752) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95277,7 +95078,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6755) + p.SetState(6753) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -95285,7 +95086,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6756) + p.SetState(6754) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -95293,7 +95094,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6757) + p.SetState(6755) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -95301,11 +95102,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6758) + p.SetState(6756) p.Any_name() } { - p.SetState(6759) + p.SetState(6757) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95313,7 +95114,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6760) + p.SetState(6758) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95321,14 +95122,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6761) + p.SetState(6759) p.Name() } case 54: p.EnterOuterAlt(localctx, 54) { - p.SetState(6763) + p.SetState(6761) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95336,7 +95137,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6764) + p.SetState(6762) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -95344,11 +95145,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6765) + p.SetState(6763) p.Any_name() } { - p.SetState(6766) + p.SetState(6764) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95356,7 +95157,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6767) + p.SetState(6765) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95364,14 +95165,14 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6768) + p.SetState(6766) p.Name() } case 55: p.EnterOuterAlt(localctx, 55) { - p.SetState(6770) + p.SetState(6768) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95379,7 +95180,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6771) + p.SetState(6769) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -95387,11 +95188,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6772) + p.SetState(6770) p.Any_name() } { - p.SetState(6773) + p.SetState(6771) p.Match(PostgreSQLParserRENAME) if p.HasError() { // Recognition error - abort rule @@ -95399,7 +95200,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6774) + p.SetState(6772) p.Match(PostgreSQLParserATTRIBUTE) if p.HasError() { // Recognition error - abort rule @@ -95407,11 +95208,11 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6775) + p.SetState(6773) p.Name() } { - p.SetState(6776) + p.SetState(6774) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -95419,10 +95220,10 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { } } { - p.SetState(6777) + p.SetState(6775) p.Name() } - p.SetState(6779) + p.SetState(6777) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -95431,7 +95232,7 @@ func (p *PostgreSQLParser) Renamestmt() (localctx IRenamestmtContext) { if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(6778) + p.SetState(6776) p.Opt_drop_behavior() } @@ -95539,7 +95340,7 @@ func (p *PostgreSQLParser) Opt_column() (localctx IOpt_columnContext) { p.EnterRule(localctx, 730, PostgreSQLParserRULE_opt_column) p.EnterOuterAlt(localctx, 1) { - p.SetState(6783) + p.SetState(6781) p.Match(PostgreSQLParserCOLUMN) if p.HasError() { // Recognition error - abort rule @@ -95650,7 +95451,7 @@ func (p *PostgreSQLParser) Opt_set_data() (localctx IOpt_set_dataContext) { p.EnterRule(localctx, 732, PostgreSQLParserRULE_opt_set_data) p.EnterOuterAlt(localctx, 1) { - p.SetState(6785) + p.SetState(6783) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -95658,7 +95459,7 @@ func (p *PostgreSQLParser) Opt_set_data() (localctx IOpt_set_dataContext) { } } { - p.SetState(6786) + p.SetState(6784) p.Match(PostgreSQLParserDATA_P) if p.HasError() { // Recognition error - abort rule @@ -95913,7 +95714,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend p.EnterRule(localctx, 734, PostgreSQLParserRULE_alterobjectdependsstmt) var _la int - p.SetState(6857) + p.SetState(6855) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -95923,7 +95724,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6788) + p.SetState(6786) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95931,7 +95732,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6789) + p.SetState(6787) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -95939,10 +95740,10 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6790) + p.SetState(6788) p.Function_with_argtypes() } - p.SetState(6792) + p.SetState(6790) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -95951,13 +95752,13 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend if _la == PostgreSQLParserNO { { - p.SetState(6791) + p.SetState(6789) p.Opt_no() } } { - p.SetState(6794) + p.SetState(6792) p.Match(PostgreSQLParserDEPENDS) if p.HasError() { // Recognition error - abort rule @@ -95965,7 +95766,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6795) + p.SetState(6793) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -95973,7 +95774,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6796) + p.SetState(6794) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -95981,14 +95782,14 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6797) + p.SetState(6795) p.Name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6799) + p.SetState(6797) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -95996,7 +95797,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6800) + p.SetState(6798) p.Match(PostgreSQLParserPROCEDURE) if p.HasError() { // Recognition error - abort rule @@ -96004,10 +95805,10 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6801) + p.SetState(6799) p.Function_with_argtypes() } - p.SetState(6803) + p.SetState(6801) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -96016,13 +95817,13 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend if _la == PostgreSQLParserNO { { - p.SetState(6802) + p.SetState(6800) p.Opt_no() } } { - p.SetState(6805) + p.SetState(6803) p.Match(PostgreSQLParserDEPENDS) if p.HasError() { // Recognition error - abort rule @@ -96030,7 +95831,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6806) + p.SetState(6804) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -96038,7 +95839,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6807) + p.SetState(6805) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -96046,14 +95847,14 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6808) + p.SetState(6806) p.Name() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6810) + p.SetState(6808) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96061,7 +95862,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6811) + p.SetState(6809) p.Match(PostgreSQLParserROUTINE) if p.HasError() { // Recognition error - abort rule @@ -96069,10 +95870,10 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6812) + p.SetState(6810) p.Function_with_argtypes() } - p.SetState(6814) + p.SetState(6812) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -96081,13 +95882,13 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend if _la == PostgreSQLParserNO { { - p.SetState(6813) + p.SetState(6811) p.Opt_no() } } { - p.SetState(6816) + p.SetState(6814) p.Match(PostgreSQLParserDEPENDS) if p.HasError() { // Recognition error - abort rule @@ -96095,7 +95896,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6817) + p.SetState(6815) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -96103,7 +95904,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6818) + p.SetState(6816) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -96111,14 +95912,14 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6819) + p.SetState(6817) p.Name() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(6821) + p.SetState(6819) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96126,7 +95927,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6822) + p.SetState(6820) p.Match(PostgreSQLParserTRIGGER) if p.HasError() { // Recognition error - abort rule @@ -96134,11 +95935,11 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6823) + p.SetState(6821) p.Name() } { - p.SetState(6824) + p.SetState(6822) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -96146,10 +95947,10 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6825) + p.SetState(6823) p.Qualified_name() } - p.SetState(6827) + p.SetState(6825) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -96158,13 +95959,13 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend if _la == PostgreSQLParserNO { { - p.SetState(6826) + p.SetState(6824) p.Opt_no() } } { - p.SetState(6829) + p.SetState(6827) p.Match(PostgreSQLParserDEPENDS) if p.HasError() { // Recognition error - abort rule @@ -96172,7 +95973,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6830) + p.SetState(6828) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -96180,7 +95981,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6831) + p.SetState(6829) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -96188,14 +95989,14 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6832) + p.SetState(6830) p.Name() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(6834) + p.SetState(6832) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96203,7 +96004,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6835) + p.SetState(6833) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -96211,7 +96012,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6836) + p.SetState(6834) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -96219,10 +96020,10 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6837) + p.SetState(6835) p.Qualified_name() } - p.SetState(6839) + p.SetState(6837) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -96231,13 +96032,13 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend if _la == PostgreSQLParserNO { { - p.SetState(6838) + p.SetState(6836) p.Opt_no() } } { - p.SetState(6841) + p.SetState(6839) p.Match(PostgreSQLParserDEPENDS) if p.HasError() { // Recognition error - abort rule @@ -96245,7 +96046,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6842) + p.SetState(6840) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -96253,7 +96054,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6843) + p.SetState(6841) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -96261,14 +96062,14 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6844) + p.SetState(6842) p.Name() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(6846) + p.SetState(6844) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96276,7 +96077,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6847) + p.SetState(6845) p.Match(PostgreSQLParserINDEX) if p.HasError() { // Recognition error - abort rule @@ -96284,10 +96085,10 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6848) + p.SetState(6846) p.Qualified_name() } - p.SetState(6850) + p.SetState(6848) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -96296,13 +96097,13 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend if _la == PostgreSQLParserNO { { - p.SetState(6849) + p.SetState(6847) p.Opt_no() } } { - p.SetState(6852) + p.SetState(6850) p.Match(PostgreSQLParserDEPENDS) if p.HasError() { // Recognition error - abort rule @@ -96310,7 +96111,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6853) + p.SetState(6851) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -96318,7 +96119,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6854) + p.SetState(6852) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -96326,7 +96127,7 @@ func (p *PostgreSQLParser) Alterobjectdependsstmt() (localctx IAlterobjectdepend } } { - p.SetState(6855) + p.SetState(6853) p.Name() } @@ -96432,7 +96233,7 @@ func (p *PostgreSQLParser) Opt_no() (localctx IOpt_noContext) { p.EnterRule(localctx, 736, PostgreSQLParserRULE_opt_no) p.EnterOuterAlt(localctx, 1) { - p.SetState(6859) + p.SetState(6857) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -96826,7 +96627,7 @@ func (s *AlterobjectschemastmtContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemastmtContext) { localctx = NewAlterobjectschemastmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 738, PostgreSQLParserRULE_alterobjectschemastmt) - p.SetState(7078) + p.SetState(7076) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -96836,7 +96637,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(6861) + p.SetState(6859) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96844,7 +96645,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6862) + p.SetState(6860) p.Match(PostgreSQLParserAGGREGATE) if p.HasError() { // Recognition error - abort rule @@ -96852,11 +96653,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6863) + p.SetState(6861) p.Aggregate_with_argtypes() } { - p.SetState(6864) + p.SetState(6862) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -96864,7 +96665,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6865) + p.SetState(6863) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -96872,14 +96673,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6866) + p.SetState(6864) p.Name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(6868) + p.SetState(6866) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96887,7 +96688,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6869) + p.SetState(6867) p.Match(PostgreSQLParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -96895,11 +96696,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6870) + p.SetState(6868) p.Any_name() } { - p.SetState(6871) + p.SetState(6869) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -96907,7 +96708,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6872) + p.SetState(6870) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -96915,14 +96716,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6873) + p.SetState(6871) p.Name() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(6875) + p.SetState(6873) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96930,7 +96731,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6876) + p.SetState(6874) p.Match(PostgreSQLParserCONVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -96938,11 +96739,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6877) + p.SetState(6875) p.Any_name() } { - p.SetState(6878) + p.SetState(6876) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -96950,7 +96751,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6879) + p.SetState(6877) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -96958,14 +96759,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6880) + p.SetState(6878) p.Name() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(6882) + p.SetState(6880) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -96973,7 +96774,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6883) + p.SetState(6881) p.Match(PostgreSQLParserDOMAIN_P) if p.HasError() { // Recognition error - abort rule @@ -96981,11 +96782,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6884) + p.SetState(6882) p.Any_name() } { - p.SetState(6885) + p.SetState(6883) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -96993,7 +96794,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6886) + p.SetState(6884) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97001,14 +96802,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6887) + p.SetState(6885) p.Name() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(6889) + p.SetState(6887) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97016,7 +96817,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6890) + p.SetState(6888) p.Match(PostgreSQLParserEXTENSION) if p.HasError() { // Recognition error - abort rule @@ -97024,11 +96825,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6891) + p.SetState(6889) p.Name() } { - p.SetState(6892) + p.SetState(6890) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97036,7 +96837,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6893) + p.SetState(6891) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97044,14 +96845,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6894) + p.SetState(6892) p.Name() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(6896) + p.SetState(6894) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97059,7 +96860,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6897) + p.SetState(6895) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -97067,11 +96868,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6898) + p.SetState(6896) p.Function_with_argtypes() } { - p.SetState(6899) + p.SetState(6897) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97079,7 +96880,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6900) + p.SetState(6898) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97087,14 +96888,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6901) + p.SetState(6899) p.Name() } case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(6903) + p.SetState(6901) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97102,7 +96903,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6904) + p.SetState(6902) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -97110,11 +96911,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6905) + p.SetState(6903) p.Operator_with_argtypes() } { - p.SetState(6906) + p.SetState(6904) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97122,7 +96923,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6907) + p.SetState(6905) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97130,14 +96931,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6908) + p.SetState(6906) p.Name() } case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(6910) + p.SetState(6908) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97145,7 +96946,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6911) + p.SetState(6909) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -97153,7 +96954,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6912) + p.SetState(6910) p.Match(PostgreSQLParserCLASS) if p.HasError() { // Recognition error - abort rule @@ -97161,11 +96962,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6913) + p.SetState(6911) p.Any_name() } { - p.SetState(6914) + p.SetState(6912) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -97173,11 +96974,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6915) + p.SetState(6913) p.Name() } { - p.SetState(6916) + p.SetState(6914) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97185,7 +96986,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6917) + p.SetState(6915) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97193,14 +96994,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6918) + p.SetState(6916) p.Name() } case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(6920) + p.SetState(6918) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97208,7 +97009,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6921) + p.SetState(6919) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -97216,7 +97017,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6922) + p.SetState(6920) p.Match(PostgreSQLParserFAMILY) if p.HasError() { // Recognition error - abort rule @@ -97224,11 +97025,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6923) + p.SetState(6921) p.Any_name() } { - p.SetState(6924) + p.SetState(6922) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -97236,11 +97037,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6925) + p.SetState(6923) p.Name() } { - p.SetState(6926) + p.SetState(6924) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97248,7 +97049,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6927) + p.SetState(6925) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97256,14 +97057,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6928) + p.SetState(6926) p.Name() } case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(6930) + p.SetState(6928) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97271,7 +97072,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6931) + p.SetState(6929) p.Match(PostgreSQLParserPROCEDURE) if p.HasError() { // Recognition error - abort rule @@ -97279,11 +97080,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6932) + p.SetState(6930) p.Function_with_argtypes() } { - p.SetState(6933) + p.SetState(6931) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97291,7 +97092,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6934) + p.SetState(6932) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97299,14 +97100,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6935) + p.SetState(6933) p.Name() } case 11: p.EnterOuterAlt(localctx, 11) { - p.SetState(6937) + p.SetState(6935) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97314,7 +97115,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6938) + p.SetState(6936) p.Match(PostgreSQLParserROUTINE) if p.HasError() { // Recognition error - abort rule @@ -97322,11 +97123,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6939) + p.SetState(6937) p.Function_with_argtypes() } { - p.SetState(6940) + p.SetState(6938) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97334,7 +97135,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6941) + p.SetState(6939) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97342,14 +97143,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6942) + p.SetState(6940) p.Name() } case 12: p.EnterOuterAlt(localctx, 12) { - p.SetState(6944) + p.SetState(6942) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97357,7 +97158,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6945) + p.SetState(6943) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -97365,11 +97166,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6946) + p.SetState(6944) p.Relation_expr() } { - p.SetState(6947) + p.SetState(6945) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97377,7 +97178,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6948) + p.SetState(6946) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97385,14 +97186,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6949) + p.SetState(6947) p.Name() } case 13: p.EnterOuterAlt(localctx, 13) { - p.SetState(6951) + p.SetState(6949) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97400,7 +97201,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6952) + p.SetState(6950) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -97408,7 +97209,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6953) + p.SetState(6951) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -97416,7 +97217,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6954) + p.SetState(6952) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -97424,11 +97225,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6955) + p.SetState(6953) p.Relation_expr() } { - p.SetState(6956) + p.SetState(6954) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97436,7 +97237,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6957) + p.SetState(6955) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97444,14 +97245,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6958) + p.SetState(6956) p.Name() } case 14: p.EnterOuterAlt(localctx, 14) { - p.SetState(6960) + p.SetState(6958) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97459,7 +97260,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6961) + p.SetState(6959) p.Match(PostgreSQLParserSTATISTICS) if p.HasError() { // Recognition error - abort rule @@ -97467,11 +97268,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6962) + p.SetState(6960) p.Any_name() } { - p.SetState(6963) + p.SetState(6961) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97479,7 +97280,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6964) + p.SetState(6962) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97487,14 +97288,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6965) + p.SetState(6963) p.Name() } case 15: p.EnterOuterAlt(localctx, 15) { - p.SetState(6967) + p.SetState(6965) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97502,7 +97303,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6968) + p.SetState(6966) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -97510,7 +97311,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6969) + p.SetState(6967) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -97518,7 +97319,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6970) + p.SetState(6968) p.Match(PostgreSQLParserPARSER) if p.HasError() { // Recognition error - abort rule @@ -97526,11 +97327,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6971) + p.SetState(6969) p.Any_name() } { - p.SetState(6972) + p.SetState(6970) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97538,7 +97339,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6973) + p.SetState(6971) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97546,14 +97347,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6974) + p.SetState(6972) p.Name() } case 16: p.EnterOuterAlt(localctx, 16) { - p.SetState(6976) + p.SetState(6974) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97561,7 +97362,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6977) + p.SetState(6975) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -97569,7 +97370,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6978) + p.SetState(6976) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -97577,7 +97378,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6979) + p.SetState(6977) p.Match(PostgreSQLParserDICTIONARY) if p.HasError() { // Recognition error - abort rule @@ -97585,11 +97386,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6980) + p.SetState(6978) p.Any_name() } { - p.SetState(6981) + p.SetState(6979) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97597,7 +97398,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6982) + p.SetState(6980) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97605,14 +97406,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6983) + p.SetState(6981) p.Name() } case 17: p.EnterOuterAlt(localctx, 17) { - p.SetState(6985) + p.SetState(6983) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97620,7 +97421,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6986) + p.SetState(6984) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -97628,7 +97429,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6987) + p.SetState(6985) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -97636,7 +97437,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6988) + p.SetState(6986) p.Match(PostgreSQLParserTEMPLATE) if p.HasError() { // Recognition error - abort rule @@ -97644,11 +97445,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6989) + p.SetState(6987) p.Any_name() } { - p.SetState(6990) + p.SetState(6988) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97656,7 +97457,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6991) + p.SetState(6989) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97664,14 +97465,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6992) + p.SetState(6990) p.Name() } case 18: p.EnterOuterAlt(localctx, 18) { - p.SetState(6994) + p.SetState(6992) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97679,7 +97480,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6995) + p.SetState(6993) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -97687,7 +97488,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6996) + p.SetState(6994) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -97695,7 +97496,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6997) + p.SetState(6995) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -97703,11 +97504,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(6998) + p.SetState(6996) p.Any_name() } { - p.SetState(6999) + p.SetState(6997) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97715,7 +97516,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7000) + p.SetState(6998) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97723,14 +97524,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7001) + p.SetState(6999) p.Name() } case 19: p.EnterOuterAlt(localctx, 19) { - p.SetState(7003) + p.SetState(7001) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97738,7 +97539,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7004) + p.SetState(7002) p.Match(PostgreSQLParserSEQUENCE) if p.HasError() { // Recognition error - abort rule @@ -97746,11 +97547,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7005) + p.SetState(7003) p.Qualified_name() } { - p.SetState(7006) + p.SetState(7004) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97758,7 +97559,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7007) + p.SetState(7005) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97766,14 +97567,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7008) + p.SetState(7006) p.Name() } case 20: p.EnterOuterAlt(localctx, 20) { - p.SetState(7010) + p.SetState(7008) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97781,7 +97582,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7011) + p.SetState(7009) p.Match(PostgreSQLParserSEQUENCE) if p.HasError() { // Recognition error - abort rule @@ -97789,7 +97590,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7012) + p.SetState(7010) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -97797,7 +97598,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7013) + p.SetState(7011) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -97805,11 +97606,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7014) + p.SetState(7012) p.Qualified_name() } { - p.SetState(7015) + p.SetState(7013) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97817,7 +97618,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7016) + p.SetState(7014) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97825,14 +97626,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7017) + p.SetState(7015) p.Name() } case 21: p.EnterOuterAlt(localctx, 21) { - p.SetState(7019) + p.SetState(7017) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97840,7 +97641,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7020) + p.SetState(7018) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -97848,11 +97649,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7021) + p.SetState(7019) p.Qualified_name() } { - p.SetState(7022) + p.SetState(7020) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97860,7 +97661,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7023) + p.SetState(7021) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97868,14 +97669,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7024) + p.SetState(7022) p.Name() } case 22: p.EnterOuterAlt(localctx, 22) { - p.SetState(7026) + p.SetState(7024) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97883,7 +97684,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7027) + p.SetState(7025) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -97891,7 +97692,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7028) + p.SetState(7026) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -97899,7 +97700,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7029) + p.SetState(7027) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -97907,11 +97708,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7030) + p.SetState(7028) p.Qualified_name() } { - p.SetState(7031) + p.SetState(7029) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97919,7 +97720,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7032) + p.SetState(7030) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97927,14 +97728,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7033) + p.SetState(7031) p.Name() } case 23: p.EnterOuterAlt(localctx, 23) { - p.SetState(7035) + p.SetState(7033) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97942,7 +97743,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7036) + p.SetState(7034) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -97950,7 +97751,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7037) + p.SetState(7035) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -97958,11 +97759,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7038) + p.SetState(7036) p.Qualified_name() } { - p.SetState(7039) + p.SetState(7037) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -97970,7 +97771,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7040) + p.SetState(7038) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -97978,14 +97779,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7041) + p.SetState(7039) p.Name() } case 24: p.EnterOuterAlt(localctx, 24) { - p.SetState(7043) + p.SetState(7041) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -97993,7 +97794,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7044) + p.SetState(7042) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -98001,7 +97802,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7045) + p.SetState(7043) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -98009,7 +97810,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7046) + p.SetState(7044) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -98017,7 +97818,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7047) + p.SetState(7045) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -98025,11 +97826,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7048) + p.SetState(7046) p.Qualified_name() } { - p.SetState(7049) + p.SetState(7047) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -98037,7 +97838,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7050) + p.SetState(7048) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -98045,14 +97846,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7051) + p.SetState(7049) p.Name() } case 25: p.EnterOuterAlt(localctx, 25) { - p.SetState(7053) + p.SetState(7051) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -98060,7 +97861,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7054) + p.SetState(7052) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -98068,7 +97869,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7055) + p.SetState(7053) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -98076,11 +97877,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7056) + p.SetState(7054) p.Relation_expr() } { - p.SetState(7057) + p.SetState(7055) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -98088,7 +97889,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7058) + p.SetState(7056) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -98096,14 +97897,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7059) + p.SetState(7057) p.Name() } case 26: p.EnterOuterAlt(localctx, 26) { - p.SetState(7061) + p.SetState(7059) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -98111,7 +97912,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7062) + p.SetState(7060) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -98119,7 +97920,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7063) + p.SetState(7061) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -98127,7 +97928,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7064) + p.SetState(7062) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -98135,7 +97936,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7065) + p.SetState(7063) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -98143,11 +97944,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7066) + p.SetState(7064) p.Relation_expr() } { - p.SetState(7067) + p.SetState(7065) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -98155,7 +97956,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7068) + p.SetState(7066) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -98163,14 +97964,14 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7069) + p.SetState(7067) p.Name() } case 27: p.EnterOuterAlt(localctx, 27) { - p.SetState(7071) + p.SetState(7069) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -98178,7 +97979,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7072) + p.SetState(7070) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -98186,11 +97987,11 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7073) + p.SetState(7071) p.Any_name() } { - p.SetState(7074) + p.SetState(7072) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -98198,7 +97999,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7075) + p.SetState(7073) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -98206,7 +98007,7 @@ func (p *PostgreSQLParser) Alterobjectschemastmt() (localctx IAlterobjectschemas } } { - p.SetState(7076) + p.SetState(7074) p.Name() } @@ -98366,7 +98167,7 @@ func (p *PostgreSQLParser) Alteroperatorstmt() (localctx IAlteroperatorstmtConte p.EnterRule(localctx, 740, PostgreSQLParserRULE_alteroperatorstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7080) + p.SetState(7078) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -98374,7 +98175,7 @@ func (p *PostgreSQLParser) Alteroperatorstmt() (localctx IAlteroperatorstmtConte } } { - p.SetState(7081) + p.SetState(7079) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -98382,11 +98183,11 @@ func (p *PostgreSQLParser) Alteroperatorstmt() (localctx IAlteroperatorstmtConte } } { - p.SetState(7082) + p.SetState(7080) p.Operator_with_argtypes() } { - p.SetState(7083) + p.SetState(7081) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -98394,7 +98195,7 @@ func (p *PostgreSQLParser) Alteroperatorstmt() (localctx IAlteroperatorstmtConte } } { - p.SetState(7084) + p.SetState(7082) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -98402,11 +98203,11 @@ func (p *PostgreSQLParser) Alteroperatorstmt() (localctx IAlteroperatorstmtConte } } { - p.SetState(7085) + p.SetState(7083) p.Operator_def_list() } { - p.SetState(7086) + p.SetState(7084) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -98562,10 +98363,10 @@ func (p *PostgreSQLParser) Operator_def_list() (localctx IOperator_def_listConte p.EnterOuterAlt(localctx, 1) { - p.SetState(7088) + p.SetState(7086) p.Operator_def_elem() } - p.SetState(7093) + p.SetState(7091) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -98574,7 +98375,7 @@ func (p *PostgreSQLParser) Operator_def_list() (localctx IOperator_def_listConte for _la == PostgreSQLParserCOMMA { { - p.SetState(7089) + p.SetState(7087) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -98582,11 +98383,11 @@ func (p *PostgreSQLParser) Operator_def_list() (localctx IOperator_def_listConte } } { - p.SetState(7090) + p.SetState(7088) p.Operator_def_elem() } - p.SetState(7095) + p.SetState(7093) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -98729,7 +98530,7 @@ func (s *Operator_def_elemContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *PostgreSQLParser) Operator_def_elem() (localctx IOperator_def_elemContext) { localctx = NewOperator_def_elemContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 744, PostgreSQLParserRULE_operator_def_elem) - p.SetState(7104) + p.SetState(7102) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -98739,11 +98540,11 @@ func (p *PostgreSQLParser) Operator_def_elem() (localctx IOperator_def_elemConte case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7096) + p.SetState(7094) p.Collabel() } { - p.SetState(7097) + p.SetState(7095) p.Match(PostgreSQLParserEQUAL) if p.HasError() { // Recognition error - abort rule @@ -98751,7 +98552,7 @@ func (p *PostgreSQLParser) Operator_def_elem() (localctx IOperator_def_elemConte } } { - p.SetState(7098) + p.SetState(7096) p.Match(PostgreSQLParserNONE) if p.HasError() { // Recognition error - abort rule @@ -98762,11 +98563,11 @@ func (p *PostgreSQLParser) Operator_def_elem() (localctx IOperator_def_elemConte case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7100) + p.SetState(7098) p.Collabel() } { - p.SetState(7101) + p.SetState(7099) p.Match(PostgreSQLParserEQUAL) if p.HasError() { // Recognition error - abort rule @@ -98774,7 +98575,7 @@ func (p *PostgreSQLParser) Operator_def_elem() (localctx IOperator_def_elemConte } } { - p.SetState(7102) + p.SetState(7100) p.Operator_def_arg() } @@ -98958,7 +98759,7 @@ func (s *Operator_def_argContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Operator_def_arg() (localctx IOperator_def_argContext) { localctx = NewOperator_def_argContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 746, PostgreSQLParserRULE_operator_def_arg) - p.SetState(7111) + p.SetState(7109) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -98968,35 +98769,35 @@ func (p *PostgreSQLParser) Operator_def_arg() (localctx IOperator_def_argContext case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7106) + p.SetState(7104) p.Func_type() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7107) + p.SetState(7105) p.Reserved_keyword() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7108) + p.SetState(7106) p.Qual_all_op() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7109) + p.SetState(7107) p.Numericonly() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7110) + p.SetState(7108) p.Sconst() } @@ -99156,7 +98957,7 @@ func (p *PostgreSQLParser) Altertypestmt() (localctx IAltertypestmtContext) { p.EnterRule(localctx, 748, PostgreSQLParserRULE_altertypestmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7113) + p.SetState(7111) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99164,7 +98965,7 @@ func (p *PostgreSQLParser) Altertypestmt() (localctx IAltertypestmtContext) { } } { - p.SetState(7114) + p.SetState(7112) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -99172,11 +98973,11 @@ func (p *PostgreSQLParser) Altertypestmt() (localctx IAltertypestmtContext) { } } { - p.SetState(7115) + p.SetState(7113) p.Any_name() } { - p.SetState(7116) + p.SetState(7114) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -99184,7 +98985,7 @@ func (p *PostgreSQLParser) Altertypestmt() (localctx IAltertypestmtContext) { } } { - p.SetState(7117) + p.SetState(7115) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -99192,11 +98993,11 @@ func (p *PostgreSQLParser) Altertypestmt() (localctx IAltertypestmtContext) { } } { - p.SetState(7118) + p.SetState(7116) p.Operator_def_list() } { - p.SetState(7119) + p.SetState(7117) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -99603,7 +99404,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { p.EnterRule(localctx, 750, PostgreSQLParserRULE_alterownerstmt) var _la int - p.SetState(7306) + p.SetState(7304) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -99613,7 +99414,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7121) + p.SetState(7119) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99621,7 +99422,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7122) + p.SetState(7120) p.Match(PostgreSQLParserAGGREGATE) if p.HasError() { // Recognition error - abort rule @@ -99629,11 +99430,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7123) + p.SetState(7121) p.Aggregate_with_argtypes() } { - p.SetState(7124) + p.SetState(7122) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99641,7 +99442,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7125) + p.SetState(7123) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99649,14 +99450,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7126) + p.SetState(7124) p.Rolespec() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7128) + p.SetState(7126) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99664,7 +99465,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7129) + p.SetState(7127) p.Match(PostgreSQLParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -99672,11 +99473,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7130) + p.SetState(7128) p.Any_name() } { - p.SetState(7131) + p.SetState(7129) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99684,7 +99485,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7132) + p.SetState(7130) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99692,14 +99493,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7133) + p.SetState(7131) p.Rolespec() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7135) + p.SetState(7133) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99707,7 +99508,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7136) + p.SetState(7134) p.Match(PostgreSQLParserCONVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -99715,11 +99516,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7137) + p.SetState(7135) p.Any_name() } { - p.SetState(7138) + p.SetState(7136) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99727,7 +99528,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7139) + p.SetState(7137) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99735,14 +99536,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7140) + p.SetState(7138) p.Rolespec() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7142) + p.SetState(7140) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99750,7 +99551,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7143) + p.SetState(7141) p.Match(PostgreSQLParserDATABASE) if p.HasError() { // Recognition error - abort rule @@ -99758,11 +99559,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7144) + p.SetState(7142) p.Name() } { - p.SetState(7145) + p.SetState(7143) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99770,7 +99571,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7146) + p.SetState(7144) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99778,14 +99579,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7147) + p.SetState(7145) p.Rolespec() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7149) + p.SetState(7147) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99793,7 +99594,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7150) + p.SetState(7148) p.Match(PostgreSQLParserDOMAIN_P) if p.HasError() { // Recognition error - abort rule @@ -99801,11 +99602,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7151) + p.SetState(7149) p.Any_name() } { - p.SetState(7152) + p.SetState(7150) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99813,7 +99614,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7153) + p.SetState(7151) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99821,14 +99622,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7154) + p.SetState(7152) p.Rolespec() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(7156) + p.SetState(7154) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99836,7 +99637,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7157) + p.SetState(7155) p.Match(PostgreSQLParserFUNCTION) if p.HasError() { // Recognition error - abort rule @@ -99844,11 +99645,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7158) + p.SetState(7156) p.Function_with_argtypes() } { - p.SetState(7159) + p.SetState(7157) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99856,7 +99657,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7160) + p.SetState(7158) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99864,21 +99665,21 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7161) + p.SetState(7159) p.Rolespec() } case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(7163) + p.SetState(7161) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7165) + p.SetState(7163) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -99887,13 +99688,13 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { if _la == PostgreSQLParserPROCEDURAL { { - p.SetState(7164) + p.SetState(7162) p.Opt_procedural() } } { - p.SetState(7167) + p.SetState(7165) p.Match(PostgreSQLParserLANGUAGE) if p.HasError() { // Recognition error - abort rule @@ -99901,11 +99702,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7168) + p.SetState(7166) p.Name() } { - p.SetState(7169) + p.SetState(7167) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99913,7 +99714,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7170) + p.SetState(7168) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99921,14 +99722,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7171) + p.SetState(7169) p.Rolespec() } case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(7173) + p.SetState(7171) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99936,7 +99737,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7174) + p.SetState(7172) p.Match(PostgreSQLParserLARGE_P) if p.HasError() { // Recognition error - abort rule @@ -99944,7 +99745,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7175) + p.SetState(7173) p.Match(PostgreSQLParserOBJECT_P) if p.HasError() { // Recognition error - abort rule @@ -99952,11 +99753,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7176) + p.SetState(7174) p.Numericonly() } { - p.SetState(7177) + p.SetState(7175) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -99964,7 +99765,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7178) + p.SetState(7176) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -99972,14 +99773,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7179) + p.SetState(7177) p.Rolespec() } case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(7181) + p.SetState(7179) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -99987,7 +99788,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7182) + p.SetState(7180) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -99995,11 +99796,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7183) + p.SetState(7181) p.Operator_with_argtypes() } { - p.SetState(7184) + p.SetState(7182) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100007,7 +99808,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7185) + p.SetState(7183) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100015,14 +99816,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7186) + p.SetState(7184) p.Rolespec() } case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(7188) + p.SetState(7186) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100030,7 +99831,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7189) + p.SetState(7187) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -100038,7 +99839,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7190) + p.SetState(7188) p.Match(PostgreSQLParserCLASS) if p.HasError() { // Recognition error - abort rule @@ -100046,11 +99847,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7191) + p.SetState(7189) p.Any_name() } { - p.SetState(7192) + p.SetState(7190) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -100058,11 +99859,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7193) + p.SetState(7191) p.Name() } { - p.SetState(7194) + p.SetState(7192) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100070,7 +99871,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7195) + p.SetState(7193) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100078,14 +99879,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7196) + p.SetState(7194) p.Rolespec() } case 11: p.EnterOuterAlt(localctx, 11) { - p.SetState(7198) + p.SetState(7196) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100093,7 +99894,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7199) + p.SetState(7197) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -100101,7 +99902,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7200) + p.SetState(7198) p.Match(PostgreSQLParserFAMILY) if p.HasError() { // Recognition error - abort rule @@ -100109,11 +99910,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7201) + p.SetState(7199) p.Any_name() } { - p.SetState(7202) + p.SetState(7200) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -100121,11 +99922,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7203) + p.SetState(7201) p.Name() } { - p.SetState(7204) + p.SetState(7202) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100133,7 +99934,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7205) + p.SetState(7203) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100141,14 +99942,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7206) + p.SetState(7204) p.Rolespec() } case 12: p.EnterOuterAlt(localctx, 12) { - p.SetState(7208) + p.SetState(7206) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100156,7 +99957,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7209) + p.SetState(7207) p.Match(PostgreSQLParserPROCEDURE) if p.HasError() { // Recognition error - abort rule @@ -100164,11 +99965,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7210) + p.SetState(7208) p.Function_with_argtypes() } { - p.SetState(7211) + p.SetState(7209) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100176,7 +99977,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7212) + p.SetState(7210) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100184,14 +99985,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7213) + p.SetState(7211) p.Rolespec() } case 13: p.EnterOuterAlt(localctx, 13) { - p.SetState(7215) + p.SetState(7213) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100199,7 +100000,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7216) + p.SetState(7214) p.Match(PostgreSQLParserROUTINE) if p.HasError() { // Recognition error - abort rule @@ -100207,11 +100008,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7217) + p.SetState(7215) p.Function_with_argtypes() } { - p.SetState(7218) + p.SetState(7216) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100219,7 +100020,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7219) + p.SetState(7217) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100227,14 +100028,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7220) + p.SetState(7218) p.Rolespec() } case 14: p.EnterOuterAlt(localctx, 14) { - p.SetState(7222) + p.SetState(7220) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100242,7 +100043,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7223) + p.SetState(7221) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule @@ -100250,11 +100051,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7224) + p.SetState(7222) p.Name() } { - p.SetState(7225) + p.SetState(7223) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100262,7 +100063,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7226) + p.SetState(7224) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100270,14 +100071,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7227) + p.SetState(7225) p.Rolespec() } case 15: p.EnterOuterAlt(localctx, 15) { - p.SetState(7229) + p.SetState(7227) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100285,7 +100086,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7230) + p.SetState(7228) p.Match(PostgreSQLParserTYPE_P) if p.HasError() { // Recognition error - abort rule @@ -100293,11 +100094,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7231) + p.SetState(7229) p.Any_name() } { - p.SetState(7232) + p.SetState(7230) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100305,7 +100106,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7233) + p.SetState(7231) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100313,14 +100114,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7234) + p.SetState(7232) p.Rolespec() } case 16: p.EnterOuterAlt(localctx, 16) { - p.SetState(7236) + p.SetState(7234) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100328,7 +100129,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7237) + p.SetState(7235) p.Match(PostgreSQLParserTABLESPACE) if p.HasError() { // Recognition error - abort rule @@ -100336,11 +100137,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7238) + p.SetState(7236) p.Name() } { - p.SetState(7239) + p.SetState(7237) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100348,7 +100149,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7240) + p.SetState(7238) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100356,14 +100157,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7241) + p.SetState(7239) p.Rolespec() } case 17: p.EnterOuterAlt(localctx, 17) { - p.SetState(7243) + p.SetState(7241) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100371,7 +100172,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7244) + p.SetState(7242) p.Match(PostgreSQLParserSTATISTICS) if p.HasError() { // Recognition error - abort rule @@ -100379,11 +100180,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7245) + p.SetState(7243) p.Any_name() } { - p.SetState(7246) + p.SetState(7244) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100391,7 +100192,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7247) + p.SetState(7245) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100399,14 +100200,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7248) + p.SetState(7246) p.Rolespec() } case 18: p.EnterOuterAlt(localctx, 18) { - p.SetState(7250) + p.SetState(7248) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100414,7 +100215,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7251) + p.SetState(7249) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -100422,7 +100223,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7252) + p.SetState(7250) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -100430,7 +100231,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7253) + p.SetState(7251) p.Match(PostgreSQLParserDICTIONARY) if p.HasError() { // Recognition error - abort rule @@ -100438,11 +100239,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7254) + p.SetState(7252) p.Any_name() } { - p.SetState(7255) + p.SetState(7253) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100450,7 +100251,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7256) + p.SetState(7254) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100458,14 +100259,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7257) + p.SetState(7255) p.Rolespec() } case 19: p.EnterOuterAlt(localctx, 19) { - p.SetState(7259) + p.SetState(7257) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100473,7 +100274,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7260) + p.SetState(7258) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -100481,7 +100282,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7261) + p.SetState(7259) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -100489,7 +100290,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7262) + p.SetState(7260) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -100497,11 +100298,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7263) + p.SetState(7261) p.Any_name() } { - p.SetState(7264) + p.SetState(7262) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100509,7 +100310,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7265) + p.SetState(7263) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100517,14 +100318,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7266) + p.SetState(7264) p.Rolespec() } case 20: p.EnterOuterAlt(localctx, 20) { - p.SetState(7268) + p.SetState(7266) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100532,7 +100333,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7269) + p.SetState(7267) p.Match(PostgreSQLParserFOREIGN) if p.HasError() { // Recognition error - abort rule @@ -100540,7 +100341,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7270) + p.SetState(7268) p.Match(PostgreSQLParserDATA_P) if p.HasError() { // Recognition error - abort rule @@ -100548,7 +100349,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7271) + p.SetState(7269) p.Match(PostgreSQLParserWRAPPER) if p.HasError() { // Recognition error - abort rule @@ -100556,11 +100357,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7272) + p.SetState(7270) p.Name() } { - p.SetState(7273) + p.SetState(7271) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100568,7 +100369,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7274) + p.SetState(7272) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100576,14 +100377,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7275) + p.SetState(7273) p.Rolespec() } case 21: p.EnterOuterAlt(localctx, 21) { - p.SetState(7277) + p.SetState(7275) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100591,7 +100392,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7278) + p.SetState(7276) p.Match(PostgreSQLParserSERVER) if p.HasError() { // Recognition error - abort rule @@ -100599,11 +100400,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7279) + p.SetState(7277) p.Name() } { - p.SetState(7280) + p.SetState(7278) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100611,7 +100412,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7281) + p.SetState(7279) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100619,14 +100420,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7282) + p.SetState(7280) p.Rolespec() } case 22: p.EnterOuterAlt(localctx, 22) { - p.SetState(7284) + p.SetState(7282) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100634,7 +100435,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7285) + p.SetState(7283) p.Match(PostgreSQLParserEVENT) if p.HasError() { // Recognition error - abort rule @@ -100642,7 +100443,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7286) + p.SetState(7284) p.Match(PostgreSQLParserTRIGGER) if p.HasError() { // Recognition error - abort rule @@ -100650,11 +100451,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7287) + p.SetState(7285) p.Name() } { - p.SetState(7288) + p.SetState(7286) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100662,7 +100463,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7289) + p.SetState(7287) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100670,14 +100471,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7290) + p.SetState(7288) p.Rolespec() } case 23: p.EnterOuterAlt(localctx, 23) { - p.SetState(7292) + p.SetState(7290) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100685,7 +100486,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7293) + p.SetState(7291) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -100693,11 +100494,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7294) + p.SetState(7292) p.Name() } { - p.SetState(7295) + p.SetState(7293) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100705,7 +100506,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7296) + p.SetState(7294) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100713,14 +100514,14 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7297) + p.SetState(7295) p.Rolespec() } case 24: p.EnterOuterAlt(localctx, 24) { - p.SetState(7299) + p.SetState(7297) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -100728,7 +100529,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7300) + p.SetState(7298) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -100736,11 +100537,11 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7301) + p.SetState(7299) p.Name() } { - p.SetState(7302) + p.SetState(7300) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -100748,7 +100549,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7303) + p.SetState(7301) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -100756,7 +100557,7 @@ func (p *PostgreSQLParser) Alterownerstmt() (localctx IAlterownerstmtContext) { } } { - p.SetState(7304) + p.SetState(7302) p.Rolespec() } @@ -100931,7 +100732,7 @@ func (s *CreatepublicationstmtContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublicationstmtContext) { localctx = NewCreatepublicationstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 752, PostgreSQLParserRULE_createpublicationstmt) - p.SetState(7331) + p.SetState(7329) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -100941,7 +100742,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7308) + p.SetState(7306) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -100949,7 +100750,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7309) + p.SetState(7307) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -100957,15 +100758,15 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7310) + p.SetState(7308) p.Name() } - p.SetState(7312) + p.SetState(7310) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 556, p.GetParserRuleContext()) == 1 { { - p.SetState(7311) + p.SetState(7309) p.Opt_definition() } @@ -100976,7 +100777,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7314) + p.SetState(7312) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -100984,7 +100785,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7315) + p.SetState(7313) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -100992,11 +100793,11 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7316) + p.SetState(7314) p.Name() } { - p.SetState(7317) + p.SetState(7315) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -101004,7 +100805,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7318) + p.SetState(7316) p.Match(PostgreSQLParserALL) if p.HasError() { // Recognition error - abort rule @@ -101012,19 +100813,19 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7319) + p.SetState(7317) p.Match(PostgreSQLParserTABLES) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7321) + p.SetState(7319) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 557, p.GetParserRuleContext()) == 1 { { - p.SetState(7320) + p.SetState(7318) p.Opt_definition() } @@ -101035,7 +100836,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7323) + p.SetState(7321) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -101043,7 +100844,7 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7324) + p.SetState(7322) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -101051,11 +100852,11 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7325) + p.SetState(7323) p.Name() } { - p.SetState(7326) + p.SetState(7324) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -101063,15 +100864,15 @@ func (p *PostgreSQLParser) Createpublicationstmt() (localctx ICreatepublications } } { - p.SetState(7327) + p.SetState(7325) p.Pub_obj_list() } - p.SetState(7329) + p.SetState(7327) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 558, p.GetParserRuleContext()) == 1 { { - p.SetState(7328) + p.SetState(7326) p.Opt_definition() } @@ -101231,10 +101032,10 @@ func (p *PostgreSQLParser) Pub_obj_list() (localctx IPub_obj_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7333) + p.SetState(7331) p.Publication_obj_spec() } - p.SetState(7338) + p.SetState(7336) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101243,7 +101044,7 @@ func (p *PostgreSQLParser) Pub_obj_list() (localctx IPub_obj_listContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(7334) + p.SetState(7332) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -101251,11 +101052,11 @@ func (p *PostgreSQLParser) Pub_obj_list() (localctx IPub_obj_listContext) { } } { - p.SetState(7335) + p.SetState(7333) p.Publication_obj_spec() } - p.SetState(7340) + p.SetState(7338) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101461,7 +101262,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe p.EnterRule(localctx, 756, PostgreSQLParserRULE_publication_obj_spec) var _la int - p.SetState(7379) + p.SetState(7377) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101471,7 +101272,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7341) + p.SetState(7339) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -101479,22 +101280,22 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe } } { - p.SetState(7342) + p.SetState(7340) p.Relation_expr() } - p.SetState(7344) + p.SetState(7342) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 561, p.GetParserRuleContext()) == 1 { { - p.SetState(7343) + p.SetState(7341) p.Opt_column_list() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(7347) + p.SetState(7345) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101503,7 +101304,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe if _la == PostgreSQLParserWHERE { { - p.SetState(7346) + p.SetState(7344) p.Opt_where_clause() } @@ -101512,7 +101313,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7349) + p.SetState(7347) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -101520,7 +101321,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe } } { - p.SetState(7350) + p.SetState(7348) p.Match(PostgreSQLParserIN_P) if p.HasError() { // Recognition error - abort rule @@ -101528,29 +101329,29 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe } } { - p.SetState(7351) + p.SetState(7349) p.Match(PostgreSQLParserSCHEMA) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7354) + p.SetState(7352) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(7352) + p.SetState(7350) p.Colid() } case PostgreSQLParserCURRENT_SCHEMA: { - p.SetState(7353) + p.SetState(7351) p.Match(PostgreSQLParserCURRENT_SCHEMA) if p.HasError() { // Recognition error - abort rule @@ -101566,22 +101367,22 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7356) + p.SetState(7354) p.Colid() } - p.SetState(7358) + p.SetState(7356) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 564, p.GetParserRuleContext()) == 1 { { - p.SetState(7357) + p.SetState(7355) p.Opt_column_list() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(7361) + p.SetState(7359) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101590,7 +101391,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe if _la == PostgreSQLParserWHERE { { - p.SetState(7360) + p.SetState(7358) p.Opt_where_clause() } @@ -101599,26 +101400,26 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7363) + p.SetState(7361) p.Colid() } { - p.SetState(7364) + p.SetState(7362) p.Indirection() } - p.SetState(7366) + p.SetState(7364) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 566, p.GetParserRuleContext()) == 1 { { - p.SetState(7365) + p.SetState(7363) p.Opt_column_list() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(7369) + p.SetState(7367) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101627,7 +101428,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe if _la == PostgreSQLParserWHERE { { - p.SetState(7368) + p.SetState(7366) p.Opt_where_clause() } @@ -101636,22 +101437,22 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7371) + p.SetState(7369) p.Relation_expr() } - p.SetState(7373) + p.SetState(7371) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 568, p.GetParserRuleContext()) == 1 { { - p.SetState(7372) + p.SetState(7370) p.Opt_column_list() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(7376) + p.SetState(7374) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -101660,7 +101461,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe if _la == PostgreSQLParserWHERE { { - p.SetState(7375) + p.SetState(7373) p.Opt_where_clause() } @@ -101669,7 +101470,7 @@ func (p *PostgreSQLParser) Publication_obj_spec() (localctx IPublication_obj_spe case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(7378) + p.SetState(7376) p.Match(PostgreSQLParserCURRENT_SCHEMA) if p.HasError() { // Recognition error - abort rule @@ -101806,7 +101607,7 @@ func (p *PostgreSQLParser) Opt_where_clause() (localctx IOpt_where_clauseContext p.EnterRule(localctx, 758, PostgreSQLParserRULE_opt_where_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(7381) + p.SetState(7379) p.Match(PostgreSQLParserWHERE) if p.HasError() { // Recognition error - abort rule @@ -101814,7 +101615,7 @@ func (p *PostgreSQLParser) Opt_where_clause() (localctx IOpt_where_clauseContext } } { - p.SetState(7382) + p.SetState(7380) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -101822,11 +101623,11 @@ func (p *PostgreSQLParser) Opt_where_clause() (localctx IOpt_where_clauseContext } } { - p.SetState(7383) + p.SetState(7381) p.A_expr() } { - p.SetState(7384) + p.SetState(7382) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -102001,7 +101802,7 @@ func (s *AlterpublicationstmtContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstmtContext) { localctx = NewAlterpublicationstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 760, PostgreSQLParserRULE_alterpublicationstmt) - p.SetState(7410) + p.SetState(7408) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -102011,7 +101812,7 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7386) + p.SetState(7384) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102019,7 +101820,7 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7387) + p.SetState(7385) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -102027,11 +101828,11 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7388) + p.SetState(7386) p.Name() } { - p.SetState(7389) + p.SetState(7387) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -102039,14 +101840,14 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7390) + p.SetState(7388) p.Definition() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7392) + p.SetState(7390) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102054,7 +101855,7 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7393) + p.SetState(7391) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -102062,11 +101863,11 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7394) + p.SetState(7392) p.Name() } { - p.SetState(7395) + p.SetState(7393) p.Match(PostgreSQLParserADD_P) if p.HasError() { // Recognition error - abort rule @@ -102074,14 +101875,14 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7396) + p.SetState(7394) p.Pub_obj_list() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7398) + p.SetState(7396) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102089,7 +101890,7 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7399) + p.SetState(7397) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -102097,11 +101898,11 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7400) + p.SetState(7398) p.Name() } { - p.SetState(7401) + p.SetState(7399) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -102109,14 +101910,14 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7402) + p.SetState(7400) p.Pub_obj_list() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7404) + p.SetState(7402) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102124,7 +101925,7 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7405) + p.SetState(7403) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -102132,11 +101933,11 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7406) + p.SetState(7404) p.Name() } { - p.SetState(7407) + p.SetState(7405) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -102144,7 +101945,7 @@ func (p *PostgreSQLParser) Alterpublicationstmt() (localctx IAlterpublicationstm } } { - p.SetState(7408) + p.SetState(7406) p.Pub_obj_list() } @@ -102333,7 +102134,7 @@ func (p *PostgreSQLParser) Createsubscriptionstmt() (localctx ICreatesubscriptio p.EnterRule(localctx, 762, PostgreSQLParserRULE_createsubscriptionstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7412) + p.SetState(7410) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -102341,7 +102142,7 @@ func (p *PostgreSQLParser) Createsubscriptionstmt() (localctx ICreatesubscriptio } } { - p.SetState(7413) + p.SetState(7411) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -102349,11 +102150,11 @@ func (p *PostgreSQLParser) Createsubscriptionstmt() (localctx ICreatesubscriptio } } { - p.SetState(7414) + p.SetState(7412) p.Name() } { - p.SetState(7415) + p.SetState(7413) p.Match(PostgreSQLParserCONNECTION) if p.HasError() { // Recognition error - abort rule @@ -102361,11 +102162,11 @@ func (p *PostgreSQLParser) Createsubscriptionstmt() (localctx ICreatesubscriptio } } { - p.SetState(7416) + p.SetState(7414) p.Sconst() } { - p.SetState(7417) + p.SetState(7415) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -102373,15 +102174,15 @@ func (p *PostgreSQLParser) Createsubscriptionstmt() (localctx ICreatesubscriptio } } { - p.SetState(7418) + p.SetState(7416) p.Publication_name_list() } - p.SetState(7420) + p.SetState(7418) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 572, p.GetParserRuleContext()) == 1 { { - p.SetState(7419) + p.SetState(7417) p.Opt_definition() } @@ -102537,10 +102338,10 @@ func (p *PostgreSQLParser) Publication_name_list() (localctx IPublication_name_l p.EnterOuterAlt(localctx, 1) { - p.SetState(7422) + p.SetState(7420) p.Publication_name_item() } - p.SetState(7427) + p.SetState(7425) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -102549,7 +102350,7 @@ func (p *PostgreSQLParser) Publication_name_list() (localctx IPublication_name_l for _la == PostgreSQLParserCOMMA { { - p.SetState(7423) + p.SetState(7421) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -102557,11 +102358,11 @@ func (p *PostgreSQLParser) Publication_name_list() (localctx IPublication_name_l } } { - p.SetState(7424) + p.SetState(7422) p.Publication_name_item() } - p.SetState(7429) + p.SetState(7427) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -102679,7 +102480,7 @@ func (p *PostgreSQLParser) Publication_name_item() (localctx IPublication_name_i p.EnterRule(localctx, 766, PostgreSQLParserRULE_publication_name_item) p.EnterOuterAlt(localctx, 1) { - p.SetState(7430) + p.SetState(7428) p.Collabel() } @@ -102904,7 +102705,7 @@ func (s *AltersubscriptionstmtContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptionstmtContext) { localctx = NewAltersubscriptionstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 768, PostgreSQLParserRULE_altersubscriptionstmt) - p.SetState(7477) + p.SetState(7475) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -102914,7 +102715,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7432) + p.SetState(7430) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102922,7 +102723,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7433) + p.SetState(7431) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -102930,11 +102731,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7434) + p.SetState(7432) p.Name() } { - p.SetState(7435) + p.SetState(7433) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -102942,14 +102743,14 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7436) + p.SetState(7434) p.Definition() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7438) + p.SetState(7436) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102957,7 +102758,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7439) + p.SetState(7437) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -102965,11 +102766,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7440) + p.SetState(7438) p.Name() } { - p.SetState(7441) + p.SetState(7439) p.Match(PostgreSQLParserCONNECTION) if p.HasError() { // Recognition error - abort rule @@ -102977,14 +102778,14 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7442) + p.SetState(7440) p.Sconst() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7444) + p.SetState(7442) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -102992,7 +102793,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7445) + p.SetState(7443) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103000,11 +102801,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7446) + p.SetState(7444) p.Name() } { - p.SetState(7447) + p.SetState(7445) p.Match(PostgreSQLParserREFRESH) if p.HasError() { // Recognition error - abort rule @@ -103012,19 +102813,19 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7448) + p.SetState(7446) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7450) + p.SetState(7448) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 574, p.GetParserRuleContext()) == 1 { { - p.SetState(7449) + p.SetState(7447) p.Opt_definition() } @@ -103035,7 +102836,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7452) + p.SetState(7450) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -103043,7 +102844,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7453) + p.SetState(7451) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103051,11 +102852,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7454) + p.SetState(7452) p.Name() } { - p.SetState(7455) + p.SetState(7453) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -103063,7 +102864,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7456) + p.SetState(7454) p.Match(PostgreSQLParserPUBLICATION) if p.HasError() { // Recognition error - abort rule @@ -103071,15 +102872,15 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7457) + p.SetState(7455) p.Publication_name_list() } - p.SetState(7459) + p.SetState(7457) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 575, p.GetParserRuleContext()) == 1 { { - p.SetState(7458) + p.SetState(7456) p.Opt_definition() } @@ -103090,7 +102891,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7461) + p.SetState(7459) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -103098,7 +102899,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7462) + p.SetState(7460) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103106,11 +102907,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7463) + p.SetState(7461) p.Name() } { - p.SetState(7464) + p.SetState(7462) p.Match(PostgreSQLParserENABLE_P) if p.HasError() { // Recognition error - abort rule @@ -103121,7 +102922,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(7466) + p.SetState(7464) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -103129,7 +102930,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7467) + p.SetState(7465) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103137,11 +102938,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7468) + p.SetState(7466) p.Name() } { - p.SetState(7469) + p.SetState(7467) p.Match(PostgreSQLParserDISABLE_P) if p.HasError() { // Recognition error - abort rule @@ -103152,7 +102953,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(7471) + p.SetState(7469) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -103160,7 +102961,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7472) + p.SetState(7470) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103168,11 +102969,11 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7473) + p.SetState(7471) p.Name() } { - p.SetState(7474) + p.SetState(7472) p.Match(PostgreSQLParserSKIP_P) if p.HasError() { // Recognition error - abort rule @@ -103180,7 +102981,7 @@ func (p *PostgreSQLParser) Altersubscriptionstmt() (localctx IAltersubscriptions } } { - p.SetState(7475) + p.SetState(7473) p.Definition() } @@ -103335,7 +103136,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm p.EnterRule(localctx, 770, PostgreSQLParserRULE_dropsubscriptionstmt) var _la int - p.SetState(7493) + p.SetState(7491) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103345,7 +103146,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7479) + p.SetState(7477) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -103353,7 +103154,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm } } { - p.SetState(7480) + p.SetState(7478) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103361,10 +103162,10 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm } } { - p.SetState(7481) + p.SetState(7479) p.Name() } - p.SetState(7483) + p.SetState(7481) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103373,7 +103174,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(7482) + p.SetState(7480) p.Opt_drop_behavior() } @@ -103382,7 +103183,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7485) + p.SetState(7483) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -103390,7 +103191,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm } } { - p.SetState(7486) + p.SetState(7484) p.Match(PostgreSQLParserSUBSCRIPTION) if p.HasError() { // Recognition error - abort rule @@ -103398,7 +103199,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm } } { - p.SetState(7487) + p.SetState(7485) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -103406,7 +103207,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm } } { - p.SetState(7488) + p.SetState(7486) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -103414,10 +103215,10 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm } } { - p.SetState(7489) + p.SetState(7487) p.Name() } - p.SetState(7491) + p.SetState(7489) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103426,7 +103227,7 @@ func (p *PostgreSQLParser) Dropsubscriptionstmt() (localctx IDropsubscriptionstm if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(7490) + p.SetState(7488) p.Opt_drop_behavior() } @@ -103680,14 +103481,14 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7495) + p.SetState(7493) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7497) + p.SetState(7495) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103696,13 +103497,13 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { if _la == PostgreSQLParserOR { { - p.SetState(7496) + p.SetState(7494) p.Opt_or_replace() } } { - p.SetState(7499) + p.SetState(7497) p.Match(PostgreSQLParserRULE) if p.HasError() { // Recognition error - abort rule @@ -103710,11 +103511,11 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { } } { - p.SetState(7500) + p.SetState(7498) p.Name() } { - p.SetState(7501) + p.SetState(7499) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -103722,7 +103523,7 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { } } { - p.SetState(7502) + p.SetState(7500) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -103730,11 +103531,11 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { } } { - p.SetState(7503) + p.SetState(7501) p.Event() } { - p.SetState(7504) + p.SetState(7502) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -103742,10 +103543,10 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { } } { - p.SetState(7505) + p.SetState(7503) p.Qualified_name() } - p.SetState(7507) + p.SetState(7505) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103754,20 +103555,20 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { if _la == PostgreSQLParserWHERE { { - p.SetState(7506) + p.SetState(7504) p.Where_clause() } } { - p.SetState(7509) + p.SetState(7507) p.Match(PostgreSQLParserDO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7511) + p.SetState(7509) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103776,13 +103577,13 @@ func (p *PostgreSQLParser) Rulestmt() (localctx IRulestmtContext) { if _la == PostgreSQLParserALSO || _la == PostgreSQLParserINSTEAD { { - p.SetState(7510) + p.SetState(7508) p.Opt_instead() } } { - p.SetState(7513) + p.SetState(7511) p.Ruleactionlist() } @@ -103926,7 +103727,7 @@ func (s *RuleactionlistContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Ruleactionlist() (localctx IRuleactionlistContext) { localctx = NewRuleactionlistContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 774, PostgreSQLParserRULE_ruleactionlist) - p.SetState(7521) + p.SetState(7519) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -103936,7 +103737,7 @@ func (p *PostgreSQLParser) Ruleactionlist() (localctx IRuleactionlistContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7515) + p.SetState(7513) p.Match(PostgreSQLParserNOTHING) if p.HasError() { // Recognition error - abort rule @@ -103947,14 +103748,14 @@ func (p *PostgreSQLParser) Ruleactionlist() (localctx IRuleactionlistContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7516) + p.SetState(7514) p.Ruleactionstmt() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7517) + p.SetState(7515) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -103962,11 +103763,11 @@ func (p *PostgreSQLParser) Ruleactionlist() (localctx IRuleactionlistContext) { } } { - p.SetState(7518) + p.SetState(7516) p.Ruleactionmulti() } { - p.SetState(7519) + p.SetState(7517) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -104125,21 +103926,21 @@ func (p *PostgreSQLParser) Ruleactionmulti() (localctx IRuleactionmultiContext) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(7524) + p.SetState(7522) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserOPEN_PAREN || ((int64((_la-88)) & ^0x3f) == 0 && ((int64(1)<<(_la-88))&131089) != 0) || _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserNOTIFY || _la == PostgreSQLParserUPDATE || _la == PostgreSQLParserVALUES { + if _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserNOTIFY || _la == PostgreSQLParserSELECT || _la == PostgreSQLParserTABLE || ((int64((_la-452)) & ^0x3f) == 0 && ((int64(1)<<(_la-452))&17592190238977) != 0) { { - p.SetState(7523) + p.SetState(7521) p.RuleactionstmtOrEmpty() } } - p.SetState(7532) + p.SetState(7530) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -104148,29 +103949,29 @@ func (p *PostgreSQLParser) Ruleactionmulti() (localctx IRuleactionmultiContext) for _la == PostgreSQLParserSEMI { { - p.SetState(7526) + p.SetState(7524) p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7528) + p.SetState(7526) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserOPEN_PAREN || ((int64((_la-88)) & ^0x3f) == 0 && ((int64(1)<<(_la-88))&131089) != 0) || _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserNOTIFY || _la == PostgreSQLParserUPDATE || _la == PostgreSQLParserVALUES { + if _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserNOTIFY || _la == PostgreSQLParserSELECT || _la == PostgreSQLParserTABLE || ((int64((_la-452)) & ^0x3f) == 0 && ((int64(1)<<(_la-452))&17592190238977) != 0) { { - p.SetState(7527) + p.SetState(7525) p.RuleactionstmtOrEmpty() } } - p.SetState(7534) + p.SetState(7532) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -104354,7 +104155,7 @@ func (s *RuleactionstmtContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Ruleactionstmt() (localctx IRuleactionstmtContext) { localctx = NewRuleactionstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 778, PostgreSQLParserRULE_ruleactionstmt) - p.SetState(7540) + p.SetState(7538) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -104364,35 +104165,35 @@ func (p *PostgreSQLParser) Ruleactionstmt() (localctx IRuleactionstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7535) + p.SetState(7533) p.Selectstmt() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7536) + p.SetState(7534) p.Insertstmt() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7537) + p.SetState(7535) p.Updatestmt() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7538) + p.SetState(7536) p.Deletestmt() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7539) + p.SetState(7537) p.Notifystmt() } @@ -104510,7 +104311,7 @@ func (p *PostgreSQLParser) RuleactionstmtOrEmpty() (localctx IRuleactionstmtOrEm p.EnterRule(localctx, 780, PostgreSQLParserRULE_ruleactionstmtOrEmpty) p.EnterOuterAlt(localctx, 1) { - p.SetState(7542) + p.SetState(7540) p.Ruleactionstmt() } @@ -104629,10 +104430,10 @@ func (p *PostgreSQLParser) Event() (localctx IEventContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7544) + p.SetState(7542) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserSELECT || _la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserUPDATE) { + if !(_la == PostgreSQLParserDELETE_P || _la == PostgreSQLParserINSERT || _la == PostgreSQLParserSELECT || _la == PostgreSQLParserUPDATE) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -104745,7 +104546,7 @@ func (p *PostgreSQLParser) Opt_instead() (localctx IOpt_insteadContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7546) + p.SetState(7544) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserALSO || _la == PostgreSQLParserINSTEAD) { @@ -104890,7 +104691,7 @@ func (p *PostgreSQLParser) Notifystmt() (localctx INotifystmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7548) + p.SetState(7546) p.Match(PostgreSQLParserNOTIFY) if p.HasError() { // Recognition error - abort rule @@ -104898,10 +104699,10 @@ func (p *PostgreSQLParser) Notifystmt() (localctx INotifystmtContext) { } } { - p.SetState(7549) + p.SetState(7547) p.Colid() } - p.SetState(7551) + p.SetState(7549) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -104910,7 +104711,7 @@ func (p *PostgreSQLParser) Notifystmt() (localctx INotifystmtContext) { if _la == PostgreSQLParserCOMMA { { - p.SetState(7550) + p.SetState(7548) p.Notify_payload() } @@ -105031,7 +104832,7 @@ func (p *PostgreSQLParser) Notify_payload() (localctx INotify_payloadContext) { p.EnterRule(localctx, 788, PostgreSQLParserRULE_notify_payload) p.EnterOuterAlt(localctx, 1) { - p.SetState(7553) + p.SetState(7551) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -105039,7 +104840,7 @@ func (p *PostgreSQLParser) Notify_payload() (localctx INotify_payloadContext) { } } { - p.SetState(7554) + p.SetState(7552) p.Sconst() } @@ -105158,7 +104959,7 @@ func (p *PostgreSQLParser) Listenstmt() (localctx IListenstmtContext) { p.EnterRule(localctx, 790, PostgreSQLParserRULE_listenstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7556) + p.SetState(7554) p.Match(PostgreSQLParserLISTEN) if p.HasError() { // Recognition error - abort rule @@ -105166,7 +104967,7 @@ func (p *PostgreSQLParser) Listenstmt() (localctx IListenstmtContext) { } } { - p.SetState(7557) + p.SetState(7555) p.Colid() } @@ -105288,7 +105089,7 @@ func (s *UnlistenstmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Unlistenstmt() (localctx IUnlistenstmtContext) { localctx = NewUnlistenstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 792, PostgreSQLParserRULE_unlistenstmt) - p.SetState(7563) + p.SetState(7561) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105298,7 +105099,7 @@ func (p *PostgreSQLParser) Unlistenstmt() (localctx IUnlistenstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7559) + p.SetState(7557) p.Match(PostgreSQLParserUNLISTEN) if p.HasError() { // Recognition error - abort rule @@ -105306,14 +105107,14 @@ func (p *PostgreSQLParser) Unlistenstmt() (localctx IUnlistenstmtContext) { } } { - p.SetState(7560) + p.SetState(7558) p.Colid() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7561) + p.SetState(7559) p.Match(PostgreSQLParserUNLISTEN) if p.HasError() { // Recognition error - abort rule @@ -105321,7 +105122,7 @@ func (p *PostgreSQLParser) Unlistenstmt() (localctx IUnlistenstmtContext) { } } { - p.SetState(7562) + p.SetState(7560) p.Match(PostgreSQLParserSTAR) if p.HasError() { // Recognition error - abort rule @@ -105571,7 +105372,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) p.EnterRule(localctx, 794, PostgreSQLParserRULE_transactionstmt) var _la int - p.SetState(7634) + p.SetState(7632) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105581,14 +105382,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7565) + p.SetState(7563) p.Match(PostgreSQLParserABORT_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7567) + p.SetState(7565) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105597,12 +105398,12 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7566) + p.SetState(7564) p.Opt_transaction() } } - p.SetState(7570) + p.SetState(7568) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105611,7 +105412,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserAND { { - p.SetState(7569) + p.SetState(7567) p.Opt_transaction_chain() } @@ -105620,14 +105421,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7572) + p.SetState(7570) p.Match(PostgreSQLParserBEGIN_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7574) + p.SetState(7572) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105636,21 +105437,21 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7573) + p.SetState(7571) p.Opt_transaction() } } - p.SetState(7577) + p.SetState(7575) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserNOT || _la == PostgreSQLParserISOLATION || _la == PostgreSQLParserREAD { + if _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserISOLATION || _la == PostgreSQLParserNOT || _la == PostgreSQLParserREAD { { - p.SetState(7576) + p.SetState(7574) p.Transaction_mode_list_or_empty() } @@ -105659,7 +105460,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7579) + p.SetState(7577) p.Match(PostgreSQLParserSTART) if p.HasError() { // Recognition error - abort rule @@ -105667,23 +105468,23 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7580) + p.SetState(7578) p.Match(PostgreSQLParserTRANSACTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7582) + p.SetState(7580) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserNOT || _la == PostgreSQLParserISOLATION || _la == PostgreSQLParserREAD { + if _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserISOLATION || _la == PostgreSQLParserNOT || _la == PostgreSQLParserREAD { { - p.SetState(7581) + p.SetState(7579) p.Transaction_mode_list_or_empty() } @@ -105692,14 +105493,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7584) + p.SetState(7582) p.Match(PostgreSQLParserCOMMIT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7586) + p.SetState(7584) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105708,12 +105509,12 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7585) + p.SetState(7583) p.Opt_transaction() } } - p.SetState(7589) + p.SetState(7587) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105722,7 +105523,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserAND { { - p.SetState(7588) + p.SetState(7586) p.Opt_transaction_chain() } @@ -105731,14 +105532,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7591) + p.SetState(7589) p.Match(PostgreSQLParserEND_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7593) + p.SetState(7591) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105747,12 +105548,12 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7592) + p.SetState(7590) p.Opt_transaction() } } - p.SetState(7596) + p.SetState(7594) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105761,7 +105562,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserAND { { - p.SetState(7595) + p.SetState(7593) p.Opt_transaction_chain() } @@ -105770,14 +105571,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(7598) + p.SetState(7596) p.Match(PostgreSQLParserROLLBACK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7600) + p.SetState(7598) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105786,12 +105587,12 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7599) + p.SetState(7597) p.Opt_transaction() } } - p.SetState(7603) + p.SetState(7601) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105800,7 +105601,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserAND { { - p.SetState(7602) + p.SetState(7600) p.Opt_transaction_chain() } @@ -105809,7 +105610,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(7605) + p.SetState(7603) p.Match(PostgreSQLParserSAVEPOINT) if p.HasError() { // Recognition error - abort rule @@ -105817,14 +105618,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7606) + p.SetState(7604) p.Colid() } case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(7607) + p.SetState(7605) p.Match(PostgreSQLParserRELEASE) if p.HasError() { // Recognition error - abort rule @@ -105832,7 +105633,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7608) + p.SetState(7606) p.Match(PostgreSQLParserSAVEPOINT) if p.HasError() { // Recognition error - abort rule @@ -105840,14 +105641,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7609) + p.SetState(7607) p.Colid() } case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(7610) + p.SetState(7608) p.Match(PostgreSQLParserRELEASE) if p.HasError() { // Recognition error - abort rule @@ -105855,21 +105656,21 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7611) + p.SetState(7609) p.Colid() } case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(7612) + p.SetState(7610) p.Match(PostgreSQLParserROLLBACK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7614) + p.SetState(7612) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105878,13 +105679,13 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7613) + p.SetState(7611) p.Opt_transaction() } } { - p.SetState(7616) + p.SetState(7614) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -105892,7 +105693,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7617) + p.SetState(7615) p.Match(PostgreSQLParserSAVEPOINT) if p.HasError() { // Recognition error - abort rule @@ -105900,21 +105701,21 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7618) + p.SetState(7616) p.Colid() } case 11: p.EnterOuterAlt(localctx, 11) { - p.SetState(7619) + p.SetState(7617) p.Match(PostgreSQLParserROLLBACK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7621) + p.SetState(7619) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -105923,13 +105724,13 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) if _la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK { { - p.SetState(7620) + p.SetState(7618) p.Opt_transaction() } } { - p.SetState(7623) + p.SetState(7621) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -105937,14 +105738,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7624) + p.SetState(7622) p.Colid() } case 12: p.EnterOuterAlt(localctx, 12) { - p.SetState(7625) + p.SetState(7623) p.Match(PostgreSQLParserPREPARE) if p.HasError() { // Recognition error - abort rule @@ -105952,7 +105753,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7626) + p.SetState(7624) p.Match(PostgreSQLParserTRANSACTION) if p.HasError() { // Recognition error - abort rule @@ -105960,14 +105761,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7627) + p.SetState(7625) p.Sconst() } case 13: p.EnterOuterAlt(localctx, 13) { - p.SetState(7628) + p.SetState(7626) p.Match(PostgreSQLParserCOMMIT) if p.HasError() { // Recognition error - abort rule @@ -105975,7 +105776,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7629) + p.SetState(7627) p.Match(PostgreSQLParserPREPARED) if p.HasError() { // Recognition error - abort rule @@ -105983,14 +105784,14 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7630) + p.SetState(7628) p.Sconst() } case 14: p.EnterOuterAlt(localctx, 14) { - p.SetState(7631) + p.SetState(7629) p.Match(PostgreSQLParserROLLBACK) if p.HasError() { // Recognition error - abort rule @@ -105998,7 +105799,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7632) + p.SetState(7630) p.Match(PostgreSQLParserPREPARED) if p.HasError() { // Recognition error - abort rule @@ -106006,7 +105807,7 @@ func (p *PostgreSQLParser) Transactionstmt() (localctx ITransactionstmtContext) } } { - p.SetState(7633) + p.SetState(7631) p.Sconst() } @@ -106119,7 +105920,7 @@ func (p *PostgreSQLParser) Opt_transaction() (localctx IOpt_transactionContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(7636) + p.SetState(7634) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserTRANSACTION || _la == PostgreSQLParserWORK) { @@ -106273,7 +106074,7 @@ func (s *Transaction_mode_itemContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_itemContext) { localctx = NewTransaction_mode_itemContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 798, PostgreSQLParserRULE_transaction_mode_item) - p.SetState(7648) + p.SetState(7646) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -106283,7 +106084,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7638) + p.SetState(7636) p.Match(PostgreSQLParserISOLATION) if p.HasError() { // Recognition error - abort rule @@ -106291,7 +106092,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i } } { - p.SetState(7639) + p.SetState(7637) p.Match(PostgreSQLParserLEVEL) if p.HasError() { // Recognition error - abort rule @@ -106299,14 +106100,14 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i } } { - p.SetState(7640) + p.SetState(7638) p.Iso_level() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7641) + p.SetState(7639) p.Match(PostgreSQLParserREAD) if p.HasError() { // Recognition error - abort rule @@ -106314,7 +106115,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i } } { - p.SetState(7642) + p.SetState(7640) p.Match(PostgreSQLParserONLY) if p.HasError() { // Recognition error - abort rule @@ -106325,7 +106126,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7643) + p.SetState(7641) p.Match(PostgreSQLParserREAD) if p.HasError() { // Recognition error - abort rule @@ -106333,7 +106134,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i } } { - p.SetState(7644) + p.SetState(7642) p.Match(PostgreSQLParserWRITE) if p.HasError() { // Recognition error - abort rule @@ -106344,7 +106145,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7645) + p.SetState(7643) p.Match(PostgreSQLParserDEFERRABLE) if p.HasError() { // Recognition error - abort rule @@ -106355,7 +106156,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7646) + p.SetState(7644) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -106363,7 +106164,7 @@ func (p *PostgreSQLParser) Transaction_mode_item() (localctx ITransaction_mode_i } } { - p.SetState(7647) + p.SetState(7645) p.Match(PostgreSQLParserDEFERRABLE) if p.HasError() { // Recognition error - abort rule @@ -106523,18 +106324,18 @@ func (p *PostgreSQLParser) Transaction_mode_list() (localctx ITransaction_mode_l p.EnterOuterAlt(localctx, 1) { - p.SetState(7650) + p.SetState(7648) p.Transaction_mode_item() } - p.SetState(7657) + p.SetState(7655) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == PostgreSQLParserCOMMA || _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserNOT || _la == PostgreSQLParserISOLATION || _la == PostgreSQLParserREAD { - p.SetState(7652) + for _la == PostgreSQLParserDEFERRABLE || _la == PostgreSQLParserISOLATION || _la == PostgreSQLParserNOT || _la == PostgreSQLParserREAD || _la == PostgreSQLParserCOMMA { + p.SetState(7650) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -106543,7 +106344,7 @@ func (p *PostgreSQLParser) Transaction_mode_list() (localctx ITransaction_mode_l if _la == PostgreSQLParserCOMMA { { - p.SetState(7651) + p.SetState(7649) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -106553,11 +106354,11 @@ func (p *PostgreSQLParser) Transaction_mode_list() (localctx ITransaction_mode_l } { - p.SetState(7654) + p.SetState(7652) p.Transaction_mode_item() } - p.SetState(7659) + p.SetState(7657) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -106675,7 +106476,7 @@ func (p *PostgreSQLParser) Transaction_mode_list_or_empty() (localctx ITransacti p.EnterRule(localctx, 802, PostgreSQLParserRULE_transaction_mode_list_or_empty) p.EnterOuterAlt(localctx, 1) { - p.SetState(7660) + p.SetState(7658) p.Transaction_mode_list() } @@ -106789,14 +106590,14 @@ func (p *PostgreSQLParser) Opt_transaction_chain() (localctx IOpt_transaction_ch p.EnterOuterAlt(localctx, 1) { - p.SetState(7662) + p.SetState(7660) p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7664) + p.SetState(7662) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -106805,7 +106606,7 @@ func (p *PostgreSQLParser) Opt_transaction_chain() (localctx IOpt_transaction_ch if _la == PostgreSQLParserNO { { - p.SetState(7663) + p.SetState(7661) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -106815,7 +106616,7 @@ func (p *PostgreSQLParser) Opt_transaction_chain() (localctx IOpt_transaction_ch } { - p.SetState(7666) + p.SetState(7664) p.Match(PostgreSQLParserCHAIN) if p.HasError() { // Recognition error - abort rule @@ -107077,14 +106878,14 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7668) + p.SetState(7666) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7671) + p.SetState(7669) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -107093,7 +106894,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { if _la == PostgreSQLParserOR { { - p.SetState(7669) + p.SetState(7667) p.Match(PostgreSQLParserOR) if p.HasError() { // Recognition error - abort rule @@ -107101,7 +106902,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } { - p.SetState(7670) + p.SetState(7668) p.Match(PostgreSQLParserREPLACE) if p.HasError() { // Recognition error - abort rule @@ -107110,21 +106911,21 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } - p.SetState(7674) + p.SetState(7672) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&32773) != 0) { + if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-421)) & ^0x3f) == 0 && ((int64(1)<<(_la-421))&536870917) != 0) { { - p.SetState(7673) + p.SetState(7671) p.Opttemp() } } - p.SetState(7693) + p.SetState(7691) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -107133,7 +106934,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserVIEW: { - p.SetState(7676) + p.SetState(7674) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -107141,10 +106942,10 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } { - p.SetState(7677) + p.SetState(7675) p.Qualified_name() } - p.SetState(7679) + p.SetState(7677) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -107153,12 +106954,12 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { if _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(7678) + p.SetState(7676) p.Opt_column_list() } } - p.SetState(7682) + p.SetState(7680) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -107167,7 +106968,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(7681) + p.SetState(7679) p.Opt_reloptions() } @@ -107175,7 +106976,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { case PostgreSQLParserRECURSIVE: { - p.SetState(7684) + p.SetState(7682) p.Match(PostgreSQLParserRECURSIVE) if p.HasError() { // Recognition error - abort rule @@ -107183,7 +106984,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } { - p.SetState(7685) + p.SetState(7683) p.Match(PostgreSQLParserVIEW) if p.HasError() { // Recognition error - abort rule @@ -107191,11 +106992,11 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } { - p.SetState(7686) + p.SetState(7684) p.Qualified_name() } { - p.SetState(7687) + p.SetState(7685) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -107203,18 +107004,18 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } { - p.SetState(7688) + p.SetState(7686) p.Columnlist() } { - p.SetState(7689) + p.SetState(7687) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7691) + p.SetState(7689) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -107223,7 +107024,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(7690) + p.SetState(7688) p.Opt_reloptions() } @@ -107234,7 +107035,7 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { goto errorExit } { - p.SetState(7695) + p.SetState(7693) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -107242,15 +107043,15 @@ func (p *PostgreSQLParser) Viewstmt() (localctx IViewstmtContext) { } } { - p.SetState(7696) + p.SetState(7694) p.Selectstmt() } - p.SetState(7698) + p.SetState(7696) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 614, p.GetParserRuleContext()) == 1 { { - p.SetState(7697) + p.SetState(7695) p.Opt_check_option() } @@ -107378,14 +107179,14 @@ func (p *PostgreSQLParser) Opt_check_option() (localctx IOpt_check_optionContext p.EnterOuterAlt(localctx, 1) { - p.SetState(7700) + p.SetState(7698) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7702) + p.SetState(7700) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -107394,7 +107195,7 @@ func (p *PostgreSQLParser) Opt_check_option() (localctx IOpt_check_optionContext if _la == PostgreSQLParserCASCADED || _la == PostgreSQLParserLOCAL { { - p.SetState(7701) + p.SetState(7699) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserCASCADED || _la == PostgreSQLParserLOCAL) { @@ -107407,7 +107208,7 @@ func (p *PostgreSQLParser) Opt_check_option() (localctx IOpt_check_optionContext } { - p.SetState(7704) + p.SetState(7702) p.Match(PostgreSQLParserCHECK) if p.HasError() { // Recognition error - abort rule @@ -107415,7 +107216,7 @@ func (p *PostgreSQLParser) Opt_check_option() (localctx IOpt_check_optionContext } } { - p.SetState(7705) + p.SetState(7703) p.Match(PostgreSQLParserOPTION) if p.HasError() { // Recognition error - abort rule @@ -107538,7 +107339,7 @@ func (p *PostgreSQLParser) Loadstmt() (localctx ILoadstmtContext) { p.EnterRule(localctx, 810, PostgreSQLParserRULE_loadstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7707) + p.SetState(7705) p.Match(PostgreSQLParserLOAD) if p.HasError() { // Recognition error - abort rule @@ -107546,7 +107347,7 @@ func (p *PostgreSQLParser) Loadstmt() (localctx ILoadstmtContext) { } } { - p.SetState(7708) + p.SetState(7706) p.File_name() } @@ -107704,7 +107505,7 @@ func (p *PostgreSQLParser) Createdbstmt() (localctx ICreatedbstmtContext) { p.EnterRule(localctx, 812, PostgreSQLParserRULE_createdbstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7710) + p.SetState(7708) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -107712,7 +107513,7 @@ func (p *PostgreSQLParser) Createdbstmt() (localctx ICreatedbstmtContext) { } } { - p.SetState(7711) + p.SetState(7709) p.Match(PostgreSQLParserDATABASE) if p.HasError() { // Recognition error - abort rule @@ -107720,27 +107521,27 @@ func (p *PostgreSQLParser) Createdbstmt() (localctx ICreatedbstmtContext) { } } { - p.SetState(7712) + p.SetState(7710) p.Name() } - p.SetState(7714) + p.SetState(7712) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 616, p.GetParserRuleContext()) == 1 { { - p.SetState(7713) + p.SetState(7711) p.Opt_with() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(7717) + p.SetState(7715) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 617, p.GetParserRuleContext()) == 1 { { - p.SetState(7716) + p.SetState(7714) p.Createdb_opt_list() } @@ -107858,7 +107659,7 @@ func (p *PostgreSQLParser) Createdb_opt_list() (localctx ICreatedb_opt_listConte p.EnterRule(localctx, 814, PostgreSQLParserRULE_createdb_opt_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(7719) + p.SetState(7717) p.Createdb_opt_items() } @@ -107999,7 +107800,7 @@ func (p *PostgreSQLParser) Createdb_opt_items() (localctx ICreatedb_opt_itemsCon var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(7722) + p.SetState(7720) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -108009,7 +107810,7 @@ func (p *PostgreSQLParser) Createdb_opt_items() (localctx ICreatedb_opt_itemsCon switch _alt { case 1: { - p.SetState(7721) + p.SetState(7719) p.Createdb_opt_item() } @@ -108018,7 +107819,7 @@ func (p *PostgreSQLParser) Createdb_opt_items() (localctx ICreatedb_opt_itemsCon goto errorExit } - p.SetState(7724) + p.SetState(7722) p.GetErrorHandler().Sync(p) _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 618, p.GetParserRuleContext()) if p.HasError() { @@ -108194,10 +107995,10 @@ func (p *PostgreSQLParser) Createdb_opt_item() (localctx ICreatedb_opt_itemConte p.EnterOuterAlt(localctx, 1) { - p.SetState(7726) + p.SetState(7724) p.Createdb_opt_name() } - p.SetState(7728) + p.SetState(7726) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -108206,12 +108007,12 @@ func (p *PostgreSQLParser) Createdb_opt_item() (localctx ICreatedb_opt_itemConte if _la == PostgreSQLParserEQUAL { { - p.SetState(7727) + p.SetState(7725) p.Opt_equal() } } - p.SetState(7733) + p.SetState(7731) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -108220,19 +108021,19 @@ func (p *PostgreSQLParser) Createdb_opt_item() (localctx ICreatedb_opt_itemConte switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 620, p.GetParserRuleContext()) { case 1: { - p.SetState(7730) + p.SetState(7728) p.Signediconst() } case 2: { - p.SetState(7731) + p.SetState(7729) p.Opt_boolean_or_string() } case 3: { - p.SetState(7732) + p.SetState(7730) p.Match(PostgreSQLParserDEFAULT) if p.HasError() { // Recognition error - abort rule @@ -108387,24 +108188,24 @@ func (s *Createdb_opt_nameContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameContext) { localctx = NewCreatedb_opt_nameContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 820, PostgreSQLParserRULE_createdb_opt_name) - p.SetState(7743) + p.SetState(7741) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserIS, PostgreSQLParserOUTER_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserBACKWARD, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOMMIT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURSOR, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTYPE_P, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABSOLUTE_P, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserBACKWARD, PostgreSQLParserCALL, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOMMIT, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserERROR_P, PostgreSQLParserFETCH, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserIS, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserOUTER_P, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserRETURN, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTABLE, PostgreSQLParserTYPE_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { - p.SetState(7735) + p.SetState(7733) p.Identifier() } case PostgreSQLParserCONNECTION: p.EnterOuterAlt(localctx, 2) { - p.SetState(7736) + p.SetState(7734) p.Match(PostgreSQLParserCONNECTION) if p.HasError() { // Recognition error - abort rule @@ -108412,7 +108213,7 @@ func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameConte } } { - p.SetState(7737) + p.SetState(7735) p.Match(PostgreSQLParserLIMIT) if p.HasError() { // Recognition error - abort rule @@ -108423,7 +108224,7 @@ func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameConte case PostgreSQLParserENCODING: p.EnterOuterAlt(localctx, 3) { - p.SetState(7738) + p.SetState(7736) p.Match(PostgreSQLParserENCODING) if p.HasError() { // Recognition error - abort rule @@ -108434,7 +108235,7 @@ func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameConte case PostgreSQLParserLOCATION: p.EnterOuterAlt(localctx, 4) { - p.SetState(7739) + p.SetState(7737) p.Match(PostgreSQLParserLOCATION) if p.HasError() { // Recognition error - abort rule @@ -108445,7 +108246,7 @@ func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameConte case PostgreSQLParserOWNER: p.EnterOuterAlt(localctx, 5) { - p.SetState(7740) + p.SetState(7738) p.Match(PostgreSQLParserOWNER) if p.HasError() { // Recognition error - abort rule @@ -108456,7 +108257,7 @@ func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameConte case PostgreSQLParserTABLESPACE: p.EnterOuterAlt(localctx, 6) { - p.SetState(7741) + p.SetState(7739) p.Match(PostgreSQLParserTABLESPACE) if p.HasError() { // Recognition error - abort rule @@ -108467,7 +108268,7 @@ func (p *PostgreSQLParser) Createdb_opt_name() (localctx ICreatedb_opt_nameConte case PostgreSQLParserTEMPLATE: p.EnterOuterAlt(localctx, 7) { - p.SetState(7742) + p.SetState(7740) p.Match(PostgreSQLParserTEMPLATE) if p.HasError() { // Recognition error - abort rule @@ -108578,7 +108379,7 @@ func (p *PostgreSQLParser) Opt_equal() (localctx IOpt_equalContext) { p.EnterRule(localctx, 822, PostgreSQLParserRULE_opt_equal) p.EnterOuterAlt(localctx, 1) { - p.SetState(7745) + p.SetState(7743) p.Match(PostgreSQLParserEQUAL) if p.HasError() { // Recognition error - abort rule @@ -108779,7 +108580,7 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte p.EnterRule(localctx, 824, PostgreSQLParserRULE_alterdatabasestmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7747) + p.SetState(7745) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -108787,7 +108588,7 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } } { - p.SetState(7748) + p.SetState(7746) p.Match(PostgreSQLParserDATABASE) if p.HasError() { // Recognition error - abort rule @@ -108795,10 +108596,10 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } } { - p.SetState(7749) + p.SetState(7747) p.Name() } - p.SetState(7763) + p.SetState(7761) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -108807,19 +108608,19 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 624, p.GetParserRuleContext()) { case 1: { - p.SetState(7750) + p.SetState(7748) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7752) + p.SetState(7750) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 622, p.GetParserRuleContext()) == 1 { { - p.SetState(7751) + p.SetState(7749) p.Createdb_opt_list() } @@ -108828,12 +108629,12 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } case 2: - p.SetState(7755) + p.SetState(7753) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 623, p.GetParserRuleContext()) == 1 { { - p.SetState(7754) + p.SetState(7752) p.Createdb_opt_list() } @@ -108843,7 +108644,7 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte case 3: { - p.SetState(7757) + p.SetState(7755) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -108851,7 +108652,7 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } } { - p.SetState(7758) + p.SetState(7756) p.Match(PostgreSQLParserTABLESPACE) if p.HasError() { // Recognition error - abort rule @@ -108859,13 +108660,13 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } } { - p.SetState(7759) + p.SetState(7757) p.Name() } case 4: { - p.SetState(7760) + p.SetState(7758) p.Match(PostgreSQLParserREFRESH) if p.HasError() { // Recognition error - abort rule @@ -108873,7 +108674,7 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } } { - p.SetState(7761) + p.SetState(7759) p.Match(PostgreSQLParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -108881,7 +108682,7 @@ func (p *PostgreSQLParser) Alterdatabasestmt() (localctx IAlterdatabasestmtConte } } { - p.SetState(7762) + p.SetState(7760) p.Match(PostgreSQLParserVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -109030,7 +108831,7 @@ func (p *PostgreSQLParser) Alterdatabasesetstmt() (localctx IAlterdatabasesetstm p.EnterRule(localctx, 826, PostgreSQLParserRULE_alterdatabasesetstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7765) + p.SetState(7763) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -109038,7 +108839,7 @@ func (p *PostgreSQLParser) Alterdatabasesetstmt() (localctx IAlterdatabasesetstm } } { - p.SetState(7766) + p.SetState(7764) p.Match(PostgreSQLParserDATABASE) if p.HasError() { // Recognition error - abort rule @@ -109046,11 +108847,11 @@ func (p *PostgreSQLParser) Alterdatabasesetstmt() (localctx IAlterdatabasesetstm } } { - p.SetState(7767) + p.SetState(7765) p.Name() } { - p.SetState(7768) + p.SetState(7766) p.Setresetclause() } @@ -109230,7 +109031,7 @@ func (p *PostgreSQLParser) Dropdbstmt() (localctx IDropdbstmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(7770) + p.SetState(7768) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -109238,19 +109039,19 @@ func (p *PostgreSQLParser) Dropdbstmt() (localctx IDropdbstmtContext) { } } { - p.SetState(7771) + p.SetState(7769) p.Match(PostgreSQLParserDATABASE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7774) + p.SetState(7772) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 625, p.GetParserRuleContext()) == 1 { { - p.SetState(7772) + p.SetState(7770) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -109258,7 +109059,7 @@ func (p *PostgreSQLParser) Dropdbstmt() (localctx IDropdbstmtContext) { } } { - p.SetState(7773) + p.SetState(7771) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -109270,14 +109071,14 @@ func (p *PostgreSQLParser) Dropdbstmt() (localctx IDropdbstmtContext) { goto errorExit } { - p.SetState(7776) + p.SetState(7774) p.Name() } - p.SetState(7784) + p.SetState(7782) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 627, p.GetParserRuleContext()) == 1 { - p.SetState(7778) + p.SetState(7776) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -109286,13 +109087,13 @@ func (p *PostgreSQLParser) Dropdbstmt() (localctx IDropdbstmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(7777) + p.SetState(7775) p.Opt_with() } } { - p.SetState(7780) + p.SetState(7778) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -109300,11 +109101,11 @@ func (p *PostgreSQLParser) Dropdbstmt() (localctx IDropdbstmtContext) { } } { - p.SetState(7781) + p.SetState(7779) p.Drop_option_list() } { - p.SetState(7782) + p.SetState(7780) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -109464,10 +109265,10 @@ func (p *PostgreSQLParser) Drop_option_list() (localctx IDrop_option_listContext p.EnterOuterAlt(localctx, 1) { - p.SetState(7786) + p.SetState(7784) p.Drop_option() } - p.SetState(7791) + p.SetState(7789) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -109476,7 +109277,7 @@ func (p *PostgreSQLParser) Drop_option_list() (localctx IDrop_option_listContext for _la == PostgreSQLParserCOMMA { { - p.SetState(7787) + p.SetState(7785) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -109484,11 +109285,11 @@ func (p *PostgreSQLParser) Drop_option_list() (localctx IDrop_option_listContext } } { - p.SetState(7788) + p.SetState(7786) p.Drop_option() } - p.SetState(7793) + p.SetState(7791) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -109594,7 +109395,7 @@ func (p *PostgreSQLParser) Drop_option() (localctx IDrop_optionContext) { p.EnterRule(localctx, 832, PostgreSQLParserRULE_drop_option) p.EnterOuterAlt(localctx, 1) { - p.SetState(7794) + p.SetState(7792) p.Match(PostgreSQLParserFORCE) if p.HasError() { // Recognition error - abort rule @@ -109732,7 +109533,7 @@ func (p *PostgreSQLParser) Altercollationstmt() (localctx IAltercollationstmtCon p.EnterRule(localctx, 834, PostgreSQLParserRULE_altercollationstmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7796) + p.SetState(7794) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -109740,7 +109541,7 @@ func (p *PostgreSQLParser) Altercollationstmt() (localctx IAltercollationstmtCon } } { - p.SetState(7797) + p.SetState(7795) p.Match(PostgreSQLParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -109748,11 +109549,11 @@ func (p *PostgreSQLParser) Altercollationstmt() (localctx IAltercollationstmtCon } } { - p.SetState(7798) + p.SetState(7796) p.Any_name() } { - p.SetState(7799) + p.SetState(7797) p.Match(PostgreSQLParserREFRESH) if p.HasError() { // Recognition error - abort rule @@ -109760,7 +109561,7 @@ func (p *PostgreSQLParser) Altercollationstmt() (localctx IAltercollationstmtCon } } { - p.SetState(7800) + p.SetState(7798) p.Match(PostgreSQLParserVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -109900,7 +109701,7 @@ func (p *PostgreSQLParser) Altersystemstmt() (localctx IAltersystemstmtContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(7802) + p.SetState(7800) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -109908,7 +109709,7 @@ func (p *PostgreSQLParser) Altersystemstmt() (localctx IAltersystemstmtContext) } } { - p.SetState(7803) + p.SetState(7801) p.Match(PostgreSQLParserSYSTEM_P) if p.HasError() { // Recognition error - abort rule @@ -109916,7 +109717,7 @@ func (p *PostgreSQLParser) Altersystemstmt() (localctx IAltersystemstmtContext) } } { - p.SetState(7804) + p.SetState(7802) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserRESET || _la == PostgreSQLParserSET) { @@ -109927,7 +109728,7 @@ func (p *PostgreSQLParser) Altersystemstmt() (localctx IAltersystemstmtContext) } } { - p.SetState(7805) + p.SetState(7803) p.Generic_set() } @@ -110104,7 +109905,7 @@ func (p *PostgreSQLParser) Createdomainstmt() (localctx ICreatedomainstmtContext p.EnterOuterAlt(localctx, 1) { - p.SetState(7807) + p.SetState(7805) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule @@ -110112,7 +109913,7 @@ func (p *PostgreSQLParser) Createdomainstmt() (localctx ICreatedomainstmtContext } } { - p.SetState(7808) + p.SetState(7806) p.Match(PostgreSQLParserDOMAIN_P) if p.HasError() { // Recognition error - abort rule @@ -110120,10 +109921,10 @@ func (p *PostgreSQLParser) Createdomainstmt() (localctx ICreatedomainstmtContext } } { - p.SetState(7809) + p.SetState(7807) p.Any_name() } - p.SetState(7811) + p.SetState(7809) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -110132,17 +109933,17 @@ func (p *PostgreSQLParser) Createdomainstmt() (localctx ICreatedomainstmtContext if _la == PostgreSQLParserAS { { - p.SetState(7810) + p.SetState(7808) p.Opt_as() } } { - p.SetState(7813) + p.SetState(7811) p.Typename() } { - p.SetState(7814) + p.SetState(7812) p.Colquallist() } @@ -110381,7 +110182,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(7816) + p.SetState(7814) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -110389,7 +110190,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7817) + p.SetState(7815) p.Match(PostgreSQLParserDOMAIN_P) if p.HasError() { // Recognition error - abort rule @@ -110397,10 +110198,10 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7818) + p.SetState(7816) p.Any_name() } - p.SetState(7841) + p.SetState(7839) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -110409,13 +110210,13 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 632, p.GetParserRuleContext()) { case 1: { - p.SetState(7819) + p.SetState(7817) p.Alter_column_default() } case 2: { - p.SetState(7820) + p.SetState(7818) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -110423,7 +110224,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7821) + p.SetState(7819) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -110431,7 +110232,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7822) + p.SetState(7820) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -110441,7 +110242,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) case 3: { - p.SetState(7823) + p.SetState(7821) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -110449,7 +110250,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7824) + p.SetState(7822) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -110457,7 +110258,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7825) + p.SetState(7823) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -110467,7 +110268,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) case 4: { - p.SetState(7826) + p.SetState(7824) p.Match(PostgreSQLParserADD_P) if p.HasError() { // Recognition error - abort rule @@ -110475,13 +110276,13 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7827) + p.SetState(7825) p.Tableconstraint() } case 5: { - p.SetState(7828) + p.SetState(7826) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -110489,19 +110290,19 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7829) + p.SetState(7827) p.Match(PostgreSQLParserCONSTRAINT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7832) + p.SetState(7830) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 630, p.GetParserRuleContext()) == 1 { { - p.SetState(7830) + p.SetState(7828) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -110509,7 +110310,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7831) + p.SetState(7829) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -110521,10 +110322,10 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) goto errorExit } { - p.SetState(7834) + p.SetState(7832) p.Name() } - p.SetState(7836) + p.SetState(7834) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -110533,7 +110334,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) if _la == PostgreSQLParserCASCADE || _la == PostgreSQLParserRESTRICT { { - p.SetState(7835) + p.SetState(7833) p.Opt_drop_behavior() } @@ -110541,7 +110342,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) case 6: { - p.SetState(7838) + p.SetState(7836) p.Match(PostgreSQLParserVALIDATE) if p.HasError() { // Recognition error - abort rule @@ -110549,7 +110350,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7839) + p.SetState(7837) p.Match(PostgreSQLParserCONSTRAINT) if p.HasError() { // Recognition error - abort rule @@ -110557,7 +110358,7 @@ func (p *PostgreSQLParser) Alterdomainstmt() (localctx IAlterdomainstmtContext) } } { - p.SetState(7840) + p.SetState(7838) p.Name() } @@ -110663,7 +110464,7 @@ func (p *PostgreSQLParser) Opt_as() (localctx IOpt_asContext) { p.EnterRule(localctx, 842, PostgreSQLParserRULE_opt_as) p.EnterOuterAlt(localctx, 1) { - p.SetState(7843) + p.SetState(7841) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -110818,7 +110619,7 @@ func (p *PostgreSQLParser) Altertsdictionarystmt() (localctx IAltertsdictionarys p.EnterRule(localctx, 844, PostgreSQLParserRULE_altertsdictionarystmt) p.EnterOuterAlt(localctx, 1) { - p.SetState(7845) + p.SetState(7843) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -110826,7 +110627,7 @@ func (p *PostgreSQLParser) Altertsdictionarystmt() (localctx IAltertsdictionarys } } { - p.SetState(7846) + p.SetState(7844) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -110834,7 +110635,7 @@ func (p *PostgreSQLParser) Altertsdictionarystmt() (localctx IAltertsdictionarys } } { - p.SetState(7847) + p.SetState(7845) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -110842,7 +110643,7 @@ func (p *PostgreSQLParser) Altertsdictionarystmt() (localctx IAltertsdictionarys } } { - p.SetState(7848) + p.SetState(7846) p.Match(PostgreSQLParserDICTIONARY) if p.HasError() { // Recognition error - abort rule @@ -110850,11 +110651,11 @@ func (p *PostgreSQLParser) Altertsdictionarystmt() (localctx IAltertsdictionarys } } { - p.SetState(7849) + p.SetState(7847) p.Any_name() } { - p.SetState(7850) + p.SetState(7848) p.Definition() } @@ -111103,7 +110904,7 @@ func (s *AltertsconfigurationstmtContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigurationstmtContext) { localctx = NewAltertsconfigurationstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 846, PostgreSQLParserRULE_altertsconfigurationstmt) - p.SetState(7924) + p.SetState(7922) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -111113,7 +110914,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7852) + p.SetState(7850) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111121,7 +110922,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7853) + p.SetState(7851) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -111129,7 +110930,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7854) + p.SetState(7852) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -111137,7 +110938,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7855) + p.SetState(7853) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -111145,11 +110946,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7856) + p.SetState(7854) p.Any_name() } { - p.SetState(7857) + p.SetState(7855) p.Match(PostgreSQLParserADD_P) if p.HasError() { // Recognition error - abort rule @@ -111157,7 +110958,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7858) + p.SetState(7856) p.Match(PostgreSQLParserMAPPING) if p.HasError() { // Recognition error - abort rule @@ -111165,7 +110966,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7859) + p.SetState(7857) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -111173,22 +110974,22 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7860) + p.SetState(7858) p.Name_list() } { - p.SetState(7861) + p.SetState(7859) p.Any_with() } { - p.SetState(7862) + p.SetState(7860) p.Any_name_list() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7864) + p.SetState(7862) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111196,7 +110997,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7865) + p.SetState(7863) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -111204,7 +111005,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7866) + p.SetState(7864) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -111212,7 +111013,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7867) + p.SetState(7865) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -111220,11 +111021,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7868) + p.SetState(7866) p.Any_name() } { - p.SetState(7869) + p.SetState(7867) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111232,7 +111033,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7870) + p.SetState(7868) p.Match(PostgreSQLParserMAPPING) if p.HasError() { // Recognition error - abort rule @@ -111240,7 +111041,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7871) + p.SetState(7869) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -111248,22 +111049,22 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7872) + p.SetState(7870) p.Name_list() } { - p.SetState(7873) + p.SetState(7871) p.Any_with() } { - p.SetState(7874) + p.SetState(7872) p.Any_name_list() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7876) + p.SetState(7874) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111271,7 +111072,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7877) + p.SetState(7875) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -111279,7 +111080,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7878) + p.SetState(7876) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -111287,7 +111088,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7879) + p.SetState(7877) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -111295,11 +111096,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7880) + p.SetState(7878) p.Any_name() } { - p.SetState(7881) + p.SetState(7879) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111307,7 +111108,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7882) + p.SetState(7880) p.Match(PostgreSQLParserMAPPING) if p.HasError() { // Recognition error - abort rule @@ -111315,7 +111116,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7883) + p.SetState(7881) p.Match(PostgreSQLParserREPLACE) if p.HasError() { // Recognition error - abort rule @@ -111323,22 +111124,22 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7884) + p.SetState(7882) p.Any_name() } { - p.SetState(7885) + p.SetState(7883) p.Any_with() } { - p.SetState(7886) + p.SetState(7884) p.Any_name() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(7888) + p.SetState(7886) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111346,7 +111147,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7889) + p.SetState(7887) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -111354,7 +111155,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7890) + p.SetState(7888) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -111362,7 +111163,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7891) + p.SetState(7889) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -111370,11 +111171,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7892) + p.SetState(7890) p.Any_name() } { - p.SetState(7893) + p.SetState(7891) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111382,7 +111183,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7894) + p.SetState(7892) p.Match(PostgreSQLParserMAPPING) if p.HasError() { // Recognition error - abort rule @@ -111390,7 +111191,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7895) + p.SetState(7893) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -111398,11 +111199,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7896) + p.SetState(7894) p.Name_list() } { - p.SetState(7897) + p.SetState(7895) p.Match(PostgreSQLParserREPLACE) if p.HasError() { // Recognition error - abort rule @@ -111410,22 +111211,22 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7898) + p.SetState(7896) p.Any_name() } { - p.SetState(7899) + p.SetState(7897) p.Any_with() } { - p.SetState(7900) + p.SetState(7898) p.Any_name() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(7902) + p.SetState(7900) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111433,7 +111234,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7903) + p.SetState(7901) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -111441,7 +111242,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7904) + p.SetState(7902) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -111449,7 +111250,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7905) + p.SetState(7903) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -111457,11 +111258,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7906) + p.SetState(7904) p.Any_name() } { - p.SetState(7907) + p.SetState(7905) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -111469,7 +111270,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7908) + p.SetState(7906) p.Match(PostgreSQLParserMAPPING) if p.HasError() { // Recognition error - abort rule @@ -111477,7 +111278,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7909) + p.SetState(7907) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -111485,14 +111286,14 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7910) + p.SetState(7908) p.Name_list() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(7912) + p.SetState(7910) p.Match(PostgreSQLParserALTER) if p.HasError() { // Recognition error - abort rule @@ -111500,7 +111301,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7913) + p.SetState(7911) p.Match(PostgreSQLParserTEXT_P) if p.HasError() { // Recognition error - abort rule @@ -111508,7 +111309,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7914) + p.SetState(7912) p.Match(PostgreSQLParserSEARCH) if p.HasError() { // Recognition error - abort rule @@ -111516,7 +111317,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7915) + p.SetState(7913) p.Match(PostgreSQLParserCONFIGURATION) if p.HasError() { // Recognition error - abort rule @@ -111524,11 +111325,11 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7916) + p.SetState(7914) p.Any_name() } { - p.SetState(7917) + p.SetState(7915) p.Match(PostgreSQLParserDROP) if p.HasError() { // Recognition error - abort rule @@ -111536,7 +111337,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7918) + p.SetState(7916) p.Match(PostgreSQLParserMAPPING) if p.HasError() { // Recognition error - abort rule @@ -111544,7 +111345,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7919) + p.SetState(7917) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -111552,7 +111353,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7920) + p.SetState(7918) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -111560,7 +111361,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7921) + p.SetState(7919) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -111568,7 +111369,7 @@ func (p *PostgreSQLParser) Altertsconfigurationstmt() (localctx IAltertsconfigur } } { - p.SetState(7922) + p.SetState(7920) p.Name_list() } @@ -111674,7 +111475,7 @@ func (p *PostgreSQLParser) Any_with() (localctx IAny_withContext) { p.EnterRule(localctx, 848, PostgreSQLParserRULE_any_with) p.EnterOuterAlt(localctx, 1) { - p.SetState(7926) + p.SetState(7924) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -111905,14 +111706,14 @@ func (p *PostgreSQLParser) Createconversionstmt() (localctx ICreateconversionstm p.EnterOuterAlt(localctx, 1) { - p.SetState(7928) + p.SetState(7926) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7930) + p.SetState(7928) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -111921,13 +111722,13 @@ func (p *PostgreSQLParser) Createconversionstmt() (localctx ICreateconversionstm if _la == PostgreSQLParserDEFAULT { { - p.SetState(7929) + p.SetState(7927) p.Opt_default() } } { - p.SetState(7932) + p.SetState(7930) p.Match(PostgreSQLParserCONVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -111935,11 +111736,11 @@ func (p *PostgreSQLParser) Createconversionstmt() (localctx ICreateconversionstm } } { - p.SetState(7933) + p.SetState(7931) p.Any_name() } { - p.SetState(7934) + p.SetState(7932) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -111947,11 +111748,11 @@ func (p *PostgreSQLParser) Createconversionstmt() (localctx ICreateconversionstm } } { - p.SetState(7935) + p.SetState(7933) p.Sconst() } { - p.SetState(7936) + p.SetState(7934) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -111959,11 +111760,11 @@ func (p *PostgreSQLParser) Createconversionstmt() (localctx ICreateconversionstm } } { - p.SetState(7937) + p.SetState(7935) p.Sconst() } { - p.SetState(7938) + p.SetState(7936) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -111971,7 +111772,7 @@ func (p *PostgreSQLParser) Createconversionstmt() (localctx ICreateconversionstm } } { - p.SetState(7939) + p.SetState(7937) p.Any_name() } @@ -112146,7 +111947,7 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { p.EnterRule(localctx, 852, PostgreSQLParserRULE_clusterstmt) var _la int - p.SetState(7961) + p.SetState(7959) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112156,14 +111957,14 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7941) + p.SetState(7939) p.Match(PostgreSQLParserCLUSTER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7943) + p.SetState(7941) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112172,16 +111973,16 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { if _la == PostgreSQLParserVERBOSE { { - p.SetState(7942) + p.SetState(7940) p.Opt_verbose() } } { - p.SetState(7945) + p.SetState(7943) p.Qualified_name() } - p.SetState(7947) + p.SetState(7945) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112190,7 +111991,7 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { if _la == PostgreSQLParserUSING { { - p.SetState(7946) + p.SetState(7944) p.Cluster_index_specification() } @@ -112199,14 +112000,14 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7949) + p.SetState(7947) p.Match(PostgreSQLParserCLUSTER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7951) + p.SetState(7949) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112215,7 +112016,7 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { if _la == PostgreSQLParserVERBOSE { { - p.SetState(7950) + p.SetState(7948) p.Opt_verbose() } @@ -112224,14 +112025,14 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(7953) + p.SetState(7951) p.Match(PostgreSQLParserCLUSTER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7955) + p.SetState(7953) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112240,17 +112041,17 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { if _la == PostgreSQLParserVERBOSE { { - p.SetState(7954) + p.SetState(7952) p.Opt_verbose() } } { - p.SetState(7957) + p.SetState(7955) p.Name() } { - p.SetState(7958) + p.SetState(7956) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -112258,7 +112059,7 @@ func (p *PostgreSQLParser) Clusterstmt() (localctx IClusterstmtContext) { } } { - p.SetState(7959) + p.SetState(7957) p.Qualified_name() } @@ -112381,7 +112182,7 @@ func (p *PostgreSQLParser) Cluster_index_specification() (localctx ICluster_inde p.EnterRule(localctx, 854, PostgreSQLParserRULE_cluster_index_specification) p.EnterOuterAlt(localctx, 1) { - p.SetState(7963) + p.SetState(7961) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -112389,7 +112190,7 @@ func (p *PostgreSQLParser) Cluster_index_specification() (localctx ICluster_inde } } { - p.SetState(7964) + p.SetState(7962) p.Name() } @@ -112603,7 +112404,7 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { p.EnterRule(localctx, 856, PostgreSQLParserRULE_vacuumstmt) var _la int - p.SetState(7989) + p.SetState(7987) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112613,14 +112414,14 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7966) + p.SetState(7964) p.Match(PostgreSQLParserVACUUM) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7968) + p.SetState(7966) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112629,12 +112430,12 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { if _la == PostgreSQLParserFULL { { - p.SetState(7967) + p.SetState(7965) p.Opt_full() } } - p.SetState(7971) + p.SetState(7969) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112643,12 +112444,12 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { if _la == PostgreSQLParserFREEZE { { - p.SetState(7970) + p.SetState(7968) p.Opt_freeze() } } - p.SetState(7974) + p.SetState(7972) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112657,29 +112458,29 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { if _la == PostgreSQLParserVERBOSE { { - p.SetState(7973) + p.SetState(7971) p.Opt_verbose() } } - p.SetState(7977) + p.SetState(7975) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 643, p.GetParserRuleContext()) == 1 { { - p.SetState(7976) + p.SetState(7974) p.Opt_analyze() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(7980) + p.SetState(7978) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 644, p.GetParserRuleContext()) == 1 { { - p.SetState(7979) + p.SetState(7977) p.Opt_vacuum_relation_list() } @@ -112690,7 +112491,7 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7982) + p.SetState(7980) p.Match(PostgreSQLParserVACUUM) if p.HasError() { // Recognition error - abort rule @@ -112698,7 +112499,7 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { } } { - p.SetState(7983) + p.SetState(7981) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -112706,23 +112507,23 @@ func (p *PostgreSQLParser) Vacuumstmt() (localctx IVacuumstmtContext) { } } { - p.SetState(7984) + p.SetState(7982) p.Vac_analyze_option_list() } { - p.SetState(7985) + p.SetState(7983) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(7987) + p.SetState(7985) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 645, p.GetParserRuleContext()) == 1 { { - p.SetState(7986) + p.SetState(7984) p.Opt_vacuum_relation_list() } @@ -112905,7 +112706,7 @@ func (p *PostgreSQLParser) Analyzestmt() (localctx IAnalyzestmtContext) { p.EnterRule(localctx, 858, PostgreSQLParserRULE_analyzestmt) var _la int - p.SetState(8005) + p.SetState(8003) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112915,10 +112716,10 @@ func (p *PostgreSQLParser) Analyzestmt() (localctx IAnalyzestmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(7991) + p.SetState(7989) p.Analyze_keyword() } - p.SetState(7993) + p.SetState(7991) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -112927,17 +112728,17 @@ func (p *PostgreSQLParser) Analyzestmt() (localctx IAnalyzestmtContext) { if _la == PostgreSQLParserVERBOSE { { - p.SetState(7992) + p.SetState(7990) p.Opt_verbose() } } - p.SetState(7996) + p.SetState(7994) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 648, p.GetParserRuleContext()) == 1 { { - p.SetState(7995) + p.SetState(7993) p.Opt_vacuum_relation_list() } @@ -112948,11 +112749,11 @@ func (p *PostgreSQLParser) Analyzestmt() (localctx IAnalyzestmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(7998) + p.SetState(7996) p.Analyze_keyword() } { - p.SetState(7999) + p.SetState(7997) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -112960,23 +112761,23 @@ func (p *PostgreSQLParser) Analyzestmt() (localctx IAnalyzestmtContext) { } } { - p.SetState(8000) + p.SetState(7998) p.Vac_analyze_option_list() } { - p.SetState(8001) + p.SetState(7999) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8003) + p.SetState(8001) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 649, p.GetParserRuleContext()) == 1 { { - p.SetState(8002) + p.SetState(8000) p.Opt_vacuum_relation_list() } @@ -113136,10 +112937,10 @@ func (p *PostgreSQLParser) Vac_analyze_option_list() (localctx IVac_analyze_opti p.EnterOuterAlt(localctx, 1) { - p.SetState(8007) + p.SetState(8005) p.Vac_analyze_option_elem() } - p.SetState(8012) + p.SetState(8010) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -113148,7 +112949,7 @@ func (p *PostgreSQLParser) Vac_analyze_option_list() (localctx IVac_analyze_opti for _la == PostgreSQLParserCOMMA { { - p.SetState(8008) + p.SetState(8006) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -113156,11 +112957,11 @@ func (p *PostgreSQLParser) Vac_analyze_option_list() (localctx IVac_analyze_opti } } { - p.SetState(8009) + p.SetState(8007) p.Vac_analyze_option_elem() } - p.SetState(8014) + p.SetState(8012) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -113273,7 +113074,7 @@ func (p *PostgreSQLParser) Analyze_keyword() (localctx IAnalyze_keywordContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(8015) + p.SetState(8013) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserANALYSE || _la == PostgreSQLParserANALYZE) { @@ -113413,19 +113214,19 @@ func (p *PostgreSQLParser) Vac_analyze_option_elem() (localctx IVac_analyze_opti p.EnterOuterAlt(localctx, 1) { - p.SetState(8017) + p.SetState(8015) p.Vac_analyze_option_name() } - p.SetState(8019) + p.SetState(8017) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3611948516751978496) != 0) || ((int64((_la-80)) & ^0x3f) == 0 && ((int64(1)<<(_la-80))&-288251816158621695) != 0) || ((int64((_la-144)) & ^0x3f) == 0 && ((int64(1)<<(_la-144))&-3) != 0) || ((int64((_la-208)) & ^0x3f) == 0 && ((int64(1)<<(_la-208))&-2305843009213693953) != 0) || ((int64((_la-273)) & ^0x3f) == 0 && ((int64(1)<<(_la-273))&-1) != 0) || ((int64((_la-337)) & ^0x3f) == 0 && ((int64(1)<<(_la-337))&-1) != 0) || ((int64((_la-401)) & ^0x3f) == 0 && ((int64(1)<<(_la-401))&-1) != 0) || ((int64((_la-465)) & ^0x3f) == 0 && ((int64(1)<<(_la-465))&-2882303761517118465) != 0) || ((int64((_la-529)) & ^0x3f) == 0 && ((int64(1)<<(_la-529))&-2049) != 0) || ((int64((_la-593)) & ^0x3f) == 0 && ((int64(1)<<(_la-593))&-1) != 0) || ((int64((_la-657)) & ^0x3f) == 0 && ((int64(1)<<(_la-657))&4413617148385) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9218580383712258) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639424589825) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358261761) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923189312094209) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6917582904918802945) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432415932915113935) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&130615972452065279) != 0) || _la == PostgreSQLParserEscapeStringConstant { { - p.SetState(8018) + p.SetState(8016) p.Vac_analyze_option_arg() } @@ -113556,24 +113357,24 @@ func (s *Vac_analyze_option_nameContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Vac_analyze_option_name() (localctx IVac_analyze_option_nameContext) { localctx = NewVac_analyze_option_nameContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 866, PostgreSQLParserRULE_vac_analyze_option_name) - p.SetState(8023) + p.SetState(8021) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { - p.SetState(8021) + p.SetState(8019) p.Nonreservedword() } case PostgreSQLParserANALYSE, PostgreSQLParserANALYZE: p.EnterOuterAlt(localctx, 2) { - p.SetState(8022) + p.SetState(8020) p.Analyze_keyword() } @@ -113707,24 +113508,24 @@ func (s *Vac_analyze_option_argContext) Accept(visitor antlr.ParseTreeVisitor) i func (p *PostgreSQLParser) Vac_analyze_option_arg() (localctx IVac_analyze_option_argContext) { localctx = NewVac_analyze_option_argContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 868, PostgreSQLParserRULE_vac_analyze_option_arg) - p.SetState(8027) + p.SetState(8025) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserON, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { - p.SetState(8025) + p.SetState(8023) p.Opt_boolean_or_string() } case PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserIntegral, PostgreSQLParserNumeric: p.EnterOuterAlt(localctx, 2) { - p.SetState(8026) + p.SetState(8024) p.Numericonly() } @@ -113843,7 +113644,7 @@ func (p *PostgreSQLParser) Opt_analyze() (localctx IOpt_analyzeContext) { p.EnterRule(localctx, 870, PostgreSQLParserRULE_opt_analyze) p.EnterOuterAlt(localctx, 1) { - p.SetState(8029) + p.SetState(8027) p.Analyze_keyword() } @@ -113945,7 +113746,7 @@ func (p *PostgreSQLParser) Opt_verbose() (localctx IOpt_verboseContext) { p.EnterRule(localctx, 872, PostgreSQLParserRULE_opt_verbose) p.EnterOuterAlt(localctx, 1) { - p.SetState(8031) + p.SetState(8029) p.Match(PostgreSQLParserVERBOSE) if p.HasError() { // Recognition error - abort rule @@ -114051,7 +113852,7 @@ func (p *PostgreSQLParser) Opt_full() (localctx IOpt_fullContext) { p.EnterRule(localctx, 874, PostgreSQLParserRULE_opt_full) p.EnterOuterAlt(localctx, 1) { - p.SetState(8033) + p.SetState(8031) p.Match(PostgreSQLParserFULL) if p.HasError() { // Recognition error - abort rule @@ -114157,7 +113958,7 @@ func (p *PostgreSQLParser) Opt_freeze() (localctx IOpt_freezeContext) { p.EnterRule(localctx, 876, PostgreSQLParserRULE_opt_freeze) p.EnterOuterAlt(localctx, 1) { - p.SetState(8035) + p.SetState(8033) p.Match(PostgreSQLParserFREEZE) if p.HasError() { // Recognition error - abort rule @@ -114285,7 +114086,7 @@ func (p *PostgreSQLParser) Opt_name_list() (localctx IOpt_name_listContext) { p.EnterRule(localctx, 878, PostgreSQLParserRULE_opt_name_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(8037) + p.SetState(8035) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -114293,11 +114094,11 @@ func (p *PostgreSQLParser) Opt_name_list() (localctx IOpt_name_listContext) { } } { - p.SetState(8038) + p.SetState(8036) p.Name_list() } { - p.SetState(8039) + p.SetState(8037) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -114432,15 +114233,15 @@ func (p *PostgreSQLParser) Vacuum_relation() (localctx IVacuum_relationContext) p.EnterRule(localctx, 880, PostgreSQLParserRULE_vacuum_relation) p.EnterOuterAlt(localctx, 1) { - p.SetState(8041) + p.SetState(8039) p.Qualified_name() } - p.SetState(8043) + p.SetState(8041) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 655, p.GetParserRuleContext()) == 1 { { - p.SetState(8042) + p.SetState(8040) p.Opt_name_list() } @@ -114596,10 +114397,10 @@ func (p *PostgreSQLParser) Vacuum_relation_list() (localctx IVacuum_relation_lis p.EnterOuterAlt(localctx, 1) { - p.SetState(8045) + p.SetState(8043) p.Vacuum_relation() } - p.SetState(8050) + p.SetState(8048) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -114608,7 +114409,7 @@ func (p *PostgreSQLParser) Vacuum_relation_list() (localctx IVacuum_relation_lis for _la == PostgreSQLParserCOMMA { { - p.SetState(8046) + p.SetState(8044) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -114616,11 +114417,11 @@ func (p *PostgreSQLParser) Vacuum_relation_list() (localctx IVacuum_relation_lis } } { - p.SetState(8047) + p.SetState(8045) p.Vacuum_relation() } - p.SetState(8052) + p.SetState(8050) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -114738,7 +114539,7 @@ func (p *PostgreSQLParser) Opt_vacuum_relation_list() (localctx IOpt_vacuum_rela p.EnterRule(localctx, 884, PostgreSQLParserRULE_opt_vacuum_relation_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(8053) + p.SetState(8051) p.Vacuum_relation_list() } @@ -114923,7 +114724,7 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { p.EnterRule(localctx, 886, PostgreSQLParserRULE_explainstmt) var _la int - p.SetState(8073) + p.SetState(8071) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -114933,7 +114734,7 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8055) + p.SetState(8053) p.Match(PostgreSQLParserEXPLAIN) if p.HasError() { // Recognition error - abort rule @@ -114941,14 +114742,14 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8056) + p.SetState(8054) p.Explainablestmt() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8057) + p.SetState(8055) p.Match(PostgreSQLParserEXPLAIN) if p.HasError() { // Recognition error - abort rule @@ -114956,10 +114757,10 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8058) + p.SetState(8056) p.Analyze_keyword() } - p.SetState(8060) + p.SetState(8058) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -114968,20 +114769,20 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { if _la == PostgreSQLParserVERBOSE { { - p.SetState(8059) + p.SetState(8057) p.Opt_verbose() } } { - p.SetState(8062) + p.SetState(8060) p.Explainablestmt() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8064) + p.SetState(8062) p.Match(PostgreSQLParserEXPLAIN) if p.HasError() { // Recognition error - abort rule @@ -114989,7 +114790,7 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8065) + p.SetState(8063) p.Match(PostgreSQLParserVERBOSE) if p.HasError() { // Recognition error - abort rule @@ -114997,14 +114798,14 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8066) + p.SetState(8064) p.Explainablestmt() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8067) + p.SetState(8065) p.Match(PostgreSQLParserEXPLAIN) if p.HasError() { // Recognition error - abort rule @@ -115012,7 +114813,7 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8068) + p.SetState(8066) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -115020,11 +114821,11 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8069) + p.SetState(8067) p.Explain_option_list() } { - p.SetState(8070) + p.SetState(8068) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -115032,7 +114833,7 @@ func (p *PostgreSQLParser) Explainstmt() (localctx IExplainstmtContext) { } } { - p.SetState(8071) + p.SetState(8069) p.Explainablestmt() } @@ -115284,7 +115085,7 @@ func (s *ExplainablestmtContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Explainablestmt() (localctx IExplainablestmtContext) { localctx = NewExplainablestmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 888, PostgreSQLParserRULE_explainablestmt) - p.SetState(8084) + p.SetState(8082) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -115294,63 +115095,63 @@ func (p *PostgreSQLParser) Explainablestmt() (localctx IExplainablestmtContext) case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8075) + p.SetState(8073) p.Selectstmt() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8076) + p.SetState(8074) p.Insertstmt() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8077) + p.SetState(8075) p.Updatestmt() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8078) + p.SetState(8076) p.Deletestmt() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(8079) + p.SetState(8077) p.Declarecursorstmt() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(8080) + p.SetState(8078) p.Createasstmt() } case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(8081) + p.SetState(8079) p.Creatematviewstmt() } case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(8082) + p.SetState(8080) p.Refreshmatviewstmt() } case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(8083) + p.SetState(8081) p.Executestmt() } @@ -115506,10 +115307,10 @@ func (p *PostgreSQLParser) Explain_option_list() (localctx IExplain_option_listC p.EnterOuterAlt(localctx, 1) { - p.SetState(8086) + p.SetState(8084) p.Explain_option_elem() } - p.SetState(8091) + p.SetState(8089) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -115518,7 +115319,7 @@ func (p *PostgreSQLParser) Explain_option_list() (localctx IExplain_option_listC for _la == PostgreSQLParserCOMMA { { - p.SetState(8087) + p.SetState(8085) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -115526,11 +115327,11 @@ func (p *PostgreSQLParser) Explain_option_list() (localctx IExplain_option_listC } } { - p.SetState(8088) + p.SetState(8086) p.Explain_option_elem() } - p.SetState(8093) + p.SetState(8091) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -115667,19 +115468,19 @@ func (p *PostgreSQLParser) Explain_option_elem() (localctx IExplain_option_elemC p.EnterOuterAlt(localctx, 1) { - p.SetState(8094) + p.SetState(8092) p.Explain_option_name() } - p.SetState(8096) + p.SetState(8094) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3611948516751978496) != 0) || ((int64((_la-80)) & ^0x3f) == 0 && ((int64(1)<<(_la-80))&-288251816158621695) != 0) || ((int64((_la-144)) & ^0x3f) == 0 && ((int64(1)<<(_la-144))&-3) != 0) || ((int64((_la-208)) & ^0x3f) == 0 && ((int64(1)<<(_la-208))&-2305843009213693953) != 0) || ((int64((_la-273)) & ^0x3f) == 0 && ((int64(1)<<(_la-273))&-1) != 0) || ((int64((_la-337)) & ^0x3f) == 0 && ((int64(1)<<(_la-337))&-1) != 0) || ((int64((_la-401)) & ^0x3f) == 0 && ((int64(1)<<(_la-401))&-1) != 0) || ((int64((_la-465)) & ^0x3f) == 0 && ((int64(1)<<(_la-465))&-2882303761517118465) != 0) || ((int64((_la-529)) & ^0x3f) == 0 && ((int64(1)<<(_la-529))&-2049) != 0) || ((int64((_la-593)) & ^0x3f) == 0 && ((int64(1)<<(_la-593))&-1) != 0) || ((int64((_la-657)) & ^0x3f) == 0 && ((int64(1)<<(_la-657))&4413617148385) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9218580383712258) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639424589825) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-215607358261761) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923189312094209) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6917582904918802945) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432415932915113935) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&130615972452065279) != 0) || _la == PostgreSQLParserEscapeStringConstant { { - p.SetState(8095) + p.SetState(8093) p.Explain_option_arg() } @@ -115810,24 +115611,24 @@ func (s *Explain_option_nameContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Explain_option_name() (localctx IExplain_option_nameContext) { localctx = NewExplain_option_nameContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 894, PostgreSQLParserRULE_explain_option_name) - p.SetState(8100) + p.SetState(8098) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { - p.SetState(8098) + p.SetState(8096) p.Nonreservedword() } case PostgreSQLParserANALYSE, PostgreSQLParserANALYZE: p.EnterOuterAlt(localctx, 2) { - p.SetState(8099) + p.SetState(8097) p.Analyze_keyword() } @@ -115961,24 +115762,24 @@ func (s *Explain_option_argContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Explain_option_arg() (localctx IExplain_option_argContext) { localctx = NewExplain_option_argContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 896, PostgreSQLParserRULE_explain_option_arg) - p.SetState(8104) + p.SetState(8102) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserON, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { - p.SetState(8102) + p.SetState(8100) p.Opt_boolean_or_string() } case PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserIntegral, PostgreSQLParserNumeric: p.EnterOuterAlt(localctx, 2) { - p.SetState(8103) + p.SetState(8101) p.Numericonly() } @@ -116143,7 +115944,7 @@ func (p *PostgreSQLParser) Preparestmt() (localctx IPreparestmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8106) + p.SetState(8104) p.Match(PostgreSQLParserPREPARE) if p.HasError() { // Recognition error - abort rule @@ -116151,10 +115952,10 @@ func (p *PostgreSQLParser) Preparestmt() (localctx IPreparestmtContext) { } } { - p.SetState(8107) + p.SetState(8105) p.Name() } - p.SetState(8109) + p.SetState(8107) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -116163,13 +115964,13 @@ func (p *PostgreSQLParser) Preparestmt() (localctx IPreparestmtContext) { if _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(8108) + p.SetState(8106) p.Prep_type_clause() } } { - p.SetState(8111) + p.SetState(8109) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -116177,7 +115978,7 @@ func (p *PostgreSQLParser) Preparestmt() (localctx IPreparestmtContext) { } } { - p.SetState(8112) + p.SetState(8110) p.Preparablestmt() } @@ -116301,7 +116102,7 @@ func (p *PostgreSQLParser) Prep_type_clause() (localctx IPrep_type_clauseContext p.EnterRule(localctx, 900, PostgreSQLParserRULE_prep_type_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8114) + p.SetState(8112) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -116309,11 +116110,11 @@ func (p *PostgreSQLParser) Prep_type_clause() (localctx IPrep_type_clauseContext } } { - p.SetState(8115) + p.SetState(8113) p.Type_list() } { - p.SetState(8116) + p.SetState(8114) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -116497,7 +116298,7 @@ func (s *PreparablestmtContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Preparablestmt() (localctx IPreparablestmtContext) { localctx = NewPreparablestmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 902, PostgreSQLParserRULE_preparablestmt) - p.SetState(8123) + p.SetState(8121) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -116507,35 +116308,35 @@ func (p *PostgreSQLParser) Preparablestmt() (localctx IPreparablestmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8118) + p.SetState(8116) p.Selectstmt() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8119) + p.SetState(8117) p.Insertstmt() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8120) + p.SetState(8118) p.Updatestmt() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8121) + p.SetState(8119) p.Deletestmt() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(8122) + p.SetState(8120) p.Mergestmt() } @@ -116756,7 +116557,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { p.EnterRule(localctx, 904, PostgreSQLParserRULE_executestmt) var _la int - p.SetState(8163) + p.SetState(8161) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -116766,7 +116567,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8125) + p.SetState(8123) p.Match(PostgreSQLParserEXECUTE) if p.HasError() { // Recognition error - abort rule @@ -116774,15 +116575,15 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8126) + p.SetState(8124) p.Name() } - p.SetState(8128) + p.SetState(8126) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 666, p.GetParserRuleContext()) == 1 { { - p.SetState(8127) + p.SetState(8125) p.Execute_param_clause() } @@ -116793,29 +116594,29 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8130) + p.SetState(8128) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8132) + p.SetState(8130) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&32773) != 0) { + if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-421)) & ^0x3f) == 0 && ((int64(1)<<(_la-421))&536870917) != 0) { { - p.SetState(8131) + p.SetState(8129) p.Opttemp() } } { - p.SetState(8134) + p.SetState(8132) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -116823,11 +116624,11 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8135) + p.SetState(8133) p.Create_as_target() } { - p.SetState(8136) + p.SetState(8134) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -116835,7 +116636,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8137) + p.SetState(8135) p.Match(PostgreSQLParserEXECUTE) if p.HasError() { // Recognition error - abort rule @@ -116843,27 +116644,27 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8138) + p.SetState(8136) p.Name() } - p.SetState(8140) + p.SetState(8138) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 668, p.GetParserRuleContext()) == 1 { { - p.SetState(8139) + p.SetState(8137) p.Execute_param_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(8143) + p.SetState(8141) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 669, p.GetParserRuleContext()) == 1 { { - p.SetState(8142) + p.SetState(8140) p.Opt_with_data() } @@ -116874,29 +116675,29 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8145) + p.SetState(8143) p.Match(PostgreSQLParserCREATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8147) + p.SetState(8145) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&32773) != 0) { + if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL || ((int64((_la-421)) & ^0x3f) == 0 && ((int64(1)<<(_la-421))&536870917) != 0) { { - p.SetState(8146) + p.SetState(8144) p.Opttemp() } } { - p.SetState(8149) + p.SetState(8147) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -116904,7 +116705,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8150) + p.SetState(8148) p.Match(PostgreSQLParserIF_P) if p.HasError() { // Recognition error - abort rule @@ -116912,7 +116713,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8151) + p.SetState(8149) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -116920,7 +116721,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8152) + p.SetState(8150) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -116928,11 +116729,11 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8153) + p.SetState(8151) p.Create_as_target() } { - p.SetState(8154) + p.SetState(8152) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -116940,7 +116741,7 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8155) + p.SetState(8153) p.Match(PostgreSQLParserEXECUTE) if p.HasError() { // Recognition error - abort rule @@ -116948,27 +116749,27 @@ func (p *PostgreSQLParser) Executestmt() (localctx IExecutestmtContext) { } } { - p.SetState(8156) + p.SetState(8154) p.Name() } - p.SetState(8158) + p.SetState(8156) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 671, p.GetParserRuleContext()) == 1 { { - p.SetState(8157) + p.SetState(8155) p.Execute_param_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(8161) + p.SetState(8159) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 672, p.GetParserRuleContext()) == 1 { { - p.SetState(8160) + p.SetState(8158) p.Opt_with_data() } @@ -117100,7 +116901,7 @@ func (p *PostgreSQLParser) Execute_param_clause() (localctx IExecute_param_claus p.EnterRule(localctx, 906, PostgreSQLParserRULE_execute_param_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8165) + p.SetState(8163) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -117108,11 +116909,11 @@ func (p *PostgreSQLParser) Execute_param_clause() (localctx IExecute_param_claus } } { - p.SetState(8166) + p.SetState(8164) p.Expr_list() } { - p.SetState(8167) + p.SetState(8165) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -117243,7 +117044,7 @@ func (s *DeallocatestmtContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { localctx = NewDeallocatestmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 908, PostgreSQLParserRULE_deallocatestmt) - p.SetState(8179) + p.SetState(8177) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -117253,7 +117054,7 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8169) + p.SetState(8167) p.Match(PostgreSQLParserDEALLOCATE) if p.HasError() { // Recognition error - abort rule @@ -117261,14 +117062,14 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { } } { - p.SetState(8170) + p.SetState(8168) p.Name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8171) + p.SetState(8169) p.Match(PostgreSQLParserDEALLOCATE) if p.HasError() { // Recognition error - abort rule @@ -117276,7 +117077,7 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { } } { - p.SetState(8172) + p.SetState(8170) p.Match(PostgreSQLParserPREPARE) if p.HasError() { // Recognition error - abort rule @@ -117284,14 +117085,14 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { } } { - p.SetState(8173) + p.SetState(8171) p.Name() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8174) + p.SetState(8172) p.Match(PostgreSQLParserDEALLOCATE) if p.HasError() { // Recognition error - abort rule @@ -117299,7 +117100,7 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { } } { - p.SetState(8175) + p.SetState(8173) p.Match(PostgreSQLParserALL) if p.HasError() { // Recognition error - abort rule @@ -117310,7 +117111,7 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8176) + p.SetState(8174) p.Match(PostgreSQLParserDEALLOCATE) if p.HasError() { // Recognition error - abort rule @@ -117318,7 +117119,7 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { } } { - p.SetState(8177) + p.SetState(8175) p.Match(PostgreSQLParserPREPARE) if p.HasError() { // Recognition error - abort rule @@ -117326,7 +117127,7 @@ func (p *PostgreSQLParser) Deallocatestmt() (localctx IDeallocatestmtContext) { } } { - p.SetState(8178) + p.SetState(8176) p.Match(PostgreSQLParserALL) if p.HasError() { // Recognition error - abort rule @@ -117527,7 +117328,7 @@ func (p *PostgreSQLParser) Insertstmt() (localctx IInsertstmtContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8182) + p.SetState(8180) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -117536,13 +117337,13 @@ func (p *PostgreSQLParser) Insertstmt() (localctx IInsertstmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(8181) + p.SetState(8179) p.Opt_with_clause() } } { - p.SetState(8184) + p.SetState(8182) p.Match(PostgreSQLParserINSERT) if p.HasError() { // Recognition error - abort rule @@ -117550,7 +117351,7 @@ func (p *PostgreSQLParser) Insertstmt() (localctx IInsertstmtContext) { } } { - p.SetState(8185) + p.SetState(8183) p.Match(PostgreSQLParserINTO) if p.HasError() { // Recognition error - abort rule @@ -117558,14 +117359,14 @@ func (p *PostgreSQLParser) Insertstmt() (localctx IInsertstmtContext) { } } { - p.SetState(8186) + p.SetState(8184) p.Insert_target() } { - p.SetState(8187) + p.SetState(8185) p.Insert_rest() } - p.SetState(8189) + p.SetState(8187) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -117574,12 +117375,12 @@ func (p *PostgreSQLParser) Insertstmt() (localctx IInsertstmtContext) { if _la == PostgreSQLParserON { { - p.SetState(8188) + p.SetState(8186) p.Opt_on_conflict() } } - p.SetState(8192) + p.SetState(8190) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -117588,7 +117389,7 @@ func (p *PostgreSQLParser) Insertstmt() (localctx IInsertstmtContext) { if _la == PostgreSQLParserRETURNING { { - p.SetState(8191) + p.SetState(8189) p.Returning_clause() } @@ -117728,10 +117529,10 @@ func (p *PostgreSQLParser) Insert_target() (localctx IInsert_targetContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8194) + p.SetState(8192) p.Qualified_name() } - p.SetState(8197) + p.SetState(8195) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -117740,7 +117541,7 @@ func (p *PostgreSQLParser) Insert_target() (localctx IInsert_targetContext) { if _la == PostgreSQLParserAS { { - p.SetState(8195) + p.SetState(8193) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -117748,7 +117549,7 @@ func (p *PostgreSQLParser) Insert_target() (localctx IInsert_targetContext) { } } { - p.SetState(8196) + p.SetState(8194) p.Colid() } @@ -117928,7 +117729,7 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { p.EnterRule(localctx, 914, PostgreSQLParserRULE_insert_rest) var _la int - p.SetState(8218) + p.SetState(8216) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -117938,14 +117739,14 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8199) + p.SetState(8197) p.Selectstmt() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8200) + p.SetState(8198) p.Match(PostgreSQLParserOVERRIDING) if p.HasError() { // Recognition error - abort rule @@ -117953,11 +117754,11 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { } } { - p.SetState(8201) + p.SetState(8199) p.Override_kind() } { - p.SetState(8202) + p.SetState(8200) p.Match(PostgreSQLParserVALUE_P) if p.HasError() { // Recognition error - abort rule @@ -117965,14 +117766,14 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { } } { - p.SetState(8203) + p.SetState(8201) p.Selectstmt() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8205) + p.SetState(8203) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -117980,18 +117781,18 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { } } { - p.SetState(8206) + p.SetState(8204) p.Insert_column_list() } { - p.SetState(8207) + p.SetState(8205) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8212) + p.SetState(8210) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118000,7 +117801,7 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { if _la == PostgreSQLParserOVERRIDING { { - p.SetState(8208) + p.SetState(8206) p.Match(PostgreSQLParserOVERRIDING) if p.HasError() { // Recognition error - abort rule @@ -118008,11 +117809,11 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { } } { - p.SetState(8209) + p.SetState(8207) p.Override_kind() } { - p.SetState(8210) + p.SetState(8208) p.Match(PostgreSQLParserVALUE_P) if p.HasError() { // Recognition error - abort rule @@ -118022,14 +117823,14 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { } { - p.SetState(8214) + p.SetState(8212) p.Selectstmt() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8216) + p.SetState(8214) p.Match(PostgreSQLParserDEFAULT) if p.HasError() { // Recognition error - abort rule @@ -118037,7 +117838,7 @@ func (p *PostgreSQLParser) Insert_rest() (localctx IInsert_restContext) { } } { - p.SetState(8217) + p.SetState(8215) p.Match(PostgreSQLParserVALUES) if p.HasError() { // Recognition error - abort rule @@ -118154,10 +117955,10 @@ func (p *PostgreSQLParser) Override_kind() (localctx IOverride_kindContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8220) + p.SetState(8218) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserUSER || _la == PostgreSQLParserSYSTEM_P) { + if !(_la == PostgreSQLParserSYSTEM_P || _la == PostgreSQLParserUSER) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -118313,10 +118114,10 @@ func (p *PostgreSQLParser) Insert_column_list() (localctx IInsert_column_listCon p.EnterOuterAlt(localctx, 1) { - p.SetState(8222) + p.SetState(8220) p.Insert_column_item() } - p.SetState(8227) + p.SetState(8225) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118325,7 +118126,7 @@ func (p *PostgreSQLParser) Insert_column_list() (localctx IInsert_column_listCon for _la == PostgreSQLParserCOMMA { { - p.SetState(8223) + p.SetState(8221) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -118333,11 +118134,11 @@ func (p *PostgreSQLParser) Insert_column_list() (localctx IInsert_column_listCon } } { - p.SetState(8224) + p.SetState(8222) p.Insert_column_item() } - p.SetState(8229) + p.SetState(8227) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118472,11 +118273,11 @@ func (p *PostgreSQLParser) Insert_column_item() (localctx IInsert_column_itemCon p.EnterRule(localctx, 920, PostgreSQLParserRULE_insert_column_item) p.EnterOuterAlt(localctx, 1) { - p.SetState(8230) + p.SetState(8228) p.Colid() } { - p.SetState(8231) + p.SetState(8229) p.Opt_indirection() } @@ -118656,7 +118457,7 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(8233) + p.SetState(8231) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -118664,36 +118465,36 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) } } { - p.SetState(8234) + p.SetState(8232) p.Match(PostgreSQLParserCONFLICT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8236) + p.SetState(8234) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserOPEN_PAREN || _la == PostgreSQLParserON { + if _la == PostgreSQLParserON || _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(8235) + p.SetState(8233) p.Opt_conf_expr() } } { - p.SetState(8238) + p.SetState(8236) p.Match(PostgreSQLParserDO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8246) + p.SetState(8244) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118702,7 +118503,7 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) switch p.GetTokenStream().LA(1) { case PostgreSQLParserUPDATE: { - p.SetState(8239) + p.SetState(8237) p.Match(PostgreSQLParserUPDATE) if p.HasError() { // Recognition error - abort rule @@ -118710,7 +118511,7 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) } } { - p.SetState(8240) + p.SetState(8238) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -118718,10 +118519,10 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) } } { - p.SetState(8241) + p.SetState(8239) p.Set_clause_list() } - p.SetState(8243) + p.SetState(8241) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118730,7 +118531,7 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) if _la == PostgreSQLParserWHERE { { - p.SetState(8242) + p.SetState(8240) p.Where_clause() } @@ -118738,7 +118539,7 @@ func (p *PostgreSQLParser) Opt_on_conflict() (localctx IOpt_on_conflictContext) case PostgreSQLParserNOTHING: { - p.SetState(8245) + p.SetState(8243) p.Match(PostgreSQLParserNOTHING) if p.HasError() { // Recognition error - abort rule @@ -118915,7 +118716,7 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { p.EnterRule(localctx, 924, PostgreSQLParserRULE_opt_conf_expr) var _la int - p.SetState(8257) + p.SetState(8255) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118925,7 +118726,7 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { case PostgreSQLParserOPEN_PAREN: p.EnterOuterAlt(localctx, 1) { - p.SetState(8248) + p.SetState(8246) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -118933,18 +118734,18 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { } } { - p.SetState(8249) + p.SetState(8247) p.Index_params() } { - p.SetState(8250) + p.SetState(8248) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8252) + p.SetState(8250) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -118953,7 +118754,7 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { if _la == PostgreSQLParserWHERE { { - p.SetState(8251) + p.SetState(8249) p.Where_clause() } @@ -118962,7 +118763,7 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { case PostgreSQLParserON: p.EnterOuterAlt(localctx, 2) { - p.SetState(8254) + p.SetState(8252) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -118970,7 +118771,7 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { } } { - p.SetState(8255) + p.SetState(8253) p.Match(PostgreSQLParserCONSTRAINT) if p.HasError() { // Recognition error - abort rule @@ -118978,7 +118779,7 @@ func (p *PostgreSQLParser) Opt_conf_expr() (localctx IOpt_conf_exprContext) { } } { - p.SetState(8256) + p.SetState(8254) p.Name() } @@ -119102,7 +118903,7 @@ func (p *PostgreSQLParser) Returning_clause() (localctx IReturning_clauseContext p.EnterRule(localctx, 926, PostgreSQLParserRULE_returning_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8259) + p.SetState(8257) p.Match(PostgreSQLParserRETURNING) if p.HasError() { // Recognition error - abort rule @@ -119110,7 +118911,7 @@ func (p *PostgreSQLParser) Returning_clause() (localctx IReturning_clauseContext } } { - p.SetState(8260) + p.SetState(8258) p.Target_list() } @@ -119421,7 +119222,7 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8263) + p.SetState(8261) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119430,13 +119231,13 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(8262) + p.SetState(8260) p.With_clause() } } { - p.SetState(8265) + p.SetState(8263) p.Match(PostgreSQLParserMERGE) if p.HasError() { // Recognition error - abort rule @@ -119444,14 +119245,14 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { } } { - p.SetState(8266) + p.SetState(8264) p.Match(PostgreSQLParserINTO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8268) + p.SetState(8266) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119460,7 +119261,7 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { if _la == PostgreSQLParserONLY { { - p.SetState(8267) + p.SetState(8265) p.Match(PostgreSQLParserONLY) if p.HasError() { // Recognition error - abort rule @@ -119470,32 +119271,32 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { } { - p.SetState(8270) + p.SetState(8268) p.Qualified_name() } - p.SetState(8272) + p.SetState(8270) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027080864595968) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119886644226) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(8271) + p.SetState(8269) p.Alias_clause() } } { - p.SetState(8274) + p.SetState(8272) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8277) + p.SetState(8275) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119504,13 +119305,13 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserOPEN_PAREN: { - p.SetState(8275) + p.SetState(8273) p.Select_with_parens() } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(8276) + p.SetState(8274) p.Qualified_name() } @@ -119518,22 +119319,22 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } - p.SetState(8280) + p.SetState(8278) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027080864595968) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119886644226) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(8279) + p.SetState(8277) p.Alias_clause() } } { - p.SetState(8282) + p.SetState(8280) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -119541,10 +119342,10 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { } } { - p.SetState(8283) + p.SetState(8281) p.A_expr() } - p.SetState(8292) + p.SetState(8290) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119553,15 +119354,15 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 694, p.GetParserRuleContext()) { case 1: { - p.SetState(8284) + p.SetState(8282) p.Merge_insert_clause() } - p.SetState(8286) + p.SetState(8284) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 692, p.GetParserRuleContext()) == 1 { { - p.SetState(8285) + p.SetState(8283) p.Merge_update_clause() } @@ -119571,15 +119372,15 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { case 2: { - p.SetState(8288) + p.SetState(8286) p.Merge_update_clause() } - p.SetState(8290) + p.SetState(8288) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 693, p.GetParserRuleContext()) == 1 { { - p.SetState(8289) + p.SetState(8287) p.Merge_insert_clause() } @@ -119590,7 +119391,7 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { case antlr.ATNInvalidAltNumber: goto errorExit } - p.SetState(8295) + p.SetState(8293) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119599,7 +119400,7 @@ func (p *PostgreSQLParser) Mergestmt() (localctx IMergestmtContext) { if _la == PostgreSQLParserWHEN { { - p.SetState(8294) + p.SetState(8292) p.Merge_delete_clause() } @@ -119791,7 +119592,7 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC p.EnterOuterAlt(localctx, 1) { - p.SetState(8297) + p.SetState(8295) p.Match(PostgreSQLParserWHEN) if p.HasError() { // Recognition error - abort rule @@ -119799,7 +119600,7 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC } } { - p.SetState(8298) + p.SetState(8296) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -119807,14 +119608,14 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC } } { - p.SetState(8299) + p.SetState(8297) p.Match(PostgreSQLParserMATCHED) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8302) + p.SetState(8300) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119823,7 +119624,7 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC if _la == PostgreSQLParserAND { { - p.SetState(8300) + p.SetState(8298) p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule @@ -119831,12 +119632,12 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC } } { - p.SetState(8301) + p.SetState(8299) p.A_expr() } } - p.SetState(8305) + p.SetState(8303) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119845,7 +119646,7 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC if _la == PostgreSQLParserTHEN { { - p.SetState(8304) + p.SetState(8302) p.Match(PostgreSQLParserTHEN) if p.HasError() { // Recognition error - abort rule @@ -119855,14 +119656,14 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC } { - p.SetState(8307) + p.SetState(8305) p.Match(PostgreSQLParserINSERT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8312) + p.SetState(8310) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -119871,7 +119672,7 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC if _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(8308) + p.SetState(8306) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -119879,11 +119680,11 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC } } { - p.SetState(8309) + p.SetState(8307) p.Insert_column_list() } { - p.SetState(8310) + p.SetState(8308) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -119893,7 +119694,7 @@ func (p *PostgreSQLParser) Merge_insert_clause() (localctx IMerge_insert_clauseC } { - p.SetState(8314) + p.SetState(8312) p.Values_clause() } @@ -120056,7 +119857,7 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC p.EnterOuterAlt(localctx, 1) { - p.SetState(8316) + p.SetState(8314) p.Match(PostgreSQLParserWHEN) if p.HasError() { // Recognition error - abort rule @@ -120064,14 +119865,14 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC } } { - p.SetState(8317) + p.SetState(8315) p.Match(PostgreSQLParserMATCHED) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8320) + p.SetState(8318) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120080,7 +119881,7 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC if _la == PostgreSQLParserAND { { - p.SetState(8318) + p.SetState(8316) p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule @@ -120088,12 +119889,12 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC } } { - p.SetState(8319) + p.SetState(8317) p.A_expr() } } - p.SetState(8323) + p.SetState(8321) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120102,7 +119903,7 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC if _la == PostgreSQLParserTHEN { { - p.SetState(8322) + p.SetState(8320) p.Match(PostgreSQLParserTHEN) if p.HasError() { // Recognition error - abort rule @@ -120112,7 +119913,7 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC } { - p.SetState(8325) + p.SetState(8323) p.Match(PostgreSQLParserUPDATE) if p.HasError() { // Recognition error - abort rule @@ -120120,7 +119921,7 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC } } { - p.SetState(8326) + p.SetState(8324) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -120128,7 +119929,7 @@ func (p *PostgreSQLParser) Merge_update_clause() (localctx IMerge_update_clauseC } } { - p.SetState(8327) + p.SetState(8325) p.Set_clause_list() } @@ -120247,7 +120048,7 @@ func (p *PostgreSQLParser) Merge_delete_clause() (localctx IMerge_delete_clauseC p.EnterOuterAlt(localctx, 1) { - p.SetState(8329) + p.SetState(8327) p.Match(PostgreSQLParserWHEN) if p.HasError() { // Recognition error - abort rule @@ -120255,14 +120056,14 @@ func (p *PostgreSQLParser) Merge_delete_clause() (localctx IMerge_delete_clauseC } } { - p.SetState(8330) + p.SetState(8328) p.Match(PostgreSQLParserMATCHED) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8332) + p.SetState(8330) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120271,7 +120072,7 @@ func (p *PostgreSQLParser) Merge_delete_clause() (localctx IMerge_delete_clauseC if _la == PostgreSQLParserTHEN { { - p.SetState(8331) + p.SetState(8329) p.Match(PostgreSQLParserTHEN) if p.HasError() { // Recognition error - abort rule @@ -120281,7 +120082,7 @@ func (p *PostgreSQLParser) Merge_delete_clause() (localctx IMerge_delete_clauseC } { - p.SetState(8334) + p.SetState(8332) p.Match(PostgreSQLParserDELETE_P) if p.HasError() { // Recognition error - abort rule @@ -120478,7 +120279,7 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8337) + p.SetState(8335) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120487,13 +120288,13 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(8336) + p.SetState(8334) p.Opt_with_clause() } } { - p.SetState(8339) + p.SetState(8337) p.Match(PostgreSQLParserDELETE_P) if p.HasError() { // Recognition error - abort rule @@ -120501,7 +120302,7 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { } } { - p.SetState(8340) + p.SetState(8338) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -120509,10 +120310,10 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { } } { - p.SetState(8341) + p.SetState(8339) p.Relation_expr_opt_alias() } - p.SetState(8343) + p.SetState(8341) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120521,12 +120322,12 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { if _la == PostgreSQLParserUSING { { - p.SetState(8342) + p.SetState(8340) p.Using_clause() } } - p.SetState(8346) + p.SetState(8344) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120535,12 +120336,12 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { if _la == PostgreSQLParserWHERE { { - p.SetState(8345) + p.SetState(8343) p.Where_or_current_clause() } } - p.SetState(8349) + p.SetState(8347) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120549,7 +120350,7 @@ func (p *PostgreSQLParser) Deletestmt() (localctx IDeletestmtContext) { if _la == PostgreSQLParserRETURNING { { - p.SetState(8348) + p.SetState(8346) p.Returning_clause() } @@ -120670,7 +120471,7 @@ func (p *PostgreSQLParser) Using_clause() (localctx IUsing_clauseContext) { p.EnterRule(localctx, 938, PostgreSQLParserRULE_using_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8351) + p.SetState(8349) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -120678,7 +120479,7 @@ func (p *PostgreSQLParser) Using_clause() (localctx IUsing_clauseContext) { } } { - p.SetState(8352) + p.SetState(8350) p.From_list() } @@ -120850,19 +120651,19 @@ func (p *PostgreSQLParser) Lockstmt() (localctx ILockstmtContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8354) + p.SetState(8352) p.Match(PostgreSQLParserLOCK_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8356) + p.SetState(8354) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 706, p.GetParserRuleContext()) == 1 { { - p.SetState(8355) + p.SetState(8353) p.Opt_table() } @@ -120870,10 +120671,10 @@ func (p *PostgreSQLParser) Lockstmt() (localctx ILockstmtContext) { goto errorExit } { - p.SetState(8358) + p.SetState(8356) p.Relation_expr_list() } - p.SetState(8360) + p.SetState(8358) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120882,12 +120683,12 @@ func (p *PostgreSQLParser) Lockstmt() (localctx ILockstmtContext) { if _la == PostgreSQLParserIN_P { { - p.SetState(8359) + p.SetState(8357) p.Opt_lock() } } - p.SetState(8363) + p.SetState(8361) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -120896,7 +120697,7 @@ func (p *PostgreSQLParser) Lockstmt() (localctx ILockstmtContext) { if _la == PostgreSQLParserNOWAIT { { - p.SetState(8362) + p.SetState(8360) p.Opt_nowait() } @@ -121022,7 +120823,7 @@ func (p *PostgreSQLParser) Opt_lock() (localctx IOpt_lockContext) { p.EnterRule(localctx, 942, PostgreSQLParserRULE_opt_lock) p.EnterOuterAlt(localctx, 1) { - p.SetState(8365) + p.SetState(8363) p.Match(PostgreSQLParserIN_P) if p.HasError() { // Recognition error - abort rule @@ -121030,11 +120831,11 @@ func (p *PostgreSQLParser) Opt_lock() (localctx IOpt_lockContext) { } } { - p.SetState(8366) + p.SetState(8364) p.Lock_type() } { - p.SetState(8367) + p.SetState(8365) p.Match(PostgreSQLParserMODE) if p.HasError() { // Recognition error - abort rule @@ -121160,7 +120961,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { p.EnterRule(localctx, 944, PostgreSQLParserRULE_lock_type) var _la int - p.SetState(8381) + p.SetState(8379) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121170,7 +120971,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { case PostgreSQLParserACCESS: p.EnterOuterAlt(localctx, 1) { - p.SetState(8369) + p.SetState(8367) p.Match(PostgreSQLParserACCESS) if p.HasError() { // Recognition error - abort rule @@ -121178,7 +120979,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { } } { - p.SetState(8370) + p.SetState(8368) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserEXCLUSIVE || _la == PostgreSQLParserSHARE) { @@ -121192,7 +120993,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { case PostgreSQLParserROW: p.EnterOuterAlt(localctx, 2) { - p.SetState(8371) + p.SetState(8369) p.Match(PostgreSQLParserROW) if p.HasError() { // Recognition error - abort rule @@ -121200,7 +121001,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { } } { - p.SetState(8372) + p.SetState(8370) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserEXCLUSIVE || _la == PostgreSQLParserSHARE) { @@ -121214,14 +121015,14 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { case PostgreSQLParserSHARE: p.EnterOuterAlt(localctx, 3) { - p.SetState(8373) + p.SetState(8371) p.Match(PostgreSQLParserSHARE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8378) + p.SetState(8376) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121229,7 +121030,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserUPDATE: { - p.SetState(8374) + p.SetState(8372) p.Match(PostgreSQLParserUPDATE) if p.HasError() { // Recognition error - abort rule @@ -121237,7 +121038,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { } } { - p.SetState(8375) + p.SetState(8373) p.Match(PostgreSQLParserEXCLUSIVE) if p.HasError() { // Recognition error - abort rule @@ -121247,7 +121048,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { case PostgreSQLParserROW: { - p.SetState(8376) + p.SetState(8374) p.Match(PostgreSQLParserROW) if p.HasError() { // Recognition error - abort rule @@ -121255,7 +121056,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { } } { - p.SetState(8377) + p.SetState(8375) p.Match(PostgreSQLParserEXCLUSIVE) if p.HasError() { // Recognition error - abort rule @@ -121271,7 +121072,7 @@ func (p *PostgreSQLParser) Lock_type() (localctx ILock_typeContext) { case PostgreSQLParserEXCLUSIVE: p.EnterOuterAlt(localctx, 4) { - p.SetState(8380) + p.SetState(8378) p.Match(PostgreSQLParserEXCLUSIVE) if p.HasError() { // Recognition error - abort rule @@ -121382,7 +121183,7 @@ func (p *PostgreSQLParser) Opt_nowait() (localctx IOpt_nowaitContext) { p.EnterRule(localctx, 946, PostgreSQLParserRULE_opt_nowait) p.EnterOuterAlt(localctx, 1) { - p.SetState(8383) + p.SetState(8381) p.Match(PostgreSQLParserNOWAIT) if p.HasError() { // Recognition error - abort rule @@ -121496,7 +121297,7 @@ func (s *Opt_nowait_or_skipContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Opt_nowait_or_skip() (localctx IOpt_nowait_or_skipContext) { localctx = NewOpt_nowait_or_skipContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 948, PostgreSQLParserRULE_opt_nowait_or_skip) - p.SetState(8388) + p.SetState(8386) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121506,7 +121307,7 @@ func (p *PostgreSQLParser) Opt_nowait_or_skip() (localctx IOpt_nowait_or_skipCon case PostgreSQLParserNOWAIT: p.EnterOuterAlt(localctx, 1) { - p.SetState(8385) + p.SetState(8383) p.Match(PostgreSQLParserNOWAIT) if p.HasError() { // Recognition error - abort rule @@ -121517,7 +121318,7 @@ func (p *PostgreSQLParser) Opt_nowait_or_skip() (localctx IOpt_nowait_or_skipCon case PostgreSQLParserSKIP_P: p.EnterOuterAlt(localctx, 2) { - p.SetState(8386) + p.SetState(8384) p.Match(PostgreSQLParserSKIP_P) if p.HasError() { // Recognition error - abort rule @@ -121525,7 +121326,7 @@ func (p *PostgreSQLParser) Opt_nowait_or_skip() (localctx IOpt_nowait_or_skipCon } } { - p.SetState(8387) + p.SetState(8385) p.Match(PostgreSQLParserLOCKED) if p.HasError() { // Recognition error - abort rule @@ -121744,7 +121545,7 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8391) + p.SetState(8389) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121753,13 +121554,13 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { if _la == PostgreSQLParserWITH { { - p.SetState(8390) + p.SetState(8388) p.Opt_with_clause() } } { - p.SetState(8393) + p.SetState(8391) p.Match(PostgreSQLParserUPDATE) if p.HasError() { // Recognition error - abort rule @@ -121767,11 +121568,11 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { } } { - p.SetState(8394) + p.SetState(8392) p.Relation_expr_opt_alias() } { - p.SetState(8395) + p.SetState(8393) p.Match(PostgreSQLParserSET) if p.HasError() { // Recognition error - abort rule @@ -121779,10 +121580,10 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { } } { - p.SetState(8396) + p.SetState(8394) p.Set_clause_list() } - p.SetState(8398) + p.SetState(8396) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121791,12 +121592,12 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { if _la == PostgreSQLParserFROM { { - p.SetState(8397) + p.SetState(8395) p.From_clause() } } - p.SetState(8401) + p.SetState(8399) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121805,12 +121606,12 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { if _la == PostgreSQLParserWHERE { { - p.SetState(8400) + p.SetState(8398) p.Where_or_current_clause() } } - p.SetState(8404) + p.SetState(8402) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121819,7 +121620,7 @@ func (p *PostgreSQLParser) Updatestmt() (localctx IUpdatestmtContext) { if _la == PostgreSQLParserRETURNING { { - p.SetState(8403) + p.SetState(8401) p.Returning_clause() } @@ -121973,10 +121774,10 @@ func (p *PostgreSQLParser) Set_clause_list() (localctx ISet_clause_listContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(8406) + p.SetState(8404) p.Set_clause() } - p.SetState(8411) + p.SetState(8409) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -121985,7 +121786,7 @@ func (p *PostgreSQLParser) Set_clause_list() (localctx ISet_clause_listContext) for _la == PostgreSQLParserCOMMA { { - p.SetState(8407) + p.SetState(8405) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -121993,11 +121794,11 @@ func (p *PostgreSQLParser) Set_clause_list() (localctx ISet_clause_listContext) } } { - p.SetState(8408) + p.SetState(8406) p.Set_clause() } - p.SetState(8413) + p.SetState(8411) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -122162,21 +121963,21 @@ func (s *Set_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Set_clause() (localctx ISet_clauseContext) { localctx = NewSet_clauseContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 954, PostgreSQLParserRULE_set_clause) - p.SetState(8424) + p.SetState(8422) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { - p.SetState(8414) + p.SetState(8412) p.Set_target() } { - p.SetState(8415) + p.SetState(8413) p.Match(PostgreSQLParserEQUAL) if p.HasError() { // Recognition error - abort rule @@ -122184,14 +121985,14 @@ func (p *PostgreSQLParser) Set_clause() (localctx ISet_clauseContext) { } } { - p.SetState(8416) + p.SetState(8414) p.A_expr() } case PostgreSQLParserOPEN_PAREN: p.EnterOuterAlt(localctx, 2) { - p.SetState(8418) + p.SetState(8416) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -122199,11 +122000,11 @@ func (p *PostgreSQLParser) Set_clause() (localctx ISet_clauseContext) { } } { - p.SetState(8419) + p.SetState(8417) p.Set_target_list() } { - p.SetState(8420) + p.SetState(8418) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -122211,7 +122012,7 @@ func (p *PostgreSQLParser) Set_clause() (localctx ISet_clauseContext) { } } { - p.SetState(8421) + p.SetState(8419) p.Match(PostgreSQLParserEQUAL) if p.HasError() { // Recognition error - abort rule @@ -122219,7 +122020,7 @@ func (p *PostgreSQLParser) Set_clause() (localctx ISet_clauseContext) { } } { - p.SetState(8422) + p.SetState(8420) p.A_expr() } @@ -122355,11 +122156,11 @@ func (p *PostgreSQLParser) Set_target() (localctx ISet_targetContext) { p.EnterRule(localctx, 956, PostgreSQLParserRULE_set_target) p.EnterOuterAlt(localctx, 1) { - p.SetState(8426) + p.SetState(8424) p.Colid() } { - p.SetState(8427) + p.SetState(8425) p.Opt_indirection() } @@ -122511,10 +122312,10 @@ func (p *PostgreSQLParser) Set_target_list() (localctx ISet_target_listContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(8429) + p.SetState(8427) p.Set_target() } - p.SetState(8434) + p.SetState(8432) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -122523,7 +122324,7 @@ func (p *PostgreSQLParser) Set_target_list() (localctx ISet_target_listContext) for _la == PostgreSQLParserCOMMA { { - p.SetState(8430) + p.SetState(8428) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -122531,11 +122332,11 @@ func (p *PostgreSQLParser) Set_target_list() (localctx ISet_target_listContext) } } { - p.SetState(8431) + p.SetState(8429) p.Set_target() } - p.SetState(8436) + p.SetState(8434) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -122721,7 +122522,7 @@ func (p *PostgreSQLParser) Declarecursorstmt() (localctx IDeclarecursorstmtConte p.EnterOuterAlt(localctx, 1) { - p.SetState(8437) + p.SetState(8435) p.Match(PostgreSQLParserDECLARE) if p.HasError() { // Recognition error - abort rule @@ -122729,22 +122530,22 @@ func (p *PostgreSQLParser) Declarecursorstmt() (localctx IDeclarecursorstmtConte } } { - p.SetState(8438) + p.SetState(8436) p.Cursor_name() } { - p.SetState(8439) + p.SetState(8437) p.Cursor_options() } { - p.SetState(8440) + p.SetState(8438) p.Match(PostgreSQLParserCURSOR) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8442) + p.SetState(8440) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -122753,13 +122554,13 @@ func (p *PostgreSQLParser) Declarecursorstmt() (localctx IDeclarecursorstmtConte if _la == PostgreSQLParserWITH || _la == PostgreSQLParserWITHOUT { { - p.SetState(8441) + p.SetState(8439) p.Opt_hold() } } { - p.SetState(8444) + p.SetState(8442) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -122767,7 +122568,7 @@ func (p *PostgreSQLParser) Declarecursorstmt() (localctx IDeclarecursorstmtConte } } { - p.SetState(8445) + p.SetState(8443) p.Selectstmt() } @@ -122881,7 +122682,7 @@ func (p *PostgreSQLParser) Cursor_name() (localctx ICursor_nameContext) { p.EnterRule(localctx, 962, PostgreSQLParserRULE_cursor_name) p.EnterOuterAlt(localctx, 1) { - p.SetState(8447) + p.SetState(8445) p.Name() } @@ -123019,7 +122820,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8456) + p.SetState(8454) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123027,7 +122828,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { _la = p.GetTokenStream().LA(1) for _la == PostgreSQLParserBINARY || _la == PostgreSQLParserINSENSITIVE || _la == PostgreSQLParserNO || _la == PostgreSQLParserSCROLL { - p.SetState(8454) + p.SetState(8452) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123036,7 +122837,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserNO: { - p.SetState(8449) + p.SetState(8447) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -123044,7 +122845,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { } } { - p.SetState(8450) + p.SetState(8448) p.Match(PostgreSQLParserSCROLL) if p.HasError() { // Recognition error - abort rule @@ -123054,7 +122855,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { case PostgreSQLParserSCROLL: { - p.SetState(8451) + p.SetState(8449) p.Match(PostgreSQLParserSCROLL) if p.HasError() { // Recognition error - abort rule @@ -123064,7 +122865,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { case PostgreSQLParserBINARY: { - p.SetState(8452) + p.SetState(8450) p.Match(PostgreSQLParserBINARY) if p.HasError() { // Recognition error - abort rule @@ -123074,7 +122875,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { case PostgreSQLParserINSENSITIVE: { - p.SetState(8453) + p.SetState(8451) p.Match(PostgreSQLParserINSENSITIVE) if p.HasError() { // Recognition error - abort rule @@ -123087,7 +122888,7 @@ func (p *PostgreSQLParser) Cursor_options() (localctx ICursor_optionsContext) { goto errorExit } - p.SetState(8458) + p.SetState(8456) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123201,7 +123002,7 @@ func (s *Opt_holdContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Opt_hold() (localctx IOpt_holdContext) { localctx = NewOpt_holdContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 966, PostgreSQLParserRULE_opt_hold) - p.SetState(8463) + p.SetState(8461) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123211,7 +123012,7 @@ func (p *PostgreSQLParser) Opt_hold() (localctx IOpt_holdContext) { case PostgreSQLParserWITH: p.EnterOuterAlt(localctx, 1) { - p.SetState(8459) + p.SetState(8457) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -123219,7 +123020,7 @@ func (p *PostgreSQLParser) Opt_hold() (localctx IOpt_holdContext) { } } { - p.SetState(8460) + p.SetState(8458) p.Match(PostgreSQLParserHOLD) if p.HasError() { // Recognition error - abort rule @@ -123230,7 +123031,7 @@ func (p *PostgreSQLParser) Opt_hold() (localctx IOpt_holdContext) { case PostgreSQLParserWITHOUT: p.EnterOuterAlt(localctx, 2) { - p.SetState(8461) + p.SetState(8459) p.Match(PostgreSQLParserWITHOUT) if p.HasError() { // Recognition error - abort rule @@ -123238,7 +123039,7 @@ func (p *PostgreSQLParser) Opt_hold() (localctx IOpt_holdContext) { } } { - p.SetState(8462) + p.SetState(8460) p.Match(PostgreSQLParserHOLD) if p.HasError() { // Recognition error - abort rule @@ -123376,7 +123177,7 @@ func (s *SelectstmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Selectstmt() (localctx ISelectstmtContext) { localctx = NewSelectstmtContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 968, PostgreSQLParserRULE_selectstmt) - p.SetState(8467) + p.SetState(8465) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123386,14 +123187,14 @@ func (p *PostgreSQLParser) Selectstmt() (localctx ISelectstmtContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8465) + p.SetState(8463) p.Select_no_parens() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8466) + p.SetState(8464) p.Select_with_parens() } @@ -123536,7 +123337,7 @@ func (s *Select_with_parensContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Select_with_parens() (localctx ISelect_with_parensContext) { localctx = NewSelect_with_parensContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 970, PostgreSQLParserRULE_select_with_parens) - p.SetState(8477) + p.SetState(8475) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123546,7 +123347,7 @@ func (p *PostgreSQLParser) Select_with_parens() (localctx ISelect_with_parensCon case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8469) + p.SetState(8467) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -123554,11 +123355,11 @@ func (p *PostgreSQLParser) Select_with_parens() (localctx ISelect_with_parensCon } } { - p.SetState(8470) + p.SetState(8468) p.Select_no_parens() } { - p.SetState(8471) + p.SetState(8469) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -123569,7 +123370,7 @@ func (p *PostgreSQLParser) Select_with_parens() (localctx ISelect_with_parensCon case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8473) + p.SetState(8471) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -123577,11 +123378,11 @@ func (p *PostgreSQLParser) Select_with_parens() (localctx ISelect_with_parensCon } } { - p.SetState(8474) + p.SetState(8472) p.Select_with_parens() } { - p.SetState(8475) + p.SetState(8473) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -123806,7 +123607,7 @@ func (p *PostgreSQLParser) Select_no_parens() (localctx ISelect_no_parensContext var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8480) + p.SetState(8478) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123815,16 +123616,16 @@ func (p *PostgreSQLParser) Select_no_parens() (localctx ISelect_no_parensContext if _la == PostgreSQLParserWITH { { - p.SetState(8479) + p.SetState(8477) p.With_clause() } } { - p.SetState(8482) + p.SetState(8480) p.Select_clause() } - p.SetState(8484) + p.SetState(8482) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123833,25 +123634,25 @@ func (p *PostgreSQLParser) Select_no_parens() (localctx ISelect_no_parensContext if _la == PostgreSQLParserORDER { { - p.SetState(8483) + p.SetState(8481) p.Opt_sort_clause() } } - p.SetState(8494) + p.SetState(8492) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 729, p.GetParserRuleContext()) == 1 { { - p.SetState(8486) + p.SetState(8484) p.For_locking_clause() } - p.SetState(8488) + p.SetState(8486) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 727, p.GetParserRuleContext()) == 1 { { - p.SetState(8487) + p.SetState(8485) p.Opt_select_limit() } @@ -123863,10 +123664,10 @@ func (p *PostgreSQLParser) Select_no_parens() (localctx ISelect_no_parensContext goto errorExit } else if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 729, p.GetParserRuleContext()) == 2 { { - p.SetState(8490) + p.SetState(8488) p.Select_limit() } - p.SetState(8492) + p.SetState(8490) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -123875,7 +123676,7 @@ func (p *PostgreSQLParser) Select_no_parens() (localctx ISelect_no_parensContext if _la == PostgreSQLParserFOR { { - p.SetState(8491) + p.SetState(8489) p.Opt_for_locking_clause() } @@ -124086,10 +123887,10 @@ func (p *PostgreSQLParser) Select_clause() (localctx ISelect_clauseContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8496) + p.SetState(8494) p.Simple_select_intersect() } - p.SetState(8504) + p.SetState(8502) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124098,7 +123899,7 @@ func (p *PostgreSQLParser) Select_clause() (localctx ISelect_clauseContext) { for _la == PostgreSQLParserEXCEPT || _la == PostgreSQLParserUNION { { - p.SetState(8497) + p.SetState(8495) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserEXCEPT || _la == PostgreSQLParserUNION) { @@ -124108,7 +123909,7 @@ func (p *PostgreSQLParser) Select_clause() (localctx ISelect_clauseContext) { p.Consume() } } - p.SetState(8499) + p.SetState(8497) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124117,17 +123918,17 @@ func (p *PostgreSQLParser) Select_clause() (localctx ISelect_clauseContext) { if _la == PostgreSQLParserALL || _la == PostgreSQLParserDISTINCT { { - p.SetState(8498) + p.SetState(8496) p.All_or_distinct() } } { - p.SetState(8501) + p.SetState(8499) p.Simple_select_intersect() } - p.SetState(8506) + p.SetState(8504) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124326,10 +124127,10 @@ func (p *PostgreSQLParser) Simple_select_intersect() (localctx ISimple_select_in p.EnterOuterAlt(localctx, 1) { - p.SetState(8507) + p.SetState(8505) p.Simple_select_pramary() } - p.SetState(8515) + p.SetState(8513) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124338,14 +124139,14 @@ func (p *PostgreSQLParser) Simple_select_intersect() (localctx ISimple_select_in for _la == PostgreSQLParserINTERSECT { { - p.SetState(8508) + p.SetState(8506) p.Match(PostgreSQLParserINTERSECT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8510) + p.SetState(8508) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124354,17 +124155,17 @@ func (p *PostgreSQLParser) Simple_select_intersect() (localctx ISimple_select_in if _la == PostgreSQLParserALL || _la == PostgreSQLParserDISTINCT { { - p.SetState(8509) + p.SetState(8507) p.All_or_distinct() } } { - p.SetState(8512) + p.SetState(8510) p.Simple_select_pramary() } - p.SetState(8517) + p.SetState(8515) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124722,7 +124523,7 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram p.EnterRule(localctx, 978, PostgreSQLParserRULE_simple_select_pramary) var _la int - p.SetState(8555) + p.SetState(8553) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124732,22 +124533,22 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram case PostgreSQLParserSELECT: p.EnterOuterAlt(localctx, 1) { - p.SetState(8518) + p.SetState(8516) p.Match(PostgreSQLParserSELECT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8531) + p.SetState(8529) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserEOF, PostgreSQLParserOPEN_PAREN, PostgreSQLParserCLOSE_PAREN, PostgreSQLParserSEMI, PostgreSQLParserSTAR, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserALL, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCREATE, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserEXCEPT, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserFOR, PostgreSQLParserFROM, PostgreSQLParserGRANT, PostgreSQLParserGROUP_P, PostgreSQLParserHAVING, PostgreSQLParserINTERSECT, PostgreSQLParserINTO, PostgreSQLParserLIMIT, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserOFFSET, PostgreSQLParserON, PostgreSQLParserORDER, PostgreSQLParserRETURNING, PostgreSQLParserSELECT, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserWHERE, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_VALUE, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserRIGHT, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserEND_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserLOOP, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserMetaCommand, PostgreSQLParserEscapeStringConstant: - p.SetState(8520) + case PostgreSQLParserEOF, PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALL, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCREATE, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserEND_P, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCEPT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFOR, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFROM, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANT, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUP_P, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHAVING, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERSECT, PostgreSQLParserINTERVAL, PostgreSQLParserINTO, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLIMIT, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOFFSET, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDER, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNING, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSELECT, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHERE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserOPEN_PAREN, PostgreSQLParserCLOSE_PAREN, PostgreSQLParserSEMI, PostgreSQLParserSTAR, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserLOOP, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserMetaCommand, PostgreSQLParserEscapeStringConstant: + p.SetState(8518) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124756,29 +124557,29 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram if _la == PostgreSQLParserALL { { - p.SetState(8519) + p.SetState(8517) p.Opt_all_clause() } } - p.SetState(8523) + p.SetState(8521) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 735, p.GetParserRuleContext()) == 1 { { - p.SetState(8522) + p.SetState(8520) p.Into_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(8526) + p.SetState(8524) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 736, p.GetParserRuleContext()) == 1 { { - p.SetState(8525) + p.SetState(8523) p.Opt_target_list() } @@ -124788,11 +124589,11 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram case PostgreSQLParserDISTINCT: { - p.SetState(8528) + p.SetState(8526) p.Distinct_clause() } { - p.SetState(8529) + p.SetState(8527) p.Target_list() } @@ -124800,19 +124601,19 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } - p.SetState(8534) + p.SetState(8532) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 738, p.GetParserRuleContext()) == 1 { { - p.SetState(8533) + p.SetState(8531) p.Into_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(8537) + p.SetState(8535) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124821,12 +124622,12 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram if _la == PostgreSQLParserFROM { { - p.SetState(8536) + p.SetState(8534) p.From_clause() } } - p.SetState(8540) + p.SetState(8538) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124835,12 +124636,12 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram if _la == PostgreSQLParserWHERE { { - p.SetState(8539) + p.SetState(8537) p.Where_clause() } } - p.SetState(8543) + p.SetState(8541) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124849,12 +124650,12 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram if _la == PostgreSQLParserGROUP_P { { - p.SetState(8542) + p.SetState(8540) p.Group_clause() } } - p.SetState(8546) + p.SetState(8544) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124863,12 +124664,12 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram if _la == PostgreSQLParserHAVING { { - p.SetState(8545) + p.SetState(8543) p.Having_clause() } } - p.SetState(8549) + p.SetState(8547) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -124877,7 +124678,7 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram if _la == PostgreSQLParserWINDOW { { - p.SetState(8548) + p.SetState(8546) p.Window_clause() } @@ -124886,14 +124687,14 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram case PostgreSQLParserVALUES: p.EnterOuterAlt(localctx, 2) { - p.SetState(8551) + p.SetState(8549) p.Values_clause() } case PostgreSQLParserTABLE: p.EnterOuterAlt(localctx, 3) { - p.SetState(8552) + p.SetState(8550) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -124901,14 +124702,14 @@ func (p *PostgreSQLParser) Simple_select_pramary() (localctx ISimple_select_pram } } { - p.SetState(8553) + p.SetState(8551) p.Relation_expr() } case PostgreSQLParserOPEN_PAREN: p.EnterOuterAlt(localctx, 4) { - p.SetState(8554) + p.SetState(8552) p.Select_with_parens() } @@ -125037,19 +124838,19 @@ func (p *PostgreSQLParser) With_clause() (localctx IWith_clauseContext) { p.EnterRule(localctx, 980, PostgreSQLParserRULE_with_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8557) + p.SetState(8555) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8559) + p.SetState(8557) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 745, p.GetParserRuleContext()) == 1 { { - p.SetState(8558) + p.SetState(8556) p.Match(PostgreSQLParserRECURSIVE) if p.HasError() { // Recognition error - abort rule @@ -125061,7 +124862,7 @@ func (p *PostgreSQLParser) With_clause() (localctx IWith_clauseContext) { goto errorExit } { - p.SetState(8561) + p.SetState(8559) p.Cte_list() } @@ -125213,10 +125014,10 @@ func (p *PostgreSQLParser) Cte_list() (localctx ICte_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8563) + p.SetState(8561) p.Common_table_expr() } - p.SetState(8568) + p.SetState(8566) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -125225,7 +125026,7 @@ func (p *PostgreSQLParser) Cte_list() (localctx ICte_listContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(8564) + p.SetState(8562) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -125233,11 +125034,11 @@ func (p *PostgreSQLParser) Cte_list() (localctx ICte_listContext) { } } { - p.SetState(8565) + p.SetState(8563) p.Common_table_expr() } - p.SetState(8570) + p.SetState(8568) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -125423,10 +125224,10 @@ func (p *PostgreSQLParser) Common_table_expr() (localctx ICommon_table_exprConte p.EnterOuterAlt(localctx, 1) { - p.SetState(8571) + p.SetState(8569) p.Name() } - p.SetState(8573) + p.SetState(8571) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -125435,35 +125236,35 @@ func (p *PostgreSQLParser) Common_table_expr() (localctx ICommon_table_exprConte if _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(8572) + p.SetState(8570) p.Opt_name_list() } } { - p.SetState(8575) + p.SetState(8573) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8577) + p.SetState(8575) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserNOT || _la == PostgreSQLParserMATERIALIZED { + if _la == PostgreSQLParserMATERIALIZED || _la == PostgreSQLParserNOT { { - p.SetState(8576) + p.SetState(8574) p.Opt_materialized() } } { - p.SetState(8579) + p.SetState(8577) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -125471,11 +125272,11 @@ func (p *PostgreSQLParser) Common_table_expr() (localctx ICommon_table_exprConte } } { - p.SetState(8580) + p.SetState(8578) p.Preparablestmt() } { - p.SetState(8581) + p.SetState(8579) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -125584,7 +125385,7 @@ func (s *Opt_materializedContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Opt_materialized() (localctx IOpt_materializedContext) { localctx = NewOpt_materializedContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 986, PostgreSQLParserRULE_opt_materialized) - p.SetState(8586) + p.SetState(8584) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -125594,7 +125395,7 @@ func (p *PostgreSQLParser) Opt_materialized() (localctx IOpt_materializedContext case PostgreSQLParserMATERIALIZED: p.EnterOuterAlt(localctx, 1) { - p.SetState(8583) + p.SetState(8581) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -125605,7 +125406,7 @@ func (p *PostgreSQLParser) Opt_materialized() (localctx IOpt_materializedContext case PostgreSQLParserNOT: p.EnterOuterAlt(localctx, 2) { - p.SetState(8584) + p.SetState(8582) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -125613,7 +125414,7 @@ func (p *PostgreSQLParser) Opt_materialized() (localctx IOpt_materializedContext } } { - p.SetState(8585) + p.SetState(8583) p.Match(PostgreSQLParserMATERIALIZED) if p.HasError() { // Recognition error - abort rule @@ -125736,7 +125537,7 @@ func (p *PostgreSQLParser) Opt_with_clause() (localctx IOpt_with_clauseContext) p.EnterRule(localctx, 988, PostgreSQLParserRULE_opt_with_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8588) + p.SetState(8586) p.With_clause() } @@ -125889,14 +125690,14 @@ func (p *PostgreSQLParser) Into_clause() (localctx IInto_clauseContext) { p.EnterRule(localctx, 990, PostgreSQLParserRULE_into_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8590) + p.SetState(8588) p.Match(PostgreSQLParserINTO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8596) + p.SetState(8594) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -125904,12 +125705,12 @@ func (p *PostgreSQLParser) Into_clause() (localctx IInto_clauseContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 751, p.GetParserRuleContext()) { case 1: - p.SetState(8592) + p.SetState(8590) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 750, p.GetParserRuleContext()) == 1 { { - p.SetState(8591) + p.SetState(8589) p.Opt_strict() } @@ -125917,13 +125718,13 @@ func (p *PostgreSQLParser) Into_clause() (localctx IInto_clauseContext) { goto errorExit } { - p.SetState(8594) + p.SetState(8592) p.OpttempTableName() } case 2: { - p.SetState(8595) + p.SetState(8593) p.Into_target() } @@ -126029,7 +125830,7 @@ func (p *PostgreSQLParser) Opt_strict() (localctx IOpt_strictContext) { p.EnterRule(localctx, 992, PostgreSQLParserRULE_opt_strict) p.EnterOuterAlt(localctx, 1) { - p.SetState(8598) + p.SetState(8596) p.Match(PostgreSQLParserSTRICT_P) if p.HasError() { // Recognition error - abort rule @@ -126194,7 +125995,7 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext p.EnterRule(localctx, 994, PostgreSQLParserRULE_opttempTableName) var _la int - p.SetState(8616) + p.SetState(8614) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -126203,7 +126004,7 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 755, p.GetParserRuleContext()) { case 1: p.EnterOuterAlt(localctx, 1) - p.SetState(8601) + p.SetState(8599) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -126212,7 +126013,7 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext if _la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL { { - p.SetState(8600) + p.SetState(8598) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserGLOBAL || _la == PostgreSQLParserLOCAL) { @@ -126225,7 +126026,7 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext } { - p.SetState(8603) + p.SetState(8601) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserTEMP || _la == PostgreSQLParserTEMPORARY) { @@ -126235,12 +126036,12 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext p.Consume() } } - p.SetState(8605) + p.SetState(8603) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 753, p.GetParserRuleContext()) == 1 { { - p.SetState(8604) + p.SetState(8602) p.Opt_table() } @@ -126248,26 +126049,26 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext goto errorExit } { - p.SetState(8607) + p.SetState(8605) p.Qualified_name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8608) + p.SetState(8606) p.Match(PostgreSQLParserUNLOGGED) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8610) + p.SetState(8608) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 754, p.GetParserRuleContext()) == 1 { { - p.SetState(8609) + p.SetState(8607) p.Opt_table() } @@ -126275,14 +126076,14 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext goto errorExit } { - p.SetState(8612) + p.SetState(8610) p.Qualified_name() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8613) + p.SetState(8611) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -126290,14 +126091,14 @@ func (p *PostgreSQLParser) OpttempTableName() (localctx IOpttempTableNameContext } } { - p.SetState(8614) + p.SetState(8612) p.Qualified_name() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8615) + p.SetState(8613) p.Qualified_name() } @@ -126403,7 +126204,7 @@ func (p *PostgreSQLParser) Opt_table() (localctx IOpt_tableContext) { p.EnterRule(localctx, 996, PostgreSQLParserRULE_opt_table) p.EnterOuterAlt(localctx, 1) { - p.SetState(8618) + p.SetState(8616) p.Match(PostgreSQLParserTABLE) if p.HasError() { // Recognition error - abort rule @@ -126516,7 +126317,7 @@ func (p *PostgreSQLParser) All_or_distinct() (localctx IAll_or_distinctContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(8620) + p.SetState(8618) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserALL || _la == PostgreSQLParserDISTINCT) { @@ -126659,14 +126460,14 @@ func (p *PostgreSQLParser) Distinct_clause() (localctx IDistinct_clauseContext) p.EnterOuterAlt(localctx, 1) { - p.SetState(8622) + p.SetState(8620) p.Match(PostgreSQLParserDISTINCT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8628) + p.SetState(8626) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -126675,7 +126476,7 @@ func (p *PostgreSQLParser) Distinct_clause() (localctx IDistinct_clauseContext) if _la == PostgreSQLParserON { { - p.SetState(8623) + p.SetState(8621) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -126683,7 +126484,7 @@ func (p *PostgreSQLParser) Distinct_clause() (localctx IDistinct_clauseContext) } } { - p.SetState(8624) + p.SetState(8622) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -126691,11 +126492,11 @@ func (p *PostgreSQLParser) Distinct_clause() (localctx IDistinct_clauseContext) } } { - p.SetState(8625) + p.SetState(8623) p.Expr_list() } { - p.SetState(8626) + p.SetState(8624) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -126803,7 +126604,7 @@ func (p *PostgreSQLParser) Opt_all_clause() (localctx IOpt_all_clauseContext) { p.EnterRule(localctx, 1002, PostgreSQLParserRULE_opt_all_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8630) + p.SetState(8628) p.Match(PostgreSQLParserALL) if p.HasError() { // Recognition error - abort rule @@ -126921,7 +126722,7 @@ func (p *PostgreSQLParser) Opt_sort_clause() (localctx IOpt_sort_clauseContext) p.EnterRule(localctx, 1004, PostgreSQLParserRULE_opt_sort_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8632) + p.SetState(8630) p.Sort_clause() } @@ -127045,7 +126846,7 @@ func (p *PostgreSQLParser) Sort_clause() (localctx ISort_clauseContext) { p.EnterRule(localctx, 1006, PostgreSQLParserRULE_sort_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8634) + p.SetState(8632) p.Match(PostgreSQLParserORDER) if p.HasError() { // Recognition error - abort rule @@ -127053,7 +126854,7 @@ func (p *PostgreSQLParser) Sort_clause() (localctx ISort_clauseContext) { } } { - p.SetState(8635) + p.SetState(8633) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -127061,7 +126862,7 @@ func (p *PostgreSQLParser) Sort_clause() (localctx ISort_clauseContext) { } } { - p.SetState(8636) + p.SetState(8634) p.Sortby_list() } @@ -127213,10 +127014,10 @@ func (p *PostgreSQLParser) Sortby_list() (localctx ISortby_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8638) + p.SetState(8636) p.Sortby() } - p.SetState(8643) + p.SetState(8641) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127228,7 +127029,7 @@ func (p *PostgreSQLParser) Sortby_list() (localctx ISortby_listContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(8639) + p.SetState(8637) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -127236,12 +127037,12 @@ func (p *PostgreSQLParser) Sortby_list() (localctx ISortby_listContext) { } } { - p.SetState(8640) + p.SetState(8638) p.Sortby() } } - p.SetState(8645) + p.SetState(8643) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127420,10 +127221,10 @@ func (p *PostgreSQLParser) Sortby() (localctx ISortbyContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8646) + p.SetState(8644) p.A_expr() } - p.SetState(8652) + p.SetState(8650) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127432,7 +127233,7 @@ func (p *PostgreSQLParser) Sortby() (localctx ISortbyContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 759, p.GetParserRuleContext()) { case 1: { - p.SetState(8647) + p.SetState(8645) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -127440,12 +127241,12 @@ func (p *PostgreSQLParser) Sortby() (localctx ISortbyContext) { } } { - p.SetState(8648) + p.SetState(8646) p.Qual_all_op() } case 2: - p.SetState(8650) + p.SetState(8648) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127454,7 +127255,7 @@ func (p *PostgreSQLParser) Sortby() (localctx ISortbyContext) { if _la == PostgreSQLParserASC || _la == PostgreSQLParserDESC { { - p.SetState(8649) + p.SetState(8647) p.Opt_asc_desc() } @@ -127463,7 +127264,7 @@ func (p *PostgreSQLParser) Sortby() (localctx ISortbyContext) { case antlr.ATNInvalidAltNumber: goto errorExit } - p.SetState(8655) + p.SetState(8653) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127472,7 +127273,7 @@ func (p *PostgreSQLParser) Sortby() (localctx ISortbyContext) { if _la == PostgreSQLParserNULLS_P { { - p.SetState(8654) + p.SetState(8652) p.Opt_nulls_order() } @@ -127605,7 +127406,7 @@ func (p *PostgreSQLParser) Select_limit() (localctx ISelect_limitContext) { p.EnterRule(localctx, 1012, PostgreSQLParserRULE_select_limit) var _la int - p.SetState(8665) + p.SetState(8663) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127615,10 +127416,10 @@ func (p *PostgreSQLParser) Select_limit() (localctx ISelect_limitContext) { case PostgreSQLParserFETCH, PostgreSQLParserLIMIT: p.EnterOuterAlt(localctx, 1) { - p.SetState(8657) + p.SetState(8655) p.Limit_clause() } - p.SetState(8659) + p.SetState(8657) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127627,7 +127428,7 @@ func (p *PostgreSQLParser) Select_limit() (localctx ISelect_limitContext) { if _la == PostgreSQLParserOFFSET { { - p.SetState(8658) + p.SetState(8656) p.Offset_clause() } @@ -127636,15 +127437,15 @@ func (p *PostgreSQLParser) Select_limit() (localctx ISelect_limitContext) { case PostgreSQLParserOFFSET: p.EnterOuterAlt(localctx, 2) { - p.SetState(8661) + p.SetState(8659) p.Offset_clause() } - p.SetState(8663) + p.SetState(8661) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 762, p.GetParserRuleContext()) == 1 { { - p.SetState(8662) + p.SetState(8660) p.Limit_clause() } @@ -127767,7 +127568,7 @@ func (p *PostgreSQLParser) Opt_select_limit() (localctx IOpt_select_limitContext p.EnterRule(localctx, 1014, PostgreSQLParserRULE_opt_select_limit) p.EnterOuterAlt(localctx, 1) { - p.SetState(8667) + p.SetState(8665) p.Select_limit() } @@ -127977,7 +127778,7 @@ func (s *Limit_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { localctx = NewLimit_clauseContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1016, PostgreSQLParserRULE_limit_clause) - p.SetState(8692) + p.SetState(8690) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -127987,7 +127788,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { case PostgreSQLParserLIMIT: p.EnterOuterAlt(localctx, 1) { - p.SetState(8669) + p.SetState(8667) p.Match(PostgreSQLParserLIMIT) if p.HasError() { // Recognition error - abort rule @@ -127995,15 +127796,15 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { } } { - p.SetState(8670) + p.SetState(8668) p.Select_limit_value() } - p.SetState(8673) + p.SetState(8671) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 764, p.GetParserRuleContext()) == 1 { { - p.SetState(8671) + p.SetState(8669) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -128011,7 +127812,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { } } { - p.SetState(8672) + p.SetState(8670) p.Select_offset_value() } @@ -128022,7 +127823,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { case PostgreSQLParserFETCH: p.EnterOuterAlt(localctx, 2) { - p.SetState(8675) + p.SetState(8673) p.Match(PostgreSQLParserFETCH) if p.HasError() { // Recognition error - abort rule @@ -128030,10 +127831,10 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { } } { - p.SetState(8676) + p.SetState(8674) p.First_or_next() } - p.SetState(8690) + p.SetState(8688) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -128042,14 +127843,14 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 767, p.GetParserRuleContext()) { case 1: { - p.SetState(8677) + p.SetState(8675) p.Select_fetch_first_value() } { - p.SetState(8678) + p.SetState(8676) p.Row_or_rows() } - p.SetState(8682) + p.SetState(8680) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -128058,7 +127859,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserONLY: { - p.SetState(8679) + p.SetState(8677) p.Match(PostgreSQLParserONLY) if p.HasError() { // Recognition error - abort rule @@ -128068,7 +127869,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { case PostgreSQLParserWITH: { - p.SetState(8680) + p.SetState(8678) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -128076,7 +127877,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { } } { - p.SetState(8681) + p.SetState(8679) p.Match(PostgreSQLParserTIES) if p.HasError() { // Recognition error - abort rule @@ -128091,10 +127892,10 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { case 2: { - p.SetState(8684) + p.SetState(8682) p.Row_or_rows() } - p.SetState(8688) + p.SetState(8686) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -128103,7 +127904,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserONLY: { - p.SetState(8685) + p.SetState(8683) p.Match(PostgreSQLParserONLY) if p.HasError() { // Recognition error - abort rule @@ -128113,7 +127914,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { case PostgreSQLParserWITH: { - p.SetState(8686) + p.SetState(8684) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -128121,7 +127922,7 @@ func (p *PostgreSQLParser) Limit_clause() (localctx ILimit_clauseContext) { } } { - p.SetState(8687) + p.SetState(8685) p.Match(PostgreSQLParserTIES) if p.HasError() { // Recognition error - abort rule @@ -128292,14 +128093,14 @@ func (p *PostgreSQLParser) Offset_clause() (localctx IOffset_clauseContext) { p.EnterRule(localctx, 1018, PostgreSQLParserRULE_offset_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8694) + p.SetState(8692) p.Match(PostgreSQLParserOFFSET) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8699) + p.SetState(8697) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -128308,17 +128109,17 @@ func (p *PostgreSQLParser) Offset_clause() (localctx IOffset_clauseContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 769, p.GetParserRuleContext()) { case 1: { - p.SetState(8695) + p.SetState(8693) p.Select_offset_value() } case 2: { - p.SetState(8696) + p.SetState(8694) p.Select_fetch_first_value() } { - p.SetState(8697) + p.SetState(8695) p.Row_or_rows() } @@ -128439,24 +128240,24 @@ func (s *Select_limit_valueContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Select_limit_value() (localctx ISelect_limit_valueContext) { localctx = NewSelect_limit_valueContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1020, PostgreSQLParserRULE_select_limit_value) - p.SetState(8703) + p.SetState(8701) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserOPEN_PAREN, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_VALUE, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserRIGHT, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserOPEN_PAREN, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { - p.SetState(8701) + p.SetState(8699) p.A_expr() } case PostgreSQLParserALL: p.EnterOuterAlt(localctx, 2) { - p.SetState(8702) + p.SetState(8700) p.Match(PostgreSQLParserALL) if p.HasError() { // Recognition error - abort rule @@ -128579,7 +128380,7 @@ func (p *PostgreSQLParser) Select_offset_value() (localctx ISelect_offset_valueC p.EnterRule(localctx, 1022, PostgreSQLParserRULE_select_offset_value) p.EnterOuterAlt(localctx, 1) { - p.SetState(8705) + p.SetState(8703) p.A_expr() } @@ -128718,24 +128519,24 @@ func (s *Select_fetch_first_valueContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Select_fetch_first_value() (localctx ISelect_fetch_first_valueContext) { localctx = NewSelect_fetch_first_valueContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1024, PostgreSQLParserRULE_select_fetch_first_value) - p.SetState(8712) + p.SetState(8710) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserOPEN_PAREN, PostgreSQLParserPARAM, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNULL_P, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_VALUE, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserRIGHT, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserOPEN_PAREN, PostgreSQLParserPARAM, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 1) { - p.SetState(8707) + p.SetState(8705) p.C_expr() } case PostgreSQLParserPLUS: p.EnterOuterAlt(localctx, 2) { - p.SetState(8708) + p.SetState(8706) p.Match(PostgreSQLParserPLUS) if p.HasError() { // Recognition error - abort rule @@ -128743,14 +128544,14 @@ func (p *PostgreSQLParser) Select_fetch_first_value() (localctx ISelect_fetch_fi } } { - p.SetState(8709) + p.SetState(8707) p.I_or_f_const() } case PostgreSQLParserMINUS: p.EnterOuterAlt(localctx, 3) { - p.SetState(8710) + p.SetState(8708) p.Match(PostgreSQLParserMINUS) if p.HasError() { // Recognition error - abort rule @@ -128758,7 +128559,7 @@ func (p *PostgreSQLParser) Select_fetch_first_value() (localctx ISelect_fetch_fi } } { - p.SetState(8711) + p.SetState(8709) p.I_or_f_const() } @@ -128892,7 +128693,7 @@ func (s *I_or_f_constContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) I_or_f_const() (localctx II_or_f_constContext) { localctx = NewI_or_f_constContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1026, PostgreSQLParserRULE_i_or_f_const) - p.SetState(8716) + p.SetState(8714) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -128902,14 +128703,14 @@ func (p *PostgreSQLParser) I_or_f_const() (localctx II_or_f_constContext) { case PostgreSQLParserIntegral: p.EnterOuterAlt(localctx, 1) { - p.SetState(8714) + p.SetState(8712) p.Iconst() } case PostgreSQLParserNumeric: p.EnterOuterAlt(localctx, 2) { - p.SetState(8715) + p.SetState(8713) p.Fconst() } @@ -129023,10 +128824,10 @@ func (p *PostgreSQLParser) Row_or_rows() (localctx IRow_or_rowsContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8718) + p.SetState(8716) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserROWS || _la == PostgreSQLParserROW) { + if !(_la == PostgreSQLParserROW || _la == PostgreSQLParserROWS) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -129139,7 +128940,7 @@ func (p *PostgreSQLParser) First_or_next() (localctx IFirst_or_nextContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8720) + p.SetState(8718) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserFIRST_P || _la == PostgreSQLParserNEXT) { @@ -129270,7 +129071,7 @@ func (p *PostgreSQLParser) Group_clause() (localctx IGroup_clauseContext) { p.EnterRule(localctx, 1032, PostgreSQLParserRULE_group_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8722) + p.SetState(8720) p.Match(PostgreSQLParserGROUP_P) if p.HasError() { // Recognition error - abort rule @@ -129278,7 +129079,7 @@ func (p *PostgreSQLParser) Group_clause() (localctx IGroup_clauseContext) { } } { - p.SetState(8723) + p.SetState(8721) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -129286,7 +129087,7 @@ func (p *PostgreSQLParser) Group_clause() (localctx IGroup_clauseContext) { } } { - p.SetState(8724) + p.SetState(8722) p.Group_by_list() } @@ -129438,10 +129239,10 @@ func (p *PostgreSQLParser) Group_by_list() (localctx IGroup_by_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8726) + p.SetState(8724) p.Group_by_item() } - p.SetState(8731) + p.SetState(8729) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -129453,7 +129254,7 @@ func (p *PostgreSQLParser) Group_by_list() (localctx IGroup_by_listContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(8727) + p.SetState(8725) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -129461,12 +129262,12 @@ func (p *PostgreSQLParser) Group_by_list() (localctx IGroup_by_listContext) { } } { - p.SetState(8728) + p.SetState(8726) p.Group_by_item() } } - p.SetState(8733) + p.SetState(8731) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -129653,7 +129454,7 @@ func (s *Group_by_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Group_by_item() (localctx IGroup_by_itemContext) { localctx = NewGroup_by_itemContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1036, PostgreSQLParserRULE_group_by_item) - p.SetState(8739) + p.SetState(8737) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -129663,35 +129464,35 @@ func (p *PostgreSQLParser) Group_by_item() (localctx IGroup_by_itemContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8734) + p.SetState(8732) p.A_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8735) + p.SetState(8733) p.Empty_grouping_set() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(8736) + p.SetState(8734) p.Cube_clause() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(8737) + p.SetState(8735) p.Rollup_clause() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(8738) + p.SetState(8736) p.Grouping_sets_clause() } @@ -129802,7 +129603,7 @@ func (p *PostgreSQLParser) Empty_grouping_set() (localctx IEmpty_grouping_setCon p.EnterRule(localctx, 1038, PostgreSQLParserRULE_empty_grouping_set) p.EnterOuterAlt(localctx, 1) { - p.SetState(8741) + p.SetState(8739) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -129810,7 +129611,7 @@ func (p *PostgreSQLParser) Empty_grouping_set() (localctx IEmpty_grouping_setCon } } { - p.SetState(8742) + p.SetState(8740) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -129943,7 +129744,7 @@ func (p *PostgreSQLParser) Rollup_clause() (localctx IRollup_clauseContext) { p.EnterRule(localctx, 1040, PostgreSQLParserRULE_rollup_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8744) + p.SetState(8742) p.Match(PostgreSQLParserROLLUP) if p.HasError() { // Recognition error - abort rule @@ -129951,7 +129752,7 @@ func (p *PostgreSQLParser) Rollup_clause() (localctx IRollup_clauseContext) { } } { - p.SetState(8745) + p.SetState(8743) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -129959,11 +129760,11 @@ func (p *PostgreSQLParser) Rollup_clause() (localctx IRollup_clauseContext) { } } { - p.SetState(8746) + p.SetState(8744) p.Expr_list() } { - p.SetState(8747) + p.SetState(8745) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -130096,7 +129897,7 @@ func (p *PostgreSQLParser) Cube_clause() (localctx ICube_clauseContext) { p.EnterRule(localctx, 1042, PostgreSQLParserRULE_cube_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8749) + p.SetState(8747) p.Match(PostgreSQLParserCUBE) if p.HasError() { // Recognition error - abort rule @@ -130104,7 +129905,7 @@ func (p *PostgreSQLParser) Cube_clause() (localctx ICube_clauseContext) { } } { - p.SetState(8750) + p.SetState(8748) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -130112,11 +129913,11 @@ func (p *PostgreSQLParser) Cube_clause() (localctx ICube_clauseContext) { } } { - p.SetState(8751) + p.SetState(8749) p.Expr_list() } { - p.SetState(8752) + p.SetState(8750) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -130254,7 +130055,7 @@ func (p *PostgreSQLParser) Grouping_sets_clause() (localctx IGrouping_sets_claus p.EnterRule(localctx, 1044, PostgreSQLParserRULE_grouping_sets_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8754) + p.SetState(8752) p.Match(PostgreSQLParserGROUPING) if p.HasError() { // Recognition error - abort rule @@ -130262,7 +130063,7 @@ func (p *PostgreSQLParser) Grouping_sets_clause() (localctx IGrouping_sets_claus } } { - p.SetState(8755) + p.SetState(8753) p.Match(PostgreSQLParserSETS) if p.HasError() { // Recognition error - abort rule @@ -130270,7 +130071,7 @@ func (p *PostgreSQLParser) Grouping_sets_clause() (localctx IGrouping_sets_claus } } { - p.SetState(8756) + p.SetState(8754) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -130278,11 +130079,11 @@ func (p *PostgreSQLParser) Grouping_sets_clause() (localctx IGrouping_sets_claus } } { - p.SetState(8757) + p.SetState(8755) p.Group_by_list() } { - p.SetState(8758) + p.SetState(8756) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -130405,7 +130206,7 @@ func (p *PostgreSQLParser) Having_clause() (localctx IHaving_clauseContext) { p.EnterRule(localctx, 1046, PostgreSQLParserRULE_having_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8760) + p.SetState(8758) p.Match(PostgreSQLParserHAVING) if p.HasError() { // Recognition error - abort rule @@ -130413,7 +130214,7 @@ func (p *PostgreSQLParser) Having_clause() (localctx IHaving_clauseContext) { } } { - p.SetState(8761) + p.SetState(8759) p.A_expr() } @@ -130540,7 +130341,7 @@ func (s *For_locking_clauseContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) For_locking_clause() (localctx IFor_locking_clauseContext) { localctx = NewFor_locking_clauseContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1048, PostgreSQLParserRULE_for_locking_clause) - p.SetState(8767) + p.SetState(8765) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -130550,14 +130351,14 @@ func (p *PostgreSQLParser) For_locking_clause() (localctx IFor_locking_clauseCon case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8763) + p.SetState(8761) p.For_locking_items() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8764) + p.SetState(8762) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -130565,7 +130366,7 @@ func (p *PostgreSQLParser) For_locking_clause() (localctx IFor_locking_clauseCon } } { - p.SetState(8765) + p.SetState(8763) p.Match(PostgreSQLParserREAD) if p.HasError() { // Recognition error - abort rule @@ -130573,7 +130374,7 @@ func (p *PostgreSQLParser) For_locking_clause() (localctx IFor_locking_clauseCon } } { - p.SetState(8766) + p.SetState(8764) p.Match(PostgreSQLParserONLY) if p.HasError() { // Recognition error - abort rule @@ -130695,7 +130496,7 @@ func (p *PostgreSQLParser) Opt_for_locking_clause() (localctx IOpt_for_locking_c p.EnterRule(localctx, 1050, PostgreSQLParserRULE_opt_for_locking_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8769) + p.SetState(8767) p.For_locking_clause() } @@ -130836,7 +130637,7 @@ func (p *PostgreSQLParser) For_locking_items() (localctx IFor_locking_itemsConte var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8772) + p.SetState(8770) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -130845,11 +130646,11 @@ func (p *PostgreSQLParser) For_locking_items() (localctx IFor_locking_itemsConte for ok := true; ok; ok = _la == PostgreSQLParserFOR { { - p.SetState(8771) + p.SetState(8769) p.For_locking_item() } - p.SetState(8774) + p.SetState(8772) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131003,10 +130804,10 @@ func (p *PostgreSQLParser) For_locking_item() (localctx IFor_locking_itemContext p.EnterOuterAlt(localctx, 1) { - p.SetState(8776) + p.SetState(8774) p.For_locking_strength() } - p.SetState(8778) + p.SetState(8776) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131015,12 +130816,12 @@ func (p *PostgreSQLParser) For_locking_item() (localctx IFor_locking_itemContext if _la == PostgreSQLParserOF { { - p.SetState(8777) + p.SetState(8775) p.Locked_rels_list() } } - p.SetState(8781) + p.SetState(8779) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131029,7 +130830,7 @@ func (p *PostgreSQLParser) For_locking_item() (localctx IFor_locking_itemContext if _la == PostgreSQLParserNOWAIT || _la == PostgreSQLParserSKIP_P { { - p.SetState(8780) + p.SetState(8778) p.Opt_nowait_or_skip() } @@ -131155,14 +130956,14 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt p.EnterOuterAlt(localctx, 1) { - p.SetState(8783) + p.SetState(8781) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8793) + p.SetState(8791) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131170,7 +130971,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt switch p.GetTokenStream().LA(1) { case PostgreSQLParserNO, PostgreSQLParserUPDATE: - p.SetState(8786) + p.SetState(8784) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131179,7 +130980,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt if _la == PostgreSQLParserNO { { - p.SetState(8784) + p.SetState(8782) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -131187,7 +130988,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt } } { - p.SetState(8785) + p.SetState(8783) p.Match(PostgreSQLParserKEY) if p.HasError() { // Recognition error - abort rule @@ -131197,7 +130998,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt } { - p.SetState(8788) + p.SetState(8786) p.Match(PostgreSQLParserUPDATE) if p.HasError() { // Recognition error - abort rule @@ -131206,7 +131007,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt } case PostgreSQLParserKEY, PostgreSQLParserSHARE: - p.SetState(8790) + p.SetState(8788) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131215,7 +131016,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt if _la == PostgreSQLParserKEY { { - p.SetState(8789) + p.SetState(8787) p.Match(PostgreSQLParserKEY) if p.HasError() { // Recognition error - abort rule @@ -131225,7 +131026,7 @@ func (p *PostgreSQLParser) For_locking_strength() (localctx IFor_locking_strengt } { - p.SetState(8792) + p.SetState(8790) p.Match(PostgreSQLParserSHARE) if p.HasError() { // Recognition error - abort rule @@ -131353,7 +131154,7 @@ func (p *PostgreSQLParser) Locked_rels_list() (localctx ILocked_rels_listContext p.EnterRule(localctx, 1058, PostgreSQLParserRULE_locked_rels_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(8795) + p.SetState(8793) p.Match(PostgreSQLParserOF) if p.HasError() { // Recognition error - abort rule @@ -131361,7 +131162,7 @@ func (p *PostgreSQLParser) Locked_rels_list() (localctx ILocked_rels_listContext } } { - p.SetState(8796) + p.SetState(8794) p.Qualified_name_list() } @@ -131538,7 +131339,7 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8798) + p.SetState(8796) p.Match(PostgreSQLParserVALUES) if p.HasError() { // Recognition error - abort rule @@ -131546,7 +131347,7 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { } } { - p.SetState(8799) + p.SetState(8797) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -131554,18 +131355,18 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { } } { - p.SetState(8800) + p.SetState(8798) p.Expr_list() } { - p.SetState(8801) + p.SetState(8799) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8809) + p.SetState(8807) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131574,7 +131375,7 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(8802) + p.SetState(8800) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -131582,7 +131383,7 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { } } { - p.SetState(8803) + p.SetState(8801) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -131590,11 +131391,11 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { } } { - p.SetState(8804) + p.SetState(8802) p.Expr_list() } { - p.SetState(8805) + p.SetState(8803) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -131602,7 +131403,7 @@ func (p *PostgreSQLParser) Values_clause() (localctx IValues_clauseContext) { } } - p.SetState(8811) + p.SetState(8809) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131725,7 +131526,7 @@ func (p *PostgreSQLParser) From_clause() (localctx IFrom_clauseContext) { p.EnterRule(localctx, 1062, PostgreSQLParserRULE_from_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8812) + p.SetState(8810) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -131733,7 +131534,7 @@ func (p *PostgreSQLParser) From_clause() (localctx IFrom_clauseContext) { } } { - p.SetState(8813) + p.SetState(8811) p.From_list() } @@ -131885,10 +131686,10 @@ func (p *PostgreSQLParser) From_list() (localctx IFrom_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8815) + p.SetState(8813) p.Table_ref() } - p.SetState(8820) + p.SetState(8818) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -131900,7 +131701,7 @@ func (p *PostgreSQLParser) From_list() (localctx IFrom_listContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(8816) + p.SetState(8814) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -131908,12 +131709,12 @@ func (p *PostgreSQLParser) From_list() (localctx IFrom_listContext) { } } { - p.SetState(8817) + p.SetState(8815) p.Table_ref() } } - p.SetState(8822) + p.SetState(8820) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132214,7 +132015,7 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(8866) + p.SetState(8864) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132223,22 +132024,22 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 795, p.GetParserRuleContext()) { case 1: { - p.SetState(8823) + p.SetState(8821) p.Relation_expr() } - p.SetState(8825) + p.SetState(8823) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 784, p.GetParserRuleContext()) == 1 { { - p.SetState(8824) + p.SetState(8822) p.Opt_alias_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(8828) + p.SetState(8826) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132247,7 +132048,7 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { if _la == PostgreSQLParserTABLESAMPLE { { - p.SetState(8827) + p.SetState(8825) p.Tablesample_clause() } @@ -132255,15 +132056,15 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 2: { - p.SetState(8830) + p.SetState(8828) p.Func_table() } - p.SetState(8832) + p.SetState(8830) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 786, p.GetParserRuleContext()) == 1 { { - p.SetState(8831) + p.SetState(8829) p.Func_alias_clause() } @@ -132273,15 +132074,15 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 3: { - p.SetState(8834) + p.SetState(8832) p.Xmltable() } - p.SetState(8836) + p.SetState(8834) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 787, p.GetParserRuleContext()) == 1 { { - p.SetState(8835) + p.SetState(8833) p.Opt_alias_clause() } @@ -132291,15 +132092,15 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 4: { - p.SetState(8838) + p.SetState(8836) p.Select_with_parens() } - p.SetState(8840) + p.SetState(8838) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 788, p.GetParserRuleContext()) == 1 { { - p.SetState(8839) + p.SetState(8837) p.Opt_alias_clause() } @@ -132309,14 +132110,14 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 5: { - p.SetState(8842) + p.SetState(8840) p.Match(PostgreSQLParserLATERAL_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8855) + p.SetState(8853) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132325,15 +132126,15 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 792, p.GetParserRuleContext()) { case 1: { - p.SetState(8843) + p.SetState(8841) p.Xmltable() } - p.SetState(8845) + p.SetState(8843) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 789, p.GetParserRuleContext()) == 1 { { - p.SetState(8844) + p.SetState(8842) p.Opt_alias_clause() } @@ -132343,15 +132144,15 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 2: { - p.SetState(8847) + p.SetState(8845) p.Func_table() } - p.SetState(8849) + p.SetState(8847) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 790, p.GetParserRuleContext()) == 1 { { - p.SetState(8848) + p.SetState(8846) p.Func_alias_clause() } @@ -132361,15 +132162,15 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 3: { - p.SetState(8851) + p.SetState(8849) p.Select_with_parens() } - p.SetState(8853) + p.SetState(8851) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 791, p.GetParserRuleContext()) == 1 { { - p.SetState(8852) + p.SetState(8850) p.Opt_alias_clause() } @@ -132383,7 +132184,7 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case 6: { - p.SetState(8857) + p.SetState(8855) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -132391,37 +132192,37 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { } } { - p.SetState(8858) + p.SetState(8856) p.Table_ref() } - p.SetState(8860) + p.SetState(8858) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if (int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&68393) != 0 { + if _la == PostgreSQLParserCROSS || ((int64((_la-160)) & ^0x3f) == 0 && ((int64(1)<<(_la-160))&562967133290497) != 0) || _la == PostgreSQLParserLEFT || _la == PostgreSQLParserNATURAL || _la == PostgreSQLParserRIGHT { { - p.SetState(8859) + p.SetState(8857) p.Joined_table() } } { - p.SetState(8862) + p.SetState(8860) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8864) + p.SetState(8862) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 794, p.GetParserRuleContext()) == 1 { { - p.SetState(8863) + p.SetState(8861) p.Opt_alias_clause() } @@ -132432,7 +132233,7 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { case antlr.ATNInvalidAltNumber: goto errorExit } - p.SetState(8871) + p.SetState(8869) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132444,12 +132245,12 @@ func (p *PostgreSQLParser) Table_ref() (localctx ITable_refContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(8868) + p.SetState(8866) p.Joined_table() } } - p.SetState(8873) + p.SetState(8871) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132619,7 +132420,7 @@ func (p *PostgreSQLParser) Joined_table() (localctx IJoined_tableContext) { p.EnterRule(localctx, 1068, PostgreSQLParserRULE_joined_table) var _la int - p.SetState(8890) + p.SetState(8888) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132629,7 +132430,7 @@ func (p *PostgreSQLParser) Joined_table() (localctx IJoined_tableContext) { case PostgreSQLParserCROSS: p.EnterOuterAlt(localctx, 1) { - p.SetState(8874) + p.SetState(8872) p.Match(PostgreSQLParserCROSS) if p.HasError() { // Recognition error - abort rule @@ -132637,7 +132438,7 @@ func (p *PostgreSQLParser) Joined_table() (localctx IJoined_tableContext) { } } { - p.SetState(8875) + p.SetState(8873) p.Match(PostgreSQLParserJOIN) if p.HasError() { // Recognition error - abort rule @@ -132645,36 +132446,36 @@ func (p *PostgreSQLParser) Joined_table() (localctx IJoined_tableContext) { } } { - p.SetState(8876) + p.SetState(8874) p.Table_ref() } case PostgreSQLParserNATURAL: p.EnterOuterAlt(localctx, 2) { - p.SetState(8877) + p.SetState(8875) p.Match(PostgreSQLParserNATURAL) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8879) + p.SetState(8877) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if (int64((_la-132)) & ^0x3f) == 0 && ((int64(1)<<(_la-132))&8261) != 0 { + if _la == PostgreSQLParserFULL || _la == PostgreSQLParserINNER_P || _la == PostgreSQLParserLEFT || _la == PostgreSQLParserRIGHT { { - p.SetState(8878) + p.SetState(8876) p.Join_type() } } { - p.SetState(8881) + p.SetState(8879) p.Match(PostgreSQLParserJOIN) if p.HasError() { // Recognition error - abort rule @@ -132682,28 +132483,28 @@ func (p *PostgreSQLParser) Joined_table() (localctx IJoined_tableContext) { } } { - p.SetState(8882) + p.SetState(8880) p.Table_ref() } case PostgreSQLParserFULL, PostgreSQLParserINNER_P, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserRIGHT: p.EnterOuterAlt(localctx, 3) - p.SetState(8884) + p.SetState(8882) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if (int64((_la-132)) & ^0x3f) == 0 && ((int64(1)<<(_la-132))&8261) != 0 { + if _la == PostgreSQLParserFULL || _la == PostgreSQLParserINNER_P || _la == PostgreSQLParserLEFT || _la == PostgreSQLParserRIGHT { { - p.SetState(8883) + p.SetState(8881) p.Join_type() } } { - p.SetState(8886) + p.SetState(8884) p.Match(PostgreSQLParserJOIN) if p.HasError() { // Recognition error - abort rule @@ -132711,11 +132512,11 @@ func (p *PostgreSQLParser) Joined_table() (localctx IJoined_tableContext) { } } { - p.SetState(8887) + p.SetState(8885) p.Table_ref() } { - p.SetState(8888) + p.SetState(8886) p.Join_qual() } @@ -132867,7 +132668,7 @@ func (p *PostgreSQLParser) Alias_clause() (localctx IAlias_clauseContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8893) + p.SetState(8891) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -132876,7 +132677,7 @@ func (p *PostgreSQLParser) Alias_clause() (localctx IAlias_clauseContext) { if _la == PostgreSQLParserAS { { - p.SetState(8892) + p.SetState(8890) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -132886,15 +132687,15 @@ func (p *PostgreSQLParser) Alias_clause() (localctx IAlias_clauseContext) { } { - p.SetState(8895) + p.SetState(8893) p.Colid() } - p.SetState(8900) + p.SetState(8898) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 801, p.GetParserRuleContext()) == 1 { { - p.SetState(8896) + p.SetState(8894) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -132902,11 +132703,11 @@ func (p *PostgreSQLParser) Alias_clause() (localctx IAlias_clauseContext) { } } { - p.SetState(8897) + p.SetState(8895) p.Name_list() } { - p.SetState(8898) + p.SetState(8896) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133028,7 +132829,7 @@ func (p *PostgreSQLParser) Opt_alias_clause() (localctx IOpt_alias_clauseContext p.EnterRule(localctx, 1072, PostgreSQLParserRULE_opt_alias_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8902) + p.SetState(8900) p.Table_alias_clause() } @@ -133175,7 +132976,7 @@ func (p *PostgreSQLParser) Table_alias_clause() (localctx ITable_alias_clauseCon var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(8905) + p.SetState(8903) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -133184,7 +132985,7 @@ func (p *PostgreSQLParser) Table_alias_clause() (localctx ITable_alias_clauseCon if _la == PostgreSQLParserAS { { - p.SetState(8904) + p.SetState(8902) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -133194,15 +132995,15 @@ func (p *PostgreSQLParser) Table_alias_clause() (localctx ITable_alias_clauseCon } { - p.SetState(8907) + p.SetState(8905) p.Table_alias() } - p.SetState(8912) + p.SetState(8910) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 803, p.GetParserRuleContext()) == 1 { { - p.SetState(8908) + p.SetState(8906) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133210,11 +133011,11 @@ func (p *PostgreSQLParser) Table_alias_clause() (localctx ITable_alias_clauseCon } } { - p.SetState(8909) + p.SetState(8907) p.Name_list() } { - p.SetState(8910) + p.SetState(8908) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133385,7 +133186,7 @@ func (p *PostgreSQLParser) Func_alias_clause() (localctx IFunc_alias_clauseConte p.EnterRule(localctx, 1076, PostgreSQLParserRULE_func_alias_clause) var _la int - p.SetState(8926) + p.SetState(8924) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -133395,13 +133196,13 @@ func (p *PostgreSQLParser) Func_alias_clause() (localctx IFunc_alias_clauseConte case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8914) + p.SetState(8912) p.Alias_clause() } case 2: p.EnterOuterAlt(localctx, 2) - p.SetState(8920) + p.SetState(8918) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -133410,31 +133211,31 @@ func (p *PostgreSQLParser) Func_alias_clause() (localctx IFunc_alias_clauseConte switch p.GetTokenStream().LA(1) { case PostgreSQLParserAS: { - p.SetState(8915) + p.SetState(8913) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8917) + p.SetState(8915) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(8916) + p.SetState(8914) p.Colid() } } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(8919) + p.SetState(8917) p.Colid() } @@ -133443,7 +133244,7 @@ func (p *PostgreSQLParser) Func_alias_clause() (localctx IFunc_alias_clauseConte goto errorExit } { - p.SetState(8922) + p.SetState(8920) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133451,11 +133252,11 @@ func (p *PostgreSQLParser) Func_alias_clause() (localctx IFunc_alias_clauseConte } } { - p.SetState(8923) + p.SetState(8921) p.Tablefuncelementlist() } { - p.SetState(8924) + p.SetState(8922) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133587,17 +133388,17 @@ func (p *PostgreSQLParser) Join_type() (localctx IJoin_typeContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8928) + p.SetState(8926) _la = p.GetTokenStream().LA(1) - if !((int64((_la-132)) & ^0x3f) == 0 && ((int64(1)<<(_la-132))&8261) != 0) { + if !(_la == PostgreSQLParserFULL || _la == PostgreSQLParserINNER_P || _la == PostgreSQLParserLEFT || _la == PostgreSQLParserRIGHT) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) p.Consume() } } - p.SetState(8930) + p.SetState(8928) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -133606,7 +133407,7 @@ func (p *PostgreSQLParser) Join_type() (localctx IJoin_typeContext) { if _la == PostgreSQLParserOUTER_P { { - p.SetState(8929) + p.SetState(8927) p.Match(PostgreSQLParserOUTER_P) if p.HasError() { // Recognition error - abort rule @@ -133761,7 +133562,7 @@ func (s *Join_qualContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Join_qual() (localctx IJoin_qualContext) { localctx = NewJoin_qualContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1080, PostgreSQLParserRULE_join_qual) - p.SetState(8939) + p.SetState(8937) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -133771,7 +133572,7 @@ func (p *PostgreSQLParser) Join_qual() (localctx IJoin_qualContext) { case PostgreSQLParserUSING: p.EnterOuterAlt(localctx, 1) { - p.SetState(8932) + p.SetState(8930) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -133779,7 +133580,7 @@ func (p *PostgreSQLParser) Join_qual() (localctx IJoin_qualContext) { } } { - p.SetState(8933) + p.SetState(8931) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133787,11 +133588,11 @@ func (p *PostgreSQLParser) Join_qual() (localctx IJoin_qualContext) { } } { - p.SetState(8934) + p.SetState(8932) p.Name_list() } { - p.SetState(8935) + p.SetState(8933) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -133802,7 +133603,7 @@ func (p *PostgreSQLParser) Join_qual() (localctx IJoin_qualContext) { case PostgreSQLParserON: p.EnterOuterAlt(localctx, 2) { - p.SetState(8937) + p.SetState(8935) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -133810,7 +133611,7 @@ func (p *PostgreSQLParser) Join_qual() (localctx IJoin_qualContext) { } } { - p.SetState(8938) + p.SetState(8936) p.A_expr() } @@ -133949,20 +133750,20 @@ func (p *PostgreSQLParser) Relation_expr() (localctx IRelation_exprContext) { p.EnterRule(localctx, 1082, PostgreSQLParserRULE_relation_expr) var _la int - p.SetState(8953) + p.SetState(8951) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { - p.SetState(8941) + p.SetState(8939) p.Qualified_name() } - p.SetState(8943) + p.SetState(8941) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -133971,7 +133772,7 @@ func (p *PostgreSQLParser) Relation_expr() (localctx IRelation_exprContext) { if _la == PostgreSQLParserSTAR { { - p.SetState(8942) + p.SetState(8940) p.Match(PostgreSQLParserSTAR) if p.HasError() { // Recognition error - abort rule @@ -133984,29 +133785,29 @@ func (p *PostgreSQLParser) Relation_expr() (localctx IRelation_exprContext) { case PostgreSQLParserONLY: p.EnterOuterAlt(localctx, 2) { - p.SetState(8945) + p.SetState(8943) p.Match(PostgreSQLParserONLY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8951) + p.SetState(8949) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(8946) + p.SetState(8944) p.Qualified_name() } case PostgreSQLParserOPEN_PAREN: { - p.SetState(8947) + p.SetState(8945) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -134014,11 +133815,11 @@ func (p *PostgreSQLParser) Relation_expr() (localctx IRelation_exprContext) { } } { - p.SetState(8948) + p.SetState(8946) p.Qualified_name() } { - p.SetState(8949) + p.SetState(8947) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -134184,10 +133985,10 @@ func (p *PostgreSQLParser) Relation_expr_list() (localctx IRelation_expr_listCon p.EnterOuterAlt(localctx, 1) { - p.SetState(8955) + p.SetState(8953) p.Relation_expr() } - p.SetState(8960) + p.SetState(8958) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -134196,7 +133997,7 @@ func (p *PostgreSQLParser) Relation_expr_list() (localctx IRelation_expr_listCon for _la == PostgreSQLParserCOMMA { { - p.SetState(8956) + p.SetState(8954) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -134204,11 +134005,11 @@ func (p *PostgreSQLParser) Relation_expr_list() (localctx IRelation_expr_listCon } } { - p.SetState(8957) + p.SetState(8955) p.Relation_expr() } - p.SetState(8962) + p.SetState(8960) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -134350,14 +134151,14 @@ func (p *PostgreSQLParser) Relation_expr_opt_alias() (localctx IRelation_expr_op p.EnterOuterAlt(localctx, 1) { - p.SetState(8963) + p.SetState(8961) p.Relation_expr() } - p.SetState(8968) + p.SetState(8966) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 814, p.GetParserRuleContext()) == 1 { - p.SetState(8965) + p.SetState(8963) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -134366,7 +134167,7 @@ func (p *PostgreSQLParser) Relation_expr_opt_alias() (localctx IRelation_expr_op if _la == PostgreSQLParserAS { { - p.SetState(8964) + p.SetState(8962) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -134376,7 +134177,7 @@ func (p *PostgreSQLParser) Relation_expr_opt_alias() (localctx IRelation_expr_op } { - p.SetState(8967) + p.SetState(8965) p.Colid() } @@ -134545,7 +134346,7 @@ func (p *PostgreSQLParser) Tablesample_clause() (localctx ITablesample_clauseCon p.EnterOuterAlt(localctx, 1) { - p.SetState(8970) + p.SetState(8968) p.Match(PostgreSQLParserTABLESAMPLE) if p.HasError() { // Recognition error - abort rule @@ -134553,11 +134354,11 @@ func (p *PostgreSQLParser) Tablesample_clause() (localctx ITablesample_clauseCon } } { - p.SetState(8971) + p.SetState(8969) p.Func_name() } { - p.SetState(8972) + p.SetState(8970) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -134565,18 +134366,18 @@ func (p *PostgreSQLParser) Tablesample_clause() (localctx ITablesample_clauseCon } } { - p.SetState(8973) + p.SetState(8971) p.Expr_list() } { - p.SetState(8974) + p.SetState(8972) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8976) + p.SetState(8974) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -134585,7 +134386,7 @@ func (p *PostgreSQLParser) Tablesample_clause() (localctx ITablesample_clauseCon if _la == PostgreSQLParserREPEATABLE { { - p.SetState(8975) + p.SetState(8973) p.Opt_repeatable_clause() } @@ -134716,7 +134517,7 @@ func (p *PostgreSQLParser) Opt_repeatable_clause() (localctx IOpt_repeatable_cla p.EnterRule(localctx, 1090, PostgreSQLParserRULE_opt_repeatable_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(8978) + p.SetState(8976) p.Match(PostgreSQLParserREPEATABLE) if p.HasError() { // Recognition error - abort rule @@ -134724,7 +134525,7 @@ func (p *PostgreSQLParser) Opt_repeatable_clause() (localctx IOpt_repeatable_cla } } { - p.SetState(8979) + p.SetState(8977) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -134732,11 +134533,11 @@ func (p *PostgreSQLParser) Opt_repeatable_clause() (localctx IOpt_repeatable_cla } } { - p.SetState(8980) + p.SetState(8978) p.A_expr() } { - p.SetState(8981) + p.SetState(8979) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -134906,7 +134707,7 @@ func (s *Func_tableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Func_table() (localctx IFunc_tableContext) { localctx = NewFunc_tableContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1092, PostgreSQLParserRULE_func_table) - p.SetState(8995) + p.SetState(8993) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -134916,15 +134717,15 @@ func (p *PostgreSQLParser) Func_table() (localctx IFunc_tableContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(8983) + p.SetState(8981) p.Func_expr_windowless() } - p.SetState(8985) + p.SetState(8983) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 816, p.GetParserRuleContext()) == 1 { { - p.SetState(8984) + p.SetState(8982) p.Opt_ordinality() } @@ -134935,7 +134736,7 @@ func (p *PostgreSQLParser) Func_table() (localctx IFunc_tableContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(8987) + p.SetState(8985) p.Match(PostgreSQLParserROWS) if p.HasError() { // Recognition error - abort rule @@ -134943,7 +134744,7 @@ func (p *PostgreSQLParser) Func_table() (localctx IFunc_tableContext) { } } { - p.SetState(8988) + p.SetState(8986) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -134951,7 +134752,7 @@ func (p *PostgreSQLParser) Func_table() (localctx IFunc_tableContext) { } } { - p.SetState(8989) + p.SetState(8987) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -134959,23 +134760,23 @@ func (p *PostgreSQLParser) Func_table() (localctx IFunc_tableContext) { } } { - p.SetState(8990) + p.SetState(8988) p.Rowsfrom_list() } { - p.SetState(8991) + p.SetState(8989) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(8993) + p.SetState(8991) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 817, p.GetParserRuleContext()) == 1 { { - p.SetState(8992) + p.SetState(8990) p.Opt_ordinality() } @@ -135116,10 +134917,10 @@ func (p *PostgreSQLParser) Rowsfrom_item() (localctx IRowsfrom_itemContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(8997) + p.SetState(8995) p.Func_expr_windowless() } - p.SetState(8999) + p.SetState(8997) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -135128,7 +134929,7 @@ func (p *PostgreSQLParser) Rowsfrom_item() (localctx IRowsfrom_itemContext) { if _la == PostgreSQLParserAS { { - p.SetState(8998) + p.SetState(8996) p.Opt_col_def_list() } @@ -135282,10 +135083,10 @@ func (p *PostgreSQLParser) Rowsfrom_list() (localctx IRowsfrom_listContext) { p.EnterOuterAlt(localctx, 1) { - p.SetState(9001) + p.SetState(8999) p.Rowsfrom_item() } - p.SetState(9006) + p.SetState(9004) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -135294,7 +135095,7 @@ func (p *PostgreSQLParser) Rowsfrom_list() (localctx IRowsfrom_listContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(9002) + p.SetState(9000) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -135302,11 +135103,11 @@ func (p *PostgreSQLParser) Rowsfrom_list() (localctx IRowsfrom_listContext) { } } { - p.SetState(9003) + p.SetState(9001) p.Rowsfrom_item() } - p.SetState(9008) + p.SetState(9006) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -135439,7 +135240,7 @@ func (p *PostgreSQLParser) Opt_col_def_list() (localctx IOpt_col_def_listContext p.EnterRule(localctx, 1098, PostgreSQLParserRULE_opt_col_def_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(9009) + p.SetState(9007) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -135447,7 +135248,7 @@ func (p *PostgreSQLParser) Opt_col_def_list() (localctx IOpt_col_def_listContext } } { - p.SetState(9010) + p.SetState(9008) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -135455,11 +135256,11 @@ func (p *PostgreSQLParser) Opt_col_def_list() (localctx IOpt_col_def_listContext } } { - p.SetState(9011) + p.SetState(9009) p.Tablefuncelementlist() } { - p.SetState(9012) + p.SetState(9010) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -135570,7 +135371,7 @@ func (p *PostgreSQLParser) Opt_ordinality() (localctx IOpt_ordinalityContext) { p.EnterRule(localctx, 1100, PostgreSQLParserRULE_opt_ordinality) p.EnterOuterAlt(localctx, 1) { - p.SetState(9014) + p.SetState(9012) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -135578,7 +135379,7 @@ func (p *PostgreSQLParser) Opt_ordinality() (localctx IOpt_ordinalityContext) { } } { - p.SetState(9015) + p.SetState(9013) p.Match(PostgreSQLParserORDINALITY) if p.HasError() { // Recognition error - abort rule @@ -135701,7 +135502,7 @@ func (p *PostgreSQLParser) Where_clause() (localctx IWhere_clauseContext) { p.EnterRule(localctx, 1102, PostgreSQLParserRULE_where_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(9017) + p.SetState(9015) p.Match(PostgreSQLParserWHERE) if p.HasError() { // Recognition error - abort rule @@ -135709,7 +135510,7 @@ func (p *PostgreSQLParser) Where_clause() (localctx IWhere_clauseContext) { } } { - p.SetState(9018) + p.SetState(9016) p.A_expr() } @@ -135855,14 +135656,14 @@ func (p *PostgreSQLParser) Where_or_current_clause() (localctx IWhere_or_current p.EnterRule(localctx, 1104, PostgreSQLParserRULE_where_or_current_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(9020) + p.SetState(9018) p.Match(PostgreSQLParserWHERE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9025) + p.SetState(9023) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -135871,7 +135672,7 @@ func (p *PostgreSQLParser) Where_or_current_clause() (localctx IWhere_or_current switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 821, p.GetParserRuleContext()) { case 1: { - p.SetState(9021) + p.SetState(9019) p.Match(PostgreSQLParserCURRENT_P) if p.HasError() { // Recognition error - abort rule @@ -135879,7 +135680,7 @@ func (p *PostgreSQLParser) Where_or_current_clause() (localctx IWhere_or_current } } { - p.SetState(9022) + p.SetState(9020) p.Match(PostgreSQLParserOF) if p.HasError() { // Recognition error - abort rule @@ -135887,13 +135688,13 @@ func (p *PostgreSQLParser) Where_or_current_clause() (localctx IWhere_or_current } } { - p.SetState(9023) + p.SetState(9021) p.Cursor_name() } case 2: { - p.SetState(9024) + p.SetState(9022) p.A_expr() } @@ -136011,7 +135812,7 @@ func (p *PostgreSQLParser) Opttablefuncelementlist() (localctx IOpttablefuncelem p.EnterRule(localctx, 1106, PostgreSQLParserRULE_opttablefuncelementlist) p.EnterOuterAlt(localctx, 1) { - p.SetState(9027) + p.SetState(9025) p.Tablefuncelementlist() } @@ -136163,10 +135964,10 @@ func (p *PostgreSQLParser) Tablefuncelementlist() (localctx ITablefuncelementlis p.EnterOuterAlt(localctx, 1) { - p.SetState(9029) + p.SetState(9027) p.Tablefuncelement() } - p.SetState(9034) + p.SetState(9032) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -136175,7 +135976,7 @@ func (p *PostgreSQLParser) Tablefuncelementlist() (localctx ITablefuncelementlis for _la == PostgreSQLParserCOMMA { { - p.SetState(9030) + p.SetState(9028) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -136183,11 +135984,11 @@ func (p *PostgreSQLParser) Tablefuncelementlist() (localctx ITablefuncelementlis } } { - p.SetState(9031) + p.SetState(9029) p.Tablefuncelement() } - p.SetState(9036) + p.SetState(9034) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -136341,14 +136142,14 @@ func (p *PostgreSQLParser) Tablefuncelement() (localctx ITablefuncelementContext p.EnterOuterAlt(localctx, 1) { - p.SetState(9037) + p.SetState(9035) p.Colid() } { - p.SetState(9038) + p.SetState(9036) p.Typename() } - p.SetState(9040) + p.SetState(9038) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -136357,7 +136158,7 @@ func (p *PostgreSQLParser) Tablefuncelement() (localctx ITablefuncelementContext if _la == PostgreSQLParserCOLLATE { { - p.SetState(9039) + p.SetState(9037) p.Opt_collate_clause() } @@ -136564,7 +136365,7 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { p.EnterRule(localctx, 1112, PostgreSQLParserRULE_xmltable) p.EnterOuterAlt(localctx, 1) { - p.SetState(9042) + p.SetState(9040) p.Match(PostgreSQLParserXMLTABLE) if p.HasError() { // Recognition error - abort rule @@ -136572,14 +136373,14 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9043) + p.SetState(9041) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9059) + p.SetState(9057) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -136588,15 +136389,15 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 824, p.GetParserRuleContext()) { case 1: { - p.SetState(9044) + p.SetState(9042) p.C_expr() } { - p.SetState(9045) + p.SetState(9043) p.Xmlexists_argument() } { - p.SetState(9046) + p.SetState(9044) p.Match(PostgreSQLParserCOLUMNS) if p.HasError() { // Recognition error - abort rule @@ -136604,13 +136405,13 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9047) + p.SetState(9045) p.Xmltable_column_list() } case 2: { - p.SetState(9049) + p.SetState(9047) p.Match(PostgreSQLParserXMLNAMESPACES) if p.HasError() { // Recognition error - abort rule @@ -136618,7 +136419,7 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9050) + p.SetState(9048) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -136626,11 +136427,11 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9051) + p.SetState(9049) p.Xml_namespace_list() } { - p.SetState(9052) + p.SetState(9050) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -136638,7 +136439,7 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9053) + p.SetState(9051) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -136646,15 +136447,15 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9054) + p.SetState(9052) p.C_expr() } { - p.SetState(9055) + p.SetState(9053) p.Xmlexists_argument() } { - p.SetState(9056) + p.SetState(9054) p.Match(PostgreSQLParserCOLUMNS) if p.HasError() { // Recognition error - abort rule @@ -136662,7 +136463,7 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { } } { - p.SetState(9057) + p.SetState(9055) p.Xmltable_column_list() } @@ -136670,7 +136471,7 @@ func (p *PostgreSQLParser) Xmltable() (localctx IXmltableContext) { goto errorExit } { - p.SetState(9061) + p.SetState(9059) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -136826,10 +136627,10 @@ func (p *PostgreSQLParser) Xmltable_column_list() (localctx IXmltable_column_lis p.EnterOuterAlt(localctx, 1) { - p.SetState(9063) + p.SetState(9061) p.Xmltable_column_el() } - p.SetState(9068) + p.SetState(9066) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -136838,7 +136639,7 @@ func (p *PostgreSQLParser) Xmltable_column_list() (localctx IXmltable_column_lis for _la == PostgreSQLParserCOMMA { { - p.SetState(9064) + p.SetState(9062) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -136846,11 +136647,11 @@ func (p *PostgreSQLParser) Xmltable_column_list() (localctx IXmltable_column_lis } } { - p.SetState(9065) + p.SetState(9063) p.Xmltable_column_el() } - p.SetState(9070) + p.SetState(9068) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137014,31 +136815,31 @@ func (p *PostgreSQLParser) Xmltable_column_el() (localctx IXmltable_column_elCon p.EnterOuterAlt(localctx, 1) { - p.SetState(9071) + p.SetState(9069) p.Colid() } - p.SetState(9078) + p.SetState(9076) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserRIGHT, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(9072) + p.SetState(9070) p.Typename() } - p.SetState(9074) + p.SetState(9072) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64((_la-33)) & ^0x3f) == 0 && ((int64(1)<<(_la-33))&576513529147825157) != 0) || ((int64((_la-135)) & ^0x3f) == 0 && ((int64(1)<<(_la-135))&74346914954363009) != 0) || ((int64((_la-226)) & ^0x3f) == 0 && ((int64(1)<<(_la-226))&56295003965620233) != 0) || ((int64((_la-291)) & ^0x3f) == 0 && ((int64(1)<<(_la-291))&18068292027564033) != 0) || _la == PostgreSQLParserTYPE_P || ((int64((_la-454)) & ^0x3f) == 0 && ((int64(1)<<(_la-454))&-144097595889811453) != 0) || ((int64((_la-518)) & ^0x3f) == 0 && ((int64(1)<<(_la-518))&12516927) != 0) || ((int64((_la-664)) & ^0x3f) == 0 && ((int64(1)<<(_la-664))&100663331) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2954928704629047304) != 0) || ((int64((_la-65)) & ^0x3f) == 0 && ((int64(1)<<(_la-65))&4503668481591553) != 0) || ((int64((_la-131)) & ^0x3f) == 0 && ((int64(1)<<(_la-131))&67698689) != 0) || ((int64((_la-198)) & ^0x3f) == 0 && ((int64(1)<<(_la-198))&576460752840294657) != 0) || ((int64((_la-265)) & ^0x3f) == 0 && ((int64(1)<<(_la-265))&-9223371967598411231) != 0) || ((int64((_la-347)) & ^0x3f) == 0 && ((int64(1)<<(_la-347))&137522872897) != 0) || _la == PostgreSQLParserTABLE || _la == PostgreSQLParserTYPE_P || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(9073) + p.SetState(9071) p.Xmltable_column_option_list() } @@ -137046,7 +136847,7 @@ func (p *PostgreSQLParser) Xmltable_column_el() (localctx IXmltable_column_elCon case PostgreSQLParserFOR: { - p.SetState(9076) + p.SetState(9074) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -137054,7 +136855,7 @@ func (p *PostgreSQLParser) Xmltable_column_el() (localctx IXmltable_column_elCon } } { - p.SetState(9077) + p.SetState(9075) p.Match(PostgreSQLParserORDINALITY) if p.HasError() { // Recognition error - abort rule @@ -137204,20 +137005,20 @@ func (p *PostgreSQLParser) Xmltable_column_option_list() (localctx IXmltable_col var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(9081) + p.SetState(9079) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ok := true; ok; ok = ((int64((_la-33)) & ^0x3f) == 0 && ((int64(1)<<(_la-33))&576513529147825157) != 0) || ((int64((_la-135)) & ^0x3f) == 0 && ((int64(1)<<(_la-135))&74346914954363009) != 0) || ((int64((_la-226)) & ^0x3f) == 0 && ((int64(1)<<(_la-226))&56295003965620233) != 0) || ((int64((_la-291)) & ^0x3f) == 0 && ((int64(1)<<(_la-291))&18068292027564033) != 0) || _la == PostgreSQLParserTYPE_P || ((int64((_la-454)) & ^0x3f) == 0 && ((int64(1)<<(_la-454))&-144097595889811453) != 0) || ((int64((_la-518)) & ^0x3f) == 0 && ((int64(1)<<(_la-518))&12516927) != 0) || ((int64((_la-664)) & ^0x3f) == 0 && ((int64(1)<<(_la-664))&100663331) != 0) { + for ok := true; ok; ok = ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2954928704629047304) != 0) || ((int64((_la-65)) & ^0x3f) == 0 && ((int64(1)<<(_la-65))&4503668481591553) != 0) || ((int64((_la-131)) & ^0x3f) == 0 && ((int64(1)<<(_la-131))&67698689) != 0) || ((int64((_la-198)) & ^0x3f) == 0 && ((int64(1)<<(_la-198))&576460752840294657) != 0) || ((int64((_la-265)) & ^0x3f) == 0 && ((int64(1)<<(_la-265))&-9223371967598411231) != 0) || ((int64((_la-347)) & ^0x3f) == 0 && ((int64(1)<<(_la-347))&137522872897) != 0) || _la == PostgreSQLParserTABLE || _la == PostgreSQLParserTYPE_P || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(9080) + p.SetState(9078) p.Xmltable_column_option_el() } - p.SetState(9083) + p.SetState(9081) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137365,7 +137166,7 @@ func (s *Xmltable_column_option_elContext) Accept(visitor antlr.ParseTreeVisitor func (p *PostgreSQLParser) Xmltable_column_option_el() (localctx IXmltable_column_option_elContext) { localctx = NewXmltable_column_option_elContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1120, PostgreSQLParserRULE_xmltable_column_option_el) - p.SetState(9093) + p.SetState(9091) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137375,7 +137176,7 @@ func (p *PostgreSQLParser) Xmltable_column_option_el() (localctx IXmltable_colum case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9085) + p.SetState(9083) p.Match(PostgreSQLParserDEFAULT) if p.HasError() { // Recognition error - abort rule @@ -137383,25 +137184,25 @@ func (p *PostgreSQLParser) Xmltable_column_option_el() (localctx IXmltable_colum } } { - p.SetState(9086) + p.SetState(9084) p.A_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9087) + p.SetState(9085) p.Identifier() } { - p.SetState(9088) + p.SetState(9086) p.A_expr() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9090) + p.SetState(9088) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -137409,7 +137210,7 @@ func (p *PostgreSQLParser) Xmltable_column_option_el() (localctx IXmltable_colum } } { - p.SetState(9091) + p.SetState(9089) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -137420,7 +137221,7 @@ func (p *PostgreSQLParser) Xmltable_column_option_el() (localctx IXmltable_colum case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(9092) + p.SetState(9090) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -137580,10 +137381,10 @@ func (p *PostgreSQLParser) Xml_namespace_list() (localctx IXml_namespace_listCon p.EnterOuterAlt(localctx, 1) { - p.SetState(9095) + p.SetState(9093) p.Xml_namespace_el() } - p.SetState(9100) + p.SetState(9098) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137592,7 +137393,7 @@ func (p *PostgreSQLParser) Xml_namespace_list() (localctx IXml_namespace_listCon for _la == PostgreSQLParserCOMMA { { - p.SetState(9096) + p.SetState(9094) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -137600,11 +137401,11 @@ func (p *PostgreSQLParser) Xml_namespace_list() (localctx IXml_namespace_listCon } } { - p.SetState(9097) + p.SetState(9095) p.Xml_namespace_el() } - p.SetState(9102) + p.SetState(9100) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137747,7 +137548,7 @@ func (s *Xml_namespace_elContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Xml_namespace_el() (localctx IXml_namespace_elContext) { localctx = NewXml_namespace_elContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1124, PostgreSQLParserRULE_xml_namespace_el) - p.SetState(9109) + p.SetState(9107) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137757,11 +137558,11 @@ func (p *PostgreSQLParser) Xml_namespace_el() (localctx IXml_namespace_elContext case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9103) + p.SetState(9101) p.b_expr(0) } { - p.SetState(9104) + p.SetState(9102) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -137769,14 +137570,14 @@ func (p *PostgreSQLParser) Xml_namespace_el() (localctx IXml_namespace_elContext } } { - p.SetState(9105) + p.SetState(9103) p.Collabel() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9107) + p.SetState(9105) p.Match(PostgreSQLParserDEFAULT) if p.HasError() { // Recognition error - abort rule @@ -137784,7 +137585,7 @@ func (p *PostgreSQLParser) Xml_namespace_el() (localctx IXml_namespace_elContext } } { - p.SetState(9108) + p.SetState(9106) p.b_expr(0) } @@ -137988,7 +137789,7 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { p.EnterRule(localctx, 1126, PostgreSQLParserRULE_typename) var _la int - p.SetState(9129) + p.SetState(9127) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -137997,7 +137798,7 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 835, p.GetParserRuleContext()) { case 1: p.EnterOuterAlt(localctx, 1) - p.SetState(9112) + p.SetState(9110) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138006,7 +137807,7 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { if _la == PostgreSQLParserSETOF { { - p.SetState(9111) + p.SetState(9109) p.Match(PostgreSQLParserSETOF) if p.HasError() { // Recognition error - abort rule @@ -138016,10 +137817,10 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { } { - p.SetState(9114) + p.SetState(9112) p.Simpletypename() } - p.SetState(9123) + p.SetState(9121) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138028,25 +137829,25 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 834, p.GetParserRuleContext()) { case 1: { - p.SetState(9115) + p.SetState(9113) p.Opt_array_bounds() } case 2: { - p.SetState(9116) + p.SetState(9114) p.Match(PostgreSQLParserARRAY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9121) + p.SetState(9119) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 833, p.GetParserRuleContext()) == 1 { { - p.SetState(9117) + p.SetState(9115) p.Match(PostgreSQLParserOPEN_BRACKET) if p.HasError() { // Recognition error - abort rule @@ -138054,11 +137855,11 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { } } { - p.SetState(9118) + p.SetState(9116) p.Iconst() } { - p.SetState(9119) + p.SetState(9117) p.Match(PostgreSQLParserCLOSE_BRACKET) if p.HasError() { // Recognition error - abort rule @@ -138077,11 +137878,11 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9125) + p.SetState(9123) p.Qualified_name() } { - p.SetState(9126) + p.SetState(9124) p.Match(PostgreSQLParserPERCENT) if p.HasError() { // Recognition error - abort rule @@ -138089,7 +137890,7 @@ func (p *PostgreSQLParser) Typename() (localctx ITypenameContext) { } } { - p.SetState(9127) + p.SetState(9125) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserTYPE_P || _la == PostgreSQLParserROWTYPE) { @@ -138263,7 +138064,7 @@ func (p *PostgreSQLParser) Opt_array_bounds() (localctx IOpt_array_boundsContext var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(9138) + p.SetState(9136) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138275,14 +138076,14 @@ func (p *PostgreSQLParser) Opt_array_bounds() (localctx IOpt_array_boundsContext for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9131) + p.SetState(9129) p.Match(PostgreSQLParserOPEN_BRACKET) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9133) + p.SetState(9131) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138291,13 +138092,13 @@ func (p *PostgreSQLParser) Opt_array_bounds() (localctx IOpt_array_boundsContext if _la == PostgreSQLParserIntegral { { - p.SetState(9132) + p.SetState(9130) p.Iconst() } } { - p.SetState(9135) + p.SetState(9133) p.Match(PostgreSQLParserCLOSE_BRACKET) if p.HasError() { // Recognition error - abort rule @@ -138306,7 +138107,7 @@ func (p *PostgreSQLParser) Opt_array_bounds() (localctx IOpt_array_boundsContext } } - p.SetState(9140) + p.SetState(9138) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138348,6 +138149,7 @@ type ISimpletypenameContext interface { Iconst() IIconstContext CLOSE_PAREN() antlr.TerminalNode Opt_interval() IOpt_intervalContext + Jsontype() IJsontypeContext // IsSimpletypenameContext differentiates from other interfaces. IsSimpletypenameContext() @@ -138521,6 +138323,22 @@ func (s *SimpletypenameContext) Opt_interval() IOpt_intervalContext { return t.(IOpt_intervalContext) } +func (s *SimpletypenameContext) Jsontype() IJsontypeContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IJsontypeContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IJsontypeContext) +} + func (s *SimpletypenameContext) GetRuleContext() antlr.RuleContext { return s } @@ -138554,7 +138372,7 @@ func (s *SimpletypenameContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Simpletypename() (localctx ISimpletypenameContext) { localctx = NewSimpletypenameContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1130, PostgreSQLParserRULE_simpletypename) - p.SetState(9156) + p.SetState(9155) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138564,45 +138382,45 @@ func (p *PostgreSQLParser) Simpletypename() (localctx ISimpletypenameContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9141) + p.SetState(9139) p.Generictype() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9142) + p.SetState(9140) p.Numeric() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9143) + p.SetState(9141) p.Bit() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(9144) + p.SetState(9142) p.Character() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(9145) + p.SetState(9143) p.Constdatetime() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(9146) + p.SetState(9144) p.Constinterval() } - p.SetState(9154) + p.SetState(9152) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -138610,12 +138428,12 @@ func (p *PostgreSQLParser) Simpletypename() (localctx ISimpletypenameContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 839, p.GetParserRuleContext()) { case 1: - p.SetState(9148) + p.SetState(9146) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 838, p.GetParserRuleContext()) == 1 { { - p.SetState(9147) + p.SetState(9145) p.Opt_interval() } @@ -138625,7 +138443,7 @@ func (p *PostgreSQLParser) Simpletypename() (localctx ISimpletypenameContext) { case 2: { - p.SetState(9150) + p.SetState(9148) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -138633,11 +138451,11 @@ func (p *PostgreSQLParser) Simpletypename() (localctx ISimpletypenameContext) { } } { - p.SetState(9151) + p.SetState(9149) p.Iconst() } { - p.SetState(9152) + p.SetState(9150) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -138649,6 +138467,13 @@ func (p *PostgreSQLParser) Simpletypename() (localctx ISimpletypenameContext) { goto errorExit } + case 7: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(9154) + p.Jsontype() + } + case antlr.ATNInvalidAltNumber: goto errorExit } @@ -138678,6 +138503,7 @@ type IConsttypenameContext interface { Constbit() IConstbitContext Constcharacter() IConstcharacterContext Constdatetime() IConstdatetimeContext + Jsontype() IJsontypeContext // IsConsttypenameContext differentiates from other interfaces. IsConsttypenameContext() @@ -138779,6 +138605,22 @@ func (s *ConsttypenameContext) Constdatetime() IConstdatetimeContext { return t.(IConstdatetimeContext) } +func (s *ConsttypenameContext) Jsontype() IJsontypeContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IJsontypeContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IJsontypeContext) +} + func (s *ConsttypenameContext) GetRuleContext() antlr.RuleContext { return s } @@ -138819,34 +138661,41 @@ func (p *PostgreSQLParser) Consttypename() (localctx IConsttypenameContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserDOUBLE_P, PostgreSQLParserBIGINT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserFLOAT_P, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserNUMERIC, PostgreSQLParserREAL, PostgreSQLParserSMALLINT: + case PostgreSQLParserBIGINT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserFLOAT_P, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserNUMERIC, PostgreSQLParserREAL, PostgreSQLParserSMALLINT: p.EnterOuterAlt(localctx, 1) { - p.SetState(9158) + p.SetState(9157) p.Numeric() } case PostgreSQLParserBIT: p.EnterOuterAlt(localctx, 2) { - p.SetState(9159) + p.SetState(9158) p.Constbit() } case PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserVARCHAR: p.EnterOuterAlt(localctx, 3) { - p.SetState(9160) + p.SetState(9159) p.Constcharacter() } case PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP: p.EnterOuterAlt(localctx, 4) { - p.SetState(9161) + p.SetState(9160) p.Constdatetime() } + case PostgreSQLParserJSON: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(9161) + p.Jsontype() + } + default: p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit @@ -138873,7 +138722,6 @@ type IGenerictypeContext interface { GetParser() antlr.Parser // Getter signatures - Builtin_function_name() IBuiltin_function_nameContext Type_function_name() IType_function_nameContext LEFT() antlr.TerminalNode RIGHT() antlr.TerminalNode @@ -138916,22 +138764,6 @@ func NewGenerictypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, func (s *GenerictypeContext) GetParser() antlr.Parser { return s.parser } -func (s *GenerictypeContext) Builtin_function_name() IBuiltin_function_nameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBuiltin_function_nameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IBuiltin_function_nameContext) -} - func (s *GenerictypeContext) Type_function_name() IType_function_nameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { @@ -139022,7 +138854,7 @@ func (p *PostgreSQLParser) Generictype() (localctx IGenerictypeContext) { localctx = NewGenerictypeContext(p, p.GetParserRuleContext(), p.GetState()) p.EnterRule(localctx, 1134, PostgreSQLParserRULE_generictype) p.EnterOuterAlt(localctx, 1) - p.SetState(9168) + p.SetState(9167) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -139032,18 +138864,12 @@ func (p *PostgreSQLParser) Generictype() (localctx IGenerictypeContext) { case 1: { p.SetState(9164) - p.Builtin_function_name() + p.Type_function_name() } case 2: { p.SetState(9165) - p.Type_function_name() - } - - case 3: - { - p.SetState(9166) p.Match(PostgreSQLParserLEFT) if p.HasError() { // Recognition error - abort rule @@ -139051,9 +138877,9 @@ func (p *PostgreSQLParser) Generictype() (localctx IGenerictypeContext) { } } - case 4: + case 3: { - p.SetState(9167) + p.SetState(9166) p.Match(PostgreSQLParserRIGHT) if p.HasError() { // Recognition error - abort rule @@ -139064,24 +138890,24 @@ func (p *PostgreSQLParser) Generictype() (localctx IGenerictypeContext) { case antlr.ATNInvalidAltNumber: goto errorExit } - p.SetState(9171) + p.SetState(9170) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 843, p.GetParserRuleContext()) == 1 { { - p.SetState(9170) + p.SetState(9169) p.Attrs() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(9174) + p.SetState(9173) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 844, p.GetParserRuleContext()) == 1 { { - p.SetState(9173) + p.SetState(9172) p.Opt_type_modifiers() } @@ -139102,6 +138928,112 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } +// IJsontypeContext is an interface to support dynamic dispatch. +type IJsontypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + JSON() antlr.TerminalNode + + // IsJsontypeContext differentiates from other interfaces. + IsJsontypeContext() +} + +type JsontypeContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyJsontypeContext() *JsontypeContext { + var p = new(JsontypeContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_jsontype + return p +} + +func InitEmptyJsontypeContext(p *JsontypeContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_jsontype +} + +func (*JsontypeContext) IsJsontypeContext() {} + +func NewJsontypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *JsontypeContext { + var p = new(JsontypeContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_jsontype + + return p +} + +func (s *JsontypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *JsontypeContext) JSON() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON, 0) +} + +func (s *JsontypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *JsontypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *JsontypeContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterJsontype(s) + } +} + +func (s *JsontypeContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitJsontype(s) + } +} + +func (s *JsontypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitJsontype(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *PostgreSQLParser) Jsontype() (localctx IJsontypeContext) { + localctx = NewJsontypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1136, PostgreSQLParserRULE_jsontype) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(9175) + p.Match(PostgreSQLParserJSON) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + // IOpt_type_modifiersContext is an interface to support dynamic dispatch. type IOpt_type_modifiersContext interface { antlr.ParserRuleContext @@ -139206,10 +139138,10 @@ func (s *Opt_type_modifiersContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Opt_type_modifiers() (localctx IOpt_type_modifiersContext) { localctx = NewOpt_type_modifiersContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1136, PostgreSQLParserRULE_opt_type_modifiers) + p.EnterRule(localctx, 1138, PostgreSQLParserRULE_opt_type_modifiers) p.EnterOuterAlt(localctx, 1) { - p.SetState(9176) + p.SetState(9177) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -139217,11 +139149,11 @@ func (p *PostgreSQLParser) Opt_type_modifiers() (localctx IOpt_type_modifiersCon } } { - p.SetState(9177) + p.SetState(9178) p.Expr_list() } { - p.SetState(9178) + p.SetState(9179) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -139413,8 +139345,8 @@ func (s *NumericContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { localctx = NewNumericContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1138, PostgreSQLParserRULE_numeric) - p.SetState(9204) + p.EnterRule(localctx, 1140, PostgreSQLParserRULE_numeric) + p.SetState(9205) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -139424,7 +139356,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserINT_P: p.EnterOuterAlt(localctx, 1) { - p.SetState(9180) + p.SetState(9181) p.Match(PostgreSQLParserINT_P) if p.HasError() { // Recognition error - abort rule @@ -139435,7 +139367,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserINTEGER: p.EnterOuterAlt(localctx, 2) { - p.SetState(9181) + p.SetState(9182) p.Match(PostgreSQLParserINTEGER) if p.HasError() { // Recognition error - abort rule @@ -139446,7 +139378,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserSMALLINT: p.EnterOuterAlt(localctx, 3) { - p.SetState(9182) + p.SetState(9183) p.Match(PostgreSQLParserSMALLINT) if p.HasError() { // Recognition error - abort rule @@ -139457,7 +139389,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserBIGINT: p.EnterOuterAlt(localctx, 4) { - p.SetState(9183) + p.SetState(9184) p.Match(PostgreSQLParserBIGINT) if p.HasError() { // Recognition error - abort rule @@ -139468,7 +139400,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserREAL: p.EnterOuterAlt(localctx, 5) { - p.SetState(9184) + p.SetState(9185) p.Match(PostgreSQLParserREAL) if p.HasError() { // Recognition error - abort rule @@ -139479,19 +139411,19 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserFLOAT_P: p.EnterOuterAlt(localctx, 6) { - p.SetState(9185) + p.SetState(9186) p.Match(PostgreSQLParserFLOAT_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9187) + p.SetState(9188) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 845, p.GetParserRuleContext()) == 1 { { - p.SetState(9186) + p.SetState(9187) p.Opt_float() } @@ -139502,7 +139434,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserDOUBLE_P: p.EnterOuterAlt(localctx, 7) { - p.SetState(9189) + p.SetState(9190) p.Match(PostgreSQLParserDOUBLE_P) if p.HasError() { // Recognition error - abort rule @@ -139510,7 +139442,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { } } { - p.SetState(9190) + p.SetState(9191) p.Match(PostgreSQLParserPRECISION) if p.HasError() { // Recognition error - abort rule @@ -139521,19 +139453,19 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserDECIMAL_P: p.EnterOuterAlt(localctx, 8) { - p.SetState(9191) + p.SetState(9192) p.Match(PostgreSQLParserDECIMAL_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9193) + p.SetState(9194) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 846, p.GetParserRuleContext()) == 1 { { - p.SetState(9192) + p.SetState(9193) p.Opt_type_modifiers() } @@ -139544,19 +139476,19 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserDEC: p.EnterOuterAlt(localctx, 9) { - p.SetState(9195) + p.SetState(9196) p.Match(PostgreSQLParserDEC) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9197) + p.SetState(9198) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 847, p.GetParserRuleContext()) == 1 { { - p.SetState(9196) + p.SetState(9197) p.Opt_type_modifiers() } @@ -139567,19 +139499,19 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserNUMERIC: p.EnterOuterAlt(localctx, 10) { - p.SetState(9199) + p.SetState(9200) p.Match(PostgreSQLParserNUMERIC) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9201) + p.SetState(9202) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 848, p.GetParserRuleContext()) == 1 { { - p.SetState(9200) + p.SetState(9201) p.Opt_type_modifiers() } @@ -139590,7 +139522,7 @@ func (p *PostgreSQLParser) Numeric() (localctx INumericContext) { case PostgreSQLParserBOOLEAN_P: p.EnterOuterAlt(localctx, 11) { - p.SetState(9203) + p.SetState(9204) p.Match(PostgreSQLParserBOOLEAN_P) if p.HasError() { // Recognition error - abort rule @@ -139720,10 +139652,10 @@ func (s *Opt_floatContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Opt_float() (localctx IOpt_floatContext) { localctx = NewOpt_floatContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1140, PostgreSQLParserRULE_opt_float) + p.EnterRule(localctx, 1142, PostgreSQLParserRULE_opt_float) p.EnterOuterAlt(localctx, 1) { - p.SetState(9206) + p.SetState(9207) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -139731,11 +139663,11 @@ func (p *PostgreSQLParser) Opt_float() (localctx IOpt_floatContext) { } } { - p.SetState(9207) + p.SetState(9208) p.Iconst() } { - p.SetState(9208) + p.SetState(9209) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -139867,8 +139799,8 @@ func (s *BitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Bit() (localctx IBitContext) { localctx = NewBitContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1142, PostgreSQLParserRULE_bit) - p.SetState(9212) + p.EnterRule(localctx, 1144, PostgreSQLParserRULE_bit) + p.SetState(9213) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -139878,14 +139810,14 @@ func (p *PostgreSQLParser) Bit() (localctx IBitContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9210) + p.SetState(9211) p.Bitwithlength() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9211) + p.SetState(9212) p.Bitwithoutlength() } @@ -140017,8 +139949,8 @@ func (s *ConstbitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Constbit() (localctx IConstbitContext) { localctx = NewConstbitContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1144, PostgreSQLParserRULE_constbit) - p.SetState(9216) + p.EnterRule(localctx, 1146, PostgreSQLParserRULE_constbit) + p.SetState(9217) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -140028,14 +139960,14 @@ func (p *PostgreSQLParser) Constbit() (localctx IConstbitContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9214) + p.SetState(9215) p.Bitwithlength() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9215) + p.SetState(9216) p.Bitwithoutlength() } @@ -140182,19 +140114,19 @@ func (s *BitwithlengthContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Bitwithlength() (localctx IBitwithlengthContext) { localctx = NewBitwithlengthContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1146, PostgreSQLParserRULE_bitwithlength) + p.EnterRule(localctx, 1148, PostgreSQLParserRULE_bitwithlength) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9218) + p.SetState(9219) p.Match(PostgreSQLParserBIT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9220) + p.SetState(9221) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -140203,13 +140135,13 @@ func (p *PostgreSQLParser) Bitwithlength() (localctx IBitwithlengthContext) { if _la == PostgreSQLParserVARYING { { - p.SetState(9219) + p.SetState(9220) p.Opt_varying() } } { - p.SetState(9222) + p.SetState(9223) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -140217,11 +140149,11 @@ func (p *PostgreSQLParser) Bitwithlength() (localctx IBitwithlengthContext) { } } { - p.SetState(9223) + p.SetState(9224) p.Expr_list() } { - p.SetState(9224) + p.SetState(9225) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -140341,22 +140273,22 @@ func (s *BitwithoutlengthContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Bitwithoutlength() (localctx IBitwithoutlengthContext) { localctx = NewBitwithoutlengthContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1148, PostgreSQLParserRULE_bitwithoutlength) + p.EnterRule(localctx, 1150, PostgreSQLParserRULE_bitwithoutlength) p.EnterOuterAlt(localctx, 1) { - p.SetState(9226) + p.SetState(9227) p.Match(PostgreSQLParserBIT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9228) + p.SetState(9229) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 853, p.GetParserRuleContext()) == 1 { { - p.SetState(9227) + p.SetState(9228) p.Opt_varying() } @@ -140498,18 +140430,18 @@ func (s *CharacterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Character() (localctx ICharacterContext) { localctx = NewCharacterContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1150, PostgreSQLParserRULE_character) + p.EnterRule(localctx, 1152, PostgreSQLParserRULE_character) p.EnterOuterAlt(localctx, 1) { - p.SetState(9230) + p.SetState(9231) p.Character_c() } - p.SetState(9235) + p.SetState(9236) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 854, p.GetParserRuleContext()) == 1 { { - p.SetState(9231) + p.SetState(9232) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -140517,11 +140449,11 @@ func (p *PostgreSQLParser) Character() (localctx ICharacterContext) { } } { - p.SetState(9232) + p.SetState(9233) p.Iconst() } { - p.SetState(9233) + p.SetState(9234) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -140667,15 +140599,15 @@ func (s *ConstcharacterContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Constcharacter() (localctx IConstcharacterContext) { localctx = NewConstcharacterContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1152, PostgreSQLParserRULE_constcharacter) + p.EnterRule(localctx, 1154, PostgreSQLParserRULE_constcharacter) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9237) + p.SetState(9238) p.Character_c() } - p.SetState(9242) + p.SetState(9243) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -140684,7 +140616,7 @@ func (p *PostgreSQLParser) Constcharacter() (localctx IConstcharacterContext) { if _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(9238) + p.SetState(9239) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -140692,11 +140624,11 @@ func (p *PostgreSQLParser) Constcharacter() (localctx IConstcharacterContext) { } } { - p.SetState(9239) + p.SetState(9240) p.Iconst() } { - p.SetState(9240) + p.SetState(9241) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -140838,10 +140770,10 @@ func (s *Character_cContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Character_c() (localctx ICharacter_cContext) { localctx = NewCharacter_cContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1154, PostgreSQLParserRULE_character_c) + p.EnterRule(localctx, 1156, PostgreSQLParserRULE_character_c) var _la int - p.SetState(9254) + p.SetState(9255) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -140851,22 +140783,22 @@ func (p *PostgreSQLParser) Character_c() (localctx ICharacter_cContext) { case PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserNCHAR: p.EnterOuterAlt(localctx, 1) { - p.SetState(9244) + p.SetState(9245) _la = p.GetTokenStream().LA(1) - if !((int64((_la-404)) & ^0x3f) == 0 && ((int64(1)<<(_la-404))&32771) != 0) { + if !(_la == PostgreSQLParserCHAR_P || _la == PostgreSQLParserCHARACTER || _la == PostgreSQLParserNCHAR) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) p.Consume() } } - p.SetState(9246) + p.SetState(9247) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 856, p.GetParserRuleContext()) == 1 { { - p.SetState(9245) + p.SetState(9246) p.Opt_varying() } @@ -140877,7 +140809,7 @@ func (p *PostgreSQLParser) Character_c() (localctx ICharacter_cContext) { case PostgreSQLParserVARCHAR: p.EnterOuterAlt(localctx, 2) { - p.SetState(9248) + p.SetState(9249) p.Match(PostgreSQLParserVARCHAR) if p.HasError() { // Recognition error - abort rule @@ -140888,7 +140820,7 @@ func (p *PostgreSQLParser) Character_c() (localctx ICharacter_cContext) { case PostgreSQLParserNATIONAL: p.EnterOuterAlt(localctx, 3) { - p.SetState(9249) + p.SetState(9250) p.Match(PostgreSQLParserNATIONAL) if p.HasError() { // Recognition error - abort rule @@ -140896,7 +140828,7 @@ func (p *PostgreSQLParser) Character_c() (localctx ICharacter_cContext) { } } { - p.SetState(9250) + p.SetState(9251) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserCHAR_P || _la == PostgreSQLParserCHARACTER) { @@ -140906,12 +140838,12 @@ func (p *PostgreSQLParser) Character_c() (localctx ICharacter_cContext) { p.Consume() } } - p.SetState(9252) + p.SetState(9253) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 857, p.GetParserRuleContext()) == 1 { { - p.SetState(9251) + p.SetState(9252) p.Opt_varying() } @@ -141019,10 +140951,10 @@ func (s *Opt_varyingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Opt_varying() (localctx IOpt_varyingContext) { localctx = NewOpt_varyingContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1156, PostgreSQLParserRULE_opt_varying) + p.EnterRule(localctx, 1158, PostgreSQLParserRULE_opt_varying) p.EnterOuterAlt(localctx, 1) { - p.SetState(9256) + p.SetState(9257) p.Match(PostgreSQLParserVARYING) if p.HasError() { // Recognition error - abort rule @@ -141174,12 +141106,12 @@ func (s *ConstdatetimeContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Constdatetime() (localctx IConstdatetimeContext) { localctx = NewConstdatetimeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1158, PostgreSQLParserRULE_constdatetime) + p.EnterRule(localctx, 1160, PostgreSQLParserRULE_constdatetime) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9258) + p.SetState(9259) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserTIME || _la == PostgreSQLParserTIMESTAMP) { @@ -141189,12 +141121,12 @@ func (p *PostgreSQLParser) Constdatetime() (localctx IConstdatetimeContext) { p.Consume() } } - p.SetState(9263) + p.SetState(9264) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 859, p.GetParserRuleContext()) == 1 { { - p.SetState(9259) + p.SetState(9260) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -141202,11 +141134,11 @@ func (p *PostgreSQLParser) Constdatetime() (localctx IConstdatetimeContext) { } } { - p.SetState(9260) + p.SetState(9261) p.Iconst() } { - p.SetState(9261) + p.SetState(9262) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -141217,12 +141149,12 @@ func (p *PostgreSQLParser) Constdatetime() (localctx IConstdatetimeContext) { } else if p.HasError() { // JIM goto errorExit } - p.SetState(9266) + p.SetState(9267) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 860, p.GetParserRuleContext()) == 1 { { - p.SetState(9265) + p.SetState(9266) p.Opt_timezone() } @@ -141325,10 +141257,10 @@ func (s *ConstintervalContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Constinterval() (localctx IConstintervalContext) { localctx = NewConstintervalContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1160, PostgreSQLParserRULE_constinterval) + p.EnterRule(localctx, 1162, PostgreSQLParserRULE_constinterval) p.EnterOuterAlt(localctx, 1) { - p.SetState(9268) + p.SetState(9269) p.Match(PostgreSQLParserINTERVAL) if p.HasError() { // Recognition error - abort rule @@ -141446,8 +141378,8 @@ func (s *Opt_timezoneContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { localctx = NewOpt_timezoneContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1162, PostgreSQLParserRULE_opt_timezone) - p.SetState(9276) + p.EnterRule(localctx, 1164, PostgreSQLParserRULE_opt_timezone) + p.SetState(9277) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -141457,7 +141389,7 @@ func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { case PostgreSQLParserWITH: p.EnterOuterAlt(localctx, 1) { - p.SetState(9270) + p.SetState(9271) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -141465,7 +141397,7 @@ func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { } } { - p.SetState(9271) + p.SetState(9272) p.Match(PostgreSQLParserTIME) if p.HasError() { // Recognition error - abort rule @@ -141473,7 +141405,7 @@ func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { } } { - p.SetState(9272) + p.SetState(9273) p.Match(PostgreSQLParserZONE) if p.HasError() { // Recognition error - abort rule @@ -141484,7 +141416,7 @@ func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { case PostgreSQLParserWITHOUT: p.EnterOuterAlt(localctx, 2) { - p.SetState(9273) + p.SetState(9274) p.Match(PostgreSQLParserWITHOUT) if p.HasError() { // Recognition error - abort rule @@ -141492,7 +141424,7 @@ func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { } } { - p.SetState(9274) + p.SetState(9275) p.Match(PostgreSQLParserTIME) if p.HasError() { // Recognition error - abort rule @@ -141500,7 +141432,7 @@ func (p *PostgreSQLParser) Opt_timezone() (localctx IOpt_timezoneContext) { } } { - p.SetState(9275) + p.SetState(9276) p.Match(PostgreSQLParserZONE) if p.HasError() { // Recognition error - abort rule @@ -141650,8 +141582,8 @@ func (s *Opt_intervalContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { localctx = NewOpt_intervalContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1164, PostgreSQLParserRULE_opt_interval) - p.SetState(9303) + p.EnterRule(localctx, 1166, PostgreSQLParserRULE_opt_interval) + p.SetState(9304) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -141661,7 +141593,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9278) + p.SetState(9279) p.Match(PostgreSQLParserYEAR_P) if p.HasError() { // Recognition error - abort rule @@ -141672,7 +141604,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9279) + p.SetState(9280) p.Match(PostgreSQLParserMONTH_P) if p.HasError() { // Recognition error - abort rule @@ -141683,7 +141615,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9280) + p.SetState(9281) p.Match(PostgreSQLParserDAY_P) if p.HasError() { // Recognition error - abort rule @@ -141694,7 +141626,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(9281) + p.SetState(9282) p.Match(PostgreSQLParserHOUR_P) if p.HasError() { // Recognition error - abort rule @@ -141705,7 +141637,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(9282) + p.SetState(9283) p.Match(PostgreSQLParserMINUTE_P) if p.HasError() { // Recognition error - abort rule @@ -141716,14 +141648,14 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(9283) + p.SetState(9284) p.Interval_second() } case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(9284) + p.SetState(9285) p.Match(PostgreSQLParserYEAR_P) if p.HasError() { // Recognition error - abort rule @@ -141731,7 +141663,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { } } { - p.SetState(9285) + p.SetState(9286) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -141739,7 +141671,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { } } { - p.SetState(9286) + p.SetState(9287) p.Match(PostgreSQLParserMONTH_P) if p.HasError() { // Recognition error - abort rule @@ -141750,7 +141682,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(9287) + p.SetState(9288) p.Match(PostgreSQLParserDAY_P) if p.HasError() { // Recognition error - abort rule @@ -141758,14 +141690,14 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { } } { - p.SetState(9288) + p.SetState(9289) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9292) + p.SetState(9293) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -141774,7 +141706,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserHOUR_P: { - p.SetState(9289) + p.SetState(9290) p.Match(PostgreSQLParserHOUR_P) if p.HasError() { // Recognition error - abort rule @@ -141784,7 +141716,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case PostgreSQLParserMINUTE_P: { - p.SetState(9290) + p.SetState(9291) p.Match(PostgreSQLParserMINUTE_P) if p.HasError() { // Recognition error - abort rule @@ -141794,7 +141726,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case PostgreSQLParserSECOND_P: { - p.SetState(9291) + p.SetState(9292) p.Interval_second() } @@ -141806,7 +141738,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(9294) + p.SetState(9295) p.Match(PostgreSQLParserHOUR_P) if p.HasError() { // Recognition error - abort rule @@ -141814,14 +141746,14 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { } } { - p.SetState(9295) + p.SetState(9296) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9298) + p.SetState(9299) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -141830,7 +141762,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserMINUTE_P: { - p.SetState(9296) + p.SetState(9297) p.Match(PostgreSQLParserMINUTE_P) if p.HasError() { // Recognition error - abort rule @@ -141840,7 +141772,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case PostgreSQLParserSECOND_P: { - p.SetState(9297) + p.SetState(9298) p.Interval_second() } @@ -141852,7 +141784,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(9300) + p.SetState(9301) p.Match(PostgreSQLParserMINUTE_P) if p.HasError() { // Recognition error - abort rule @@ -141860,7 +141792,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { } } { - p.SetState(9301) + p.SetState(9302) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -141868,7 +141800,7 @@ func (p *PostgreSQLParser) Opt_interval() (localctx IOpt_intervalContext) { } } { - p.SetState(9302) + p.SetState(9303) p.Interval_second() } @@ -141998,22 +141930,22 @@ func (s *Interval_secondContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Interval_second() (localctx IInterval_secondContext) { localctx = NewInterval_secondContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1166, PostgreSQLParserRULE_interval_second) + p.EnterRule(localctx, 1168, PostgreSQLParserRULE_interval_second) p.EnterOuterAlt(localctx, 1) { - p.SetState(9305) + p.SetState(9306) p.Match(PostgreSQLParserSECOND_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9310) + p.SetState(9311) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 865, p.GetParserRuleContext()) == 1 { { - p.SetState(9306) + p.SetState(9307) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -142021,11 +141953,11 @@ func (p *PostgreSQLParser) Interval_second() (localctx IInterval_secondContext) } } { - p.SetState(9307) + p.SetState(9308) p.Iconst() } { - p.SetState(9308) + p.SetState(9309) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -142149,10 +142081,10 @@ func (s *Opt_escapeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Opt_escape() (localctx IOpt_escapeContext) { localctx = NewOpt_escapeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1168, PostgreSQLParserRULE_opt_escape) + p.EnterRule(localctx, 1170, PostgreSQLParserRULE_opt_escape) p.EnterOuterAlt(localctx, 1) { - p.SetState(9312) + p.SetState(9313) p.Match(PostgreSQLParserESCAPE) if p.HasError() { // Recognition error - abort rule @@ -142160,7 +142092,7 @@ func (p *PostgreSQLParser) Opt_escape() (localctx IOpt_escapeContext) { } } { - p.SetState(9313) + p.SetState(9314) p.A_expr() } @@ -142271,10 +142203,10 @@ func (s *A_exprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) A_expr() (localctx IA_exprContext) { localctx = NewA_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1170, PostgreSQLParserRULE_a_expr) + p.EnterRule(localctx, 1172, PostgreSQLParserRULE_a_expr) p.EnterOuterAlt(localctx, 1) { - p.SetState(9315) + p.SetState(9316) p.A_expr_qual() } @@ -142402,18 +142334,18 @@ func (s *A_expr_qualContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) A_expr_qual() (localctx IA_expr_qualContext) { localctx = NewA_expr_qualContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1172, PostgreSQLParserRULE_a_expr_qual) + p.EnterRule(localctx, 1174, PostgreSQLParserRULE_a_expr_qual) p.EnterOuterAlt(localctx, 1) { - p.SetState(9317) + p.SetState(9318) p.A_expr_lessless() } - p.SetState(9319) + p.SetState(9320) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 866, p.GetParserRuleContext()) == 1 { { - p.SetState(9318) + p.SetState(9319) p.Qual_op() } @@ -142574,17 +142506,17 @@ func (s *A_expr_lesslessContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) A_expr_lessless() (localctx IA_expr_lesslessContext) { localctx = NewA_expr_lesslessContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1174, PostgreSQLParserRULE_a_expr_lessless) + p.EnterRule(localctx, 1176, PostgreSQLParserRULE_a_expr_lessless) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(9321) + p.SetState(9322) p.A_expr_or() } - p.SetState(9326) + p.SetState(9327) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -142596,7 +142528,7 @@ func (p *PostgreSQLParser) A_expr_lessless() (localctx IA_expr_lesslessContext) for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9322) + p.SetState(9323) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserLESS_LESS || _la == PostgreSQLParserGREATER_GREATER) { @@ -142607,12 +142539,12 @@ func (p *PostgreSQLParser) A_expr_lessless() (localctx IA_expr_lesslessContext) } } { - p.SetState(9323) + p.SetState(9324) p.A_expr_or() } } - p.SetState(9328) + p.SetState(9329) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -142766,15 +142698,15 @@ func (s *A_expr_orContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) A_expr_or() (localctx IA_expr_orContext) { localctx = NewA_expr_orContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1176, PostgreSQLParserRULE_a_expr_or) + p.EnterRule(localctx, 1178, PostgreSQLParserRULE_a_expr_or) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(9329) + p.SetState(9330) p.A_expr_and() } - p.SetState(9334) + p.SetState(9335) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -142786,7 +142718,7 @@ func (p *PostgreSQLParser) A_expr_or() (localctx IA_expr_orContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9330) + p.SetState(9331) p.Match(PostgreSQLParserOR) if p.HasError() { // Recognition error - abort rule @@ -142794,12 +142726,12 @@ func (p *PostgreSQLParser) A_expr_or() (localctx IA_expr_orContext) { } } { - p.SetState(9331) + p.SetState(9332) p.A_expr_and() } } - p.SetState(9336) + p.SetState(9337) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -142953,15 +142885,15 @@ func (s *A_expr_andContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) A_expr_and() (localctx IA_expr_andContext) { localctx = NewA_expr_andContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1178, PostgreSQLParserRULE_a_expr_and) + p.EnterRule(localctx, 1180, PostgreSQLParserRULE_a_expr_and) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(9337) + p.SetState(9338) p.A_expr_between() } - p.SetState(9342) + p.SetState(9343) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -142973,7 +142905,7 @@ func (p *PostgreSQLParser) A_expr_and() (localctx IA_expr_andContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9338) + p.SetState(9339) p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule @@ -142981,12 +142913,12 @@ func (p *PostgreSQLParser) A_expr_and() (localctx IA_expr_andContext) { } } { - p.SetState(9339) + p.SetState(9340) p.A_expr_between() } } - p.SetState(9344) + p.SetState(9345) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143150,19 +143082,19 @@ func (s *A_expr_betweenContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) A_expr_between() (localctx IA_expr_betweenContext) { localctx = NewA_expr_betweenContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1180, PostgreSQLParserRULE_a_expr_between) + p.EnterRule(localctx, 1182, PostgreSQLParserRULE_a_expr_between) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9345) + p.SetState(9346) p.A_expr_in() } - p.SetState(9357) + p.SetState(9358) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 872, p.GetParserRuleContext()) == 1 { - p.SetState(9347) + p.SetState(9348) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143171,7 +143103,7 @@ func (p *PostgreSQLParser) A_expr_between() (localctx IA_expr_betweenContext) { if _la == PostgreSQLParserNOT { { - p.SetState(9346) + p.SetState(9347) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -143181,14 +143113,14 @@ func (p *PostgreSQLParser) A_expr_between() (localctx IA_expr_betweenContext) { } { - p.SetState(9349) + p.SetState(9350) p.Match(PostgreSQLParserBETWEEN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9351) + p.SetState(9352) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143197,7 +143129,7 @@ func (p *PostgreSQLParser) A_expr_between() (localctx IA_expr_betweenContext) { if _la == PostgreSQLParserSYMMETRIC { { - p.SetState(9350) + p.SetState(9351) p.Match(PostgreSQLParserSYMMETRIC) if p.HasError() { // Recognition error - abort rule @@ -143207,11 +143139,11 @@ func (p *PostgreSQLParser) A_expr_between() (localctx IA_expr_betweenContext) { } { - p.SetState(9353) + p.SetState(9354) p.A_expr_in() } { - p.SetState(9354) + p.SetState(9355) p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule @@ -143219,7 +143151,7 @@ func (p *PostgreSQLParser) A_expr_between() (localctx IA_expr_betweenContext) { } } { - p.SetState(9355) + p.SetState(9356) p.A_expr_in() } @@ -143361,19 +143293,19 @@ func (s *A_expr_inContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) A_expr_in() (localctx IA_expr_inContext) { localctx = NewA_expr_inContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1182, PostgreSQLParserRULE_a_expr_in) + p.EnterRule(localctx, 1184, PostgreSQLParserRULE_a_expr_in) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9359) + p.SetState(9360) p.A_expr_unary_not() } - p.SetState(9365) + p.SetState(9366) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 874, p.GetParserRuleContext()) == 1 { - p.SetState(9361) + p.SetState(9362) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143382,7 +143314,7 @@ func (p *PostgreSQLParser) A_expr_in() (localctx IA_expr_inContext) { if _la == PostgreSQLParserNOT { { - p.SetState(9360) + p.SetState(9361) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -143392,7 +143324,7 @@ func (p *PostgreSQLParser) A_expr_in() (localctx IA_expr_inContext) { } { - p.SetState(9363) + p.SetState(9364) p.Match(PostgreSQLParserIN_P) if p.HasError() { // Recognition error - abort rule @@ -143400,7 +143332,7 @@ func (p *PostgreSQLParser) A_expr_in() (localctx IA_expr_inContext) { } } { - p.SetState(9364) + p.SetState(9365) p.In_expr() } @@ -143520,11 +143452,11 @@ func (s *A_expr_unary_notContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) A_expr_unary_not() (localctx IA_expr_unary_notContext) { localctx = NewA_expr_unary_notContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1184, PostgreSQLParserRULE_a_expr_unary_not) + p.EnterRule(localctx, 1186, PostgreSQLParserRULE_a_expr_unary_not) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(9368) + p.SetState(9369) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143533,7 +143465,7 @@ func (p *PostgreSQLParser) A_expr_unary_not() (localctx IA_expr_unary_notContext if _la == PostgreSQLParserNOT { { - p.SetState(9367) + p.SetState(9368) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -143543,7 +143475,7 @@ func (p *PostgreSQLParser) A_expr_unary_not() (localctx IA_expr_unary_notContext } { - p.SetState(9370) + p.SetState(9371) p.A_expr_isnull() } @@ -143664,20 +143596,20 @@ func (s *A_expr_isnullContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) A_expr_isnull() (localctx IA_expr_isnullContext) { localctx = NewA_expr_isnullContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1186, PostgreSQLParserRULE_a_expr_isnull) + p.EnterRule(localctx, 1188, PostgreSQLParserRULE_a_expr_isnull) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9372) + p.SetState(9373) p.A_expr_is_not() } - p.SetState(9374) + p.SetState(9375) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 876, p.GetParserRuleContext()) == 1 { { - p.SetState(9373) + p.SetState(9374) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserISNULL || _la == PostgreSQLParserNOTNULL) { @@ -143915,27 +143847,27 @@ func (s *A_expr_is_notContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { localctx = NewA_expr_is_notContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1188, PostgreSQLParserRULE_a_expr_is_not) + p.EnterRule(localctx, 1190, PostgreSQLParserRULE_a_expr_is_not) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9376) + p.SetState(9377) p.A_expr_compare() } - p.SetState(9400) + p.SetState(9401) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 880, p.GetParserRuleContext()) == 1 { { - p.SetState(9377) + p.SetState(9378) p.Match(PostgreSQLParserIS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9379) + p.SetState(9380) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143944,7 +143876,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { if _la == PostgreSQLParserNOT { { - p.SetState(9378) + p.SetState(9379) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -143953,7 +143885,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { } } - p.SetState(9398) + p.SetState(9399) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -143962,7 +143894,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserNULL_P: { - p.SetState(9381) + p.SetState(9382) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -143972,7 +143904,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { case PostgreSQLParserTRUE_P: { - p.SetState(9382) + p.SetState(9383) p.Match(PostgreSQLParserTRUE_P) if p.HasError() { // Recognition error - abort rule @@ -143982,7 +143914,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { case PostgreSQLParserFALSE_P: { - p.SetState(9383) + p.SetState(9384) p.Match(PostgreSQLParserFALSE_P) if p.HasError() { // Recognition error - abort rule @@ -143992,7 +143924,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { case PostgreSQLParserUNKNOWN: { - p.SetState(9384) + p.SetState(9385) p.Match(PostgreSQLParserUNKNOWN) if p.HasError() { // Recognition error - abort rule @@ -144002,7 +143934,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { case PostgreSQLParserDISTINCT: { - p.SetState(9385) + p.SetState(9386) p.Match(PostgreSQLParserDISTINCT) if p.HasError() { // Recognition error - abort rule @@ -144010,7 +143942,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { } } { - p.SetState(9386) + p.SetState(9387) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -144018,13 +143950,13 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { } } { - p.SetState(9387) + p.SetState(9388) p.A_expr() } case PostgreSQLParserOF: { - p.SetState(9388) + p.SetState(9389) p.Match(PostgreSQLParserOF) if p.HasError() { // Recognition error - abort rule @@ -144032,7 +143964,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { } } { - p.SetState(9389) + p.SetState(9390) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -144040,11 +143972,11 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { } } { - p.SetState(9390) + p.SetState(9391) p.Type_list() } { - p.SetState(9391) + p.SetState(9392) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -144054,7 +143986,7 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { case PostgreSQLParserDOCUMENT_P: { - p.SetState(9393) + p.SetState(9394) p.Match(PostgreSQLParserDOCUMENT_P) if p.HasError() { // Recognition error - abort rule @@ -144062,23 +143994,23 @@ func (p *PostgreSQLParser) A_expr_is_not() (localctx IA_expr_is_notContext) { } } - case PostgreSQLParserNORMALIZED, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD: - p.SetState(9395) + case PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNORMALIZED: + p.SetState(9396) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if (int64((_la-504)) & ^0x3f) == 0 && ((int64(1)<<(_la-504))&15) != 0 { + if (int64((_la-266)) & ^0x3f) == 0 && ((int64(1)<<(_la-266))&15) != 0 { { - p.SetState(9394) + p.SetState(9395) p.Unicode_normal_form() } } { - p.SetState(9397) + p.SetState(9398) p.Match(PostgreSQLParserNORMALIZED) if p.HasError() { // Recognition error - abort rule @@ -144336,23 +144268,23 @@ func (s *A_expr_compareContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) A_expr_compare() (localctx IA_expr_compareContext) { localctx = NewA_expr_compareContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1190, PostgreSQLParserRULE_a_expr_compare) + p.EnterRule(localctx, 1192, PostgreSQLParserRULE_a_expr_compare) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9402) + p.SetState(9403) p.A_expr_like() } - p.SetState(9414) + p.SetState(9415) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 882, p.GetParserRuleContext()) == 1 { { - p.SetState(9403) + p.SetState(9404) _la = p.GetTokenStream().LA(1) - if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&44237824) != 0) { + if !((int64((_la-504)) & ^0x3f) == 0 && ((int64(1)<<(_la-504))&43201) != 0) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -144360,7 +144292,7 @@ func (p *PostgreSQLParser) A_expr_compare() (localctx IA_expr_compareContext) { } } { - p.SetState(9404) + p.SetState(9405) p.A_expr_like() } @@ -144368,14 +144300,14 @@ func (p *PostgreSQLParser) A_expr_compare() (localctx IA_expr_compareContext) { goto errorExit } else if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 882, p.GetParserRuleContext()) == 2 { { - p.SetState(9405) + p.SetState(9406) p.Subquery_Op() } { - p.SetState(9406) + p.SetState(9407) p.Sub_type() } - p.SetState(9412) + p.SetState(9413) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -144384,13 +144316,13 @@ func (p *PostgreSQLParser) A_expr_compare() (localctx IA_expr_compareContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 881, p.GetParserRuleContext()) { case 1: { - p.SetState(9407) + p.SetState(9408) p.Select_with_parens() } case 2: { - p.SetState(9408) + p.SetState(9409) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -144398,11 +144330,11 @@ func (p *PostgreSQLParser) A_expr_compare() (localctx IA_expr_compareContext) { } } { - p.SetState(9409) + p.SetState(9410) p.A_expr() } { - p.SetState(9410) + p.SetState(9411) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -144593,19 +144525,19 @@ func (s *A_expr_likeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { localctx = NewA_expr_likeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1192, PostgreSQLParserRULE_a_expr_like) + p.EnterRule(localctx, 1194, PostgreSQLParserRULE_a_expr_like) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9416) + p.SetState(9417) p.A_expr_qual_op() } - p.SetState(9430) + p.SetState(9431) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 886, p.GetParserRuleContext()) == 1 { - p.SetState(9418) + p.SetState(9419) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -144614,7 +144546,7 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { if _la == PostgreSQLParserNOT { { - p.SetState(9417) + p.SetState(9418) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -144623,7 +144555,7 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { } } - p.SetState(9424) + p.SetState(9425) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -144632,7 +144564,7 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserLIKE: { - p.SetState(9420) + p.SetState(9421) p.Match(PostgreSQLParserLIKE) if p.HasError() { // Recognition error - abort rule @@ -144642,7 +144574,7 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { case PostgreSQLParserILIKE: { - p.SetState(9421) + p.SetState(9422) p.Match(PostgreSQLParserILIKE) if p.HasError() { // Recognition error - abort rule @@ -144652,7 +144584,7 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { case PostgreSQLParserSIMILAR: { - p.SetState(9422) + p.SetState(9423) p.Match(PostgreSQLParserSIMILAR) if p.HasError() { // Recognition error - abort rule @@ -144660,7 +144592,7 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { } } { - p.SetState(9423) + p.SetState(9424) p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule @@ -144673,15 +144605,15 @@ func (p *PostgreSQLParser) A_expr_like() (localctx IA_expr_likeContext) { goto errorExit } { - p.SetState(9426) + p.SetState(9427) p.A_expr_qual_op() } - p.SetState(9428) + p.SetState(9429) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 885, p.GetParserRuleContext()) == 1 { { - p.SetState(9427) + p.SetState(9428) p.Opt_escape() } @@ -144869,15 +144801,15 @@ func (s *A_expr_qual_opContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) A_expr_qual_op() (localctx IA_expr_qual_opContext) { localctx = NewA_expr_qual_opContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1194, PostgreSQLParserRULE_a_expr_qual_op) + p.EnterRule(localctx, 1196, PostgreSQLParserRULE_a_expr_qual_op) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(9432) + p.SetState(9433) p.A_expr_unary_qualop() } - p.SetState(9438) + p.SetState(9439) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -144889,16 +144821,16 @@ func (p *PostgreSQLParser) A_expr_qual_op() (localctx IA_expr_qual_opContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9433) + p.SetState(9434) p.Qual_op() } { - p.SetState(9434) + p.SetState(9435) p.A_expr_unary_qualop() } } - p.SetState(9440) + p.SetState(9441) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -145033,14 +144965,14 @@ func (s *A_expr_unary_qualopContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) A_expr_unary_qualop() (localctx IA_expr_unary_qualopContext) { localctx = NewA_expr_unary_qualopContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1196, PostgreSQLParserRULE_a_expr_unary_qualop) + p.EnterRule(localctx, 1198, PostgreSQLParserRULE_a_expr_unary_qualop) p.EnterOuterAlt(localctx, 1) - p.SetState(9442) + p.SetState(9443) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 888, p.GetParserRuleContext()) == 1 { { - p.SetState(9441) + p.SetState(9442) p.Qual_op() } @@ -145048,7 +144980,7 @@ func (p *PostgreSQLParser) A_expr_unary_qualop() (localctx IA_expr_unary_qualopC goto errorExit } { - p.SetState(9444) + p.SetState(9445) p.A_expr_add() } @@ -145205,17 +145137,17 @@ func (s *A_expr_addContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) A_expr_add() (localctx IA_expr_addContext) { localctx = NewA_expr_addContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1198, PostgreSQLParserRULE_a_expr_add) + p.EnterRule(localctx, 1200, PostgreSQLParserRULE_a_expr_add) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(9446) + p.SetState(9447) p.A_expr_mul() } - p.SetState(9451) + p.SetState(9452) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -145227,7 +145159,7 @@ func (p *PostgreSQLParser) A_expr_add() (localctx IA_expr_addContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9447) + p.SetState(9448) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserPLUS || _la == PostgreSQLParserMINUS) { @@ -145238,12 +145170,12 @@ func (p *PostgreSQLParser) A_expr_add() (localctx IA_expr_addContext) { } } { - p.SetState(9448) + p.SetState(9449) p.A_expr_mul() } } - p.SetState(9453) + p.SetState(9454) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -145417,17 +145349,17 @@ func (s *A_expr_mulContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) A_expr_mul() (localctx IA_expr_mulContext) { localctx = NewA_expr_mulContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1200, PostgreSQLParserRULE_a_expr_mul) + p.EnterRule(localctx, 1202, PostgreSQLParserRULE_a_expr_mul) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(9454) + p.SetState(9455) p.A_expr_caret() } - p.SetState(9459) + p.SetState(9460) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -145439,10 +145371,10 @@ func (p *PostgreSQLParser) A_expr_mul() (localctx IA_expr_mulContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(9455) + p.SetState(9456) _la = p.GetTokenStream().LA(1) - if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&134234624) != 0) { + if !((int64((_la-503)) & ^0x3f) == 0 && ((int64(1)<<(_la-503))&262177) != 0) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -145450,12 +145382,12 @@ func (p *PostgreSQLParser) A_expr_mul() (localctx IA_expr_mulContext) { } } { - p.SetState(9456) + p.SetState(9457) p.A_expr_caret() } } - p.SetState(9461) + p.SetState(9462) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -145595,18 +145527,18 @@ func (s *A_expr_caretContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) A_expr_caret() (localctx IA_expr_caretContext) { localctx = NewA_expr_caretContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1202, PostgreSQLParserRULE_a_expr_caret) + p.EnterRule(localctx, 1204, PostgreSQLParserRULE_a_expr_caret) p.EnterOuterAlt(localctx, 1) { - p.SetState(9462) + p.SetState(9463) p.A_expr_unary_sign() } - p.SetState(9465) + p.SetState(9466) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 891, p.GetParserRuleContext()) == 1 { { - p.SetState(9463) + p.SetState(9464) p.Match(PostgreSQLParserCARET) if p.HasError() { // Recognition error - abort rule @@ -145614,7 +145546,7 @@ func (p *PostgreSQLParser) A_expr_caret() (localctx IA_expr_caretContext) { } } { - p.SetState(9464) + p.SetState(9465) p.A_expr() } @@ -145739,11 +145671,11 @@ func (s *A_expr_unary_signContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *PostgreSQLParser) A_expr_unary_sign() (localctx IA_expr_unary_signContext) { localctx = NewA_expr_unary_signContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1204, PostgreSQLParserRULE_a_expr_unary_sign) + p.EnterRule(localctx, 1206, PostgreSQLParserRULE_a_expr_unary_sign) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(9468) + p.SetState(9469) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -145752,7 +145684,7 @@ func (p *PostgreSQLParser) A_expr_unary_sign() (localctx IA_expr_unary_signConte if _la == PostgreSQLParserPLUS || _la == PostgreSQLParserMINUS { { - p.SetState(9467) + p.SetState(9468) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserPLUS || _la == PostgreSQLParserMINUS) { @@ -145765,7 +145697,7 @@ func (p *PostgreSQLParser) A_expr_unary_sign() (localctx IA_expr_unary_signConte } { - p.SetState(9470) + p.SetState(9471) p.A_expr_at_time_zone() } @@ -145908,18 +145840,18 @@ func (s *A_expr_at_time_zoneContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) A_expr_at_time_zone() (localctx IA_expr_at_time_zoneContext) { localctx = NewA_expr_at_time_zoneContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1206, PostgreSQLParserRULE_a_expr_at_time_zone) + p.EnterRule(localctx, 1208, PostgreSQLParserRULE_a_expr_at_time_zone) p.EnterOuterAlt(localctx, 1) { - p.SetState(9472) + p.SetState(9473) p.A_expr_collate() } - p.SetState(9477) + p.SetState(9478) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 893, p.GetParserRuleContext()) == 1 { { - p.SetState(9473) + p.SetState(9474) p.Match(PostgreSQLParserAT) if p.HasError() { // Recognition error - abort rule @@ -145927,7 +145859,7 @@ func (p *PostgreSQLParser) A_expr_at_time_zone() (localctx IA_expr_at_time_zoneC } } { - p.SetState(9474) + p.SetState(9475) p.Match(PostgreSQLParserTIME) if p.HasError() { // Recognition error - abort rule @@ -145935,7 +145867,7 @@ func (p *PostgreSQLParser) A_expr_at_time_zone() (localctx IA_expr_at_time_zoneC } } { - p.SetState(9475) + p.SetState(9476) p.Match(PostgreSQLParserZONE) if p.HasError() { // Recognition error - abort rule @@ -145943,7 +145875,7 @@ func (p *PostgreSQLParser) A_expr_at_time_zone() (localctx IA_expr_at_time_zoneC } } { - p.SetState(9476) + p.SetState(9477) p.A_expr() } @@ -146080,18 +146012,18 @@ func (s *A_expr_collateContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) A_expr_collate() (localctx IA_expr_collateContext) { localctx = NewA_expr_collateContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1208, PostgreSQLParserRULE_a_expr_collate) + p.EnterRule(localctx, 1210, PostgreSQLParserRULE_a_expr_collate) p.EnterOuterAlt(localctx, 1) { - p.SetState(9479) + p.SetState(9480) p.A_expr_typecast() } - p.SetState(9482) + p.SetState(9483) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 894, p.GetParserRuleContext()) == 1 { { - p.SetState(9480) + p.SetState(9481) p.Match(PostgreSQLParserCOLLATE) if p.HasError() { // Recognition error - abort rule @@ -146099,7 +146031,7 @@ func (p *PostgreSQLParser) A_expr_collate() (localctx IA_expr_collateContext) { } } { - p.SetState(9481) + p.SetState(9482) p.Any_name() } @@ -146267,15 +146199,15 @@ func (s *A_expr_typecastContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) A_expr_typecast() (localctx IA_expr_typecastContext) { localctx = NewA_expr_typecastContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1210, PostgreSQLParserRULE_a_expr_typecast) + p.EnterRule(localctx, 1212, PostgreSQLParserRULE_a_expr_typecast) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9484) + p.SetState(9485) p.C_expr() } - p.SetState(9489) + p.SetState(9490) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146284,7 +146216,7 @@ func (p *PostgreSQLParser) A_expr_typecast() (localctx IA_expr_typecastContext) for _la == PostgreSQLParserTYPECAST { { - p.SetState(9485) + p.SetState(9486) p.Match(PostgreSQLParserTYPECAST) if p.HasError() { // Recognition error - abort rule @@ -146292,11 +146224,11 @@ func (p *PostgreSQLParser) A_expr_typecast() (localctx IA_expr_typecastContext) } } { - p.SetState(9486) + p.SetState(9487) p.Typename() } - p.SetState(9491) + p.SetState(9492) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146619,14 +146551,14 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { localctx = NewB_exprContext(p, p.GetParserRuleContext(), _parentState) var _prevctx IB_exprContext = localctx var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. - _startState := 1212 - p.EnterRecursionRule(localctx, 1212, PostgreSQLParserRULE_b_expr, _p) + _startState := 1214 + p.EnterRecursionRule(localctx, 1214, PostgreSQLParserRULE_b_expr, _p) var _la int var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(9499) + p.SetState(9500) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146635,13 +146567,13 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 896, p.GetParserRuleContext()) { case 1: { - p.SetState(9493) + p.SetState(9494) p.C_expr() } case 2: { - p.SetState(9494) + p.SetState(9495) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserPLUS || _la == PostgreSQLParserMINUS) { @@ -146652,17 +146584,17 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9495) + p.SetState(9496) p.b_expr(9) } case 3: { - p.SetState(9496) + p.SetState(9497) p.Qual_op() } { - p.SetState(9497) + p.SetState(9498) p.b_expr(3) } @@ -146670,7 +146602,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { goto errorExit } p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) - p.SetState(9540) + p.SetState(9541) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146685,7 +146617,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { p.TriggerExitRuleEvent() } _prevctx = localctx - p.SetState(9538) + p.SetState(9539) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146695,14 +146627,14 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { case 1: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9501) + p.SetState(9502) if !(p.Precpred(p.GetParserRuleContext(), 8)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 8)", "")) goto errorExit } { - p.SetState(9502) + p.SetState(9503) p.Match(PostgreSQLParserCARET) if p.HasError() { // Recognition error - abort rule @@ -146710,24 +146642,24 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9503) + p.SetState(9504) p.b_expr(9) } case 2: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9504) + p.SetState(9505) if !(p.Precpred(p.GetParserRuleContext(), 7)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 7)", "")) goto errorExit } { - p.SetState(9505) + p.SetState(9506) _la = p.GetTokenStream().LA(1) - if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&134234624) != 0) { + if !((int64((_la-503)) & ^0x3f) == 0 && ((int64(1)<<(_la-503))&262177) != 0) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -146735,21 +146667,21 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9506) + p.SetState(9507) p.b_expr(8) } case 3: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9507) + p.SetState(9508) if !(p.Precpred(p.GetParserRuleContext(), 6)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 6)", "")) goto errorExit } { - p.SetState(9508) + p.SetState(9509) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserPLUS || _la == PostgreSQLParserMINUS) { @@ -146760,42 +146692,42 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9509) + p.SetState(9510) p.b_expr(7) } case 4: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9510) + p.SetState(9511) if !(p.Precpred(p.GetParserRuleContext(), 5)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 5)", "")) goto errorExit } { - p.SetState(9511) + p.SetState(9512) p.Qual_op() } { - p.SetState(9512) + p.SetState(9513) p.b_expr(6) } case 5: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9514) + p.SetState(9515) if !(p.Precpred(p.GetParserRuleContext(), 4)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 4)", "")) goto errorExit } { - p.SetState(9515) + p.SetState(9516) _la = p.GetTokenStream().LA(1) - if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&44237824) != 0) { + if !((int64((_la-504)) & ^0x3f) == 0 && ((int64(1)<<(_la-504))&43201) != 0) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -146803,21 +146735,21 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9516) + p.SetState(9517) p.b_expr(5) } case 6: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9517) + p.SetState(9518) if !(p.Precpred(p.GetParserRuleContext(), 10)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 10)", "")) goto errorExit } { - p.SetState(9518) + p.SetState(9519) p.Match(PostgreSQLParserTYPECAST) if p.HasError() { // Recognition error - abort rule @@ -146825,42 +146757,42 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9519) + p.SetState(9520) p.Typename() } case 7: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9520) + p.SetState(9521) if !(p.Precpred(p.GetParserRuleContext(), 2)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 2)", "")) goto errorExit } { - p.SetState(9521) + p.SetState(9522) p.Qual_op() } case 8: localctx = NewB_exprContext(p, _parentctx, _parentState) p.PushNewRecursionContext(localctx, _startState, PostgreSQLParserRULE_b_expr) - p.SetState(9522) + p.SetState(9523) if !(p.Precpred(p.GetParserRuleContext(), 1)) { p.SetError(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 1)", "")) goto errorExit } { - p.SetState(9523) + p.SetState(9524) p.Match(PostgreSQLParserIS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9525) + p.SetState(9526) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146869,7 +146801,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { if _la == PostgreSQLParserNOT { { - p.SetState(9524) + p.SetState(9525) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -146878,7 +146810,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } - p.SetState(9536) + p.SetState(9537) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -146887,7 +146819,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserDISTINCT: { - p.SetState(9527) + p.SetState(9528) p.Match(PostgreSQLParserDISTINCT) if p.HasError() { // Recognition error - abort rule @@ -146895,7 +146827,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9528) + p.SetState(9529) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -146903,13 +146835,13 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9529) + p.SetState(9530) p.b_expr(0) } case PostgreSQLParserOF: { - p.SetState(9530) + p.SetState(9531) p.Match(PostgreSQLParserOF) if p.HasError() { // Recognition error - abort rule @@ -146917,7 +146849,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9531) + p.SetState(9532) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -146925,11 +146857,11 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } { - p.SetState(9532) + p.SetState(9533) p.Type_list() } { - p.SetState(9533) + p.SetState(9534) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -146939,7 +146871,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { case PostgreSQLParserDOCUMENT_P: { - p.SetState(9535) + p.SetState(9536) p.Match(PostgreSQLParserDOCUMENT_P) if p.HasError() { // Recognition error - abort rule @@ -146957,7 +146889,7 @@ func (p *PostgreSQLParser) b_expr(_p int) (localctx IB_exprContext) { } } - p.SetState(9542) + p.SetState(9543) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -147459,8 +147391,8 @@ func (s *C_expr_exprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1214, PostgreSQLParserRULE_c_expr) - p.SetState(9579) + p.EnterRule(localctx, 1216, PostgreSQLParserRULE_c_expr) + p.SetState(9580) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -147471,7 +147403,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_existsContext(p, localctx) p.EnterOuterAlt(localctx, 1) { - p.SetState(9543) + p.SetState(9544) p.Match(PostgreSQLParserEXISTS) if p.HasError() { // Recognition error - abort rule @@ -147479,7 +147411,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9544) + p.SetState(9545) p.Select_with_parens() } @@ -147487,14 +147419,14 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(9545) + p.SetState(9546) p.Match(PostgreSQLParserARRAY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9548) + p.SetState(9549) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -147503,13 +147435,13 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserOPEN_PAREN: { - p.SetState(9546) + p.SetState(9547) p.Select_with_parens() } case PostgreSQLParserOPEN_BRACKET: { - p.SetState(9547) + p.SetState(9548) p.Array_expr() } @@ -147522,7 +147454,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 3) { - p.SetState(9550) + p.SetState(9551) p.Match(PostgreSQLParserPARAM) if p.HasError() { // Recognition error - abort rule @@ -147530,7 +147462,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9551) + p.SetState(9552) p.Opt_indirection() } @@ -147538,7 +147470,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 4) { - p.SetState(9552) + p.SetState(9553) p.Match(PostgreSQLParserGROUPING) if p.HasError() { // Recognition error - abort rule @@ -147546,7 +147478,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9553) + p.SetState(9554) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -147554,11 +147486,11 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9554) + p.SetState(9555) p.Expr_list() } { - p.SetState(9555) + p.SetState(9556) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -147570,7 +147502,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 5) { - p.SetState(9557) + p.SetState(9558) p.Match(PostgreSQLParserUNIQUE) if p.HasError() { // Recognition error - abort rule @@ -147578,7 +147510,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9558) + p.SetState(9559) p.Select_with_parens() } @@ -147586,7 +147518,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 6) { - p.SetState(9559) + p.SetState(9560) p.Columnref() } @@ -147594,7 +147526,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 7) { - p.SetState(9560) + p.SetState(9561) p.Aexprconst() } @@ -147602,7 +147534,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 8) { - p.SetState(9561) + p.SetState(9562) p.Plsqlvariablename() } @@ -147610,7 +147542,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 9) { - p.SetState(9562) + p.SetState(9563) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -147618,14 +147550,14 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9563) + p.SetState(9564) var _x = p.A_expr() localctx.(*C_expr_exprContext).a_expr_in_parens = _x } { - p.SetState(9564) + p.SetState(9565) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -147633,7 +147565,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9565) + p.SetState(9566) p.Opt_indirection() } @@ -147641,7 +147573,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_caseContext(p, localctx) p.EnterOuterAlt(localctx, 10) { - p.SetState(9567) + p.SetState(9568) p.Case_expr() } @@ -147649,7 +147581,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 11) { - p.SetState(9568) + p.SetState(9569) p.Func_expr() } @@ -147657,15 +147589,15 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 12) { - p.SetState(9569) + p.SetState(9570) p.Select_with_parens() } - p.SetState(9571) + p.SetState(9572) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 902, p.GetParserRuleContext()) == 1 { { - p.SetState(9570) + p.SetState(9571) p.Indirection() } @@ -147677,7 +147609,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 13) { - p.SetState(9573) + p.SetState(9574) p.Explicit_row() } @@ -147685,7 +147617,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 14) { - p.SetState(9574) + p.SetState(9575) p.Implicit_row() } @@ -147693,11 +147625,11 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { localctx = NewC_expr_exprContext(p, localctx) p.EnterOuterAlt(localctx, 15) { - p.SetState(9575) + p.SetState(9576) p.Row() } { - p.SetState(9576) + p.SetState(9577) p.Match(PostgreSQLParserOVERLAPS) if p.HasError() { // Recognition error - abort rule @@ -147705,7 +147637,7 @@ func (p *PostgreSQLParser) C_expr() (localctx IC_exprContext) { } } { - p.SetState(9577) + p.SetState(9578) p.Row() } @@ -147808,10 +147740,10 @@ func (s *PlsqlvariablenameContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *PostgreSQLParser) Plsqlvariablename() (localctx IPlsqlvariablenameContext) { localctx = NewPlsqlvariablenameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1216, PostgreSQLParserRULE_plsqlvariablename) + p.EnterRule(localctx, 1218, PostgreSQLParserRULE_plsqlvariablename) p.EnterOuterAlt(localctx, 1) { - p.SetState(9581) + p.SetState(9582) p.Match(PostgreSQLParserPLSQLVARIABLENAME) if p.HasError() { // Recognition error - abort rule @@ -148012,35 +147944,35 @@ func (s *Func_applicationContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext) { localctx = NewFunc_applicationContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1218, PostgreSQLParserRULE_func_application) + p.EnterRule(localctx, 1220, PostgreSQLParserRULE_func_application) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9583) + p.SetState(9584) p.Func_name() } { - p.SetState(9584) + p.SetState(9585) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9606) + p.SetState(9607) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserOPEN_PAREN, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_VALUE, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserRIGHT, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserOPEN_PAREN, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: { - p.SetState(9585) + p.SetState(9586) p.Func_arg_list() } - p.SetState(9589) + p.SetState(9590) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148049,7 +147981,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext if _la == PostgreSQLParserCOMMA { { - p.SetState(9586) + p.SetState(9587) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -148057,7 +147989,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext } } { - p.SetState(9587) + p.SetState(9588) p.Match(PostgreSQLParserVARIADIC) if p.HasError() { // Recognition error - abort rule @@ -148065,12 +147997,12 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext } } { - p.SetState(9588) + p.SetState(9589) p.Func_arg_expr() } } - p.SetState(9592) + p.SetState(9593) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148079,7 +148011,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext if _la == PostgreSQLParserORDER { { - p.SetState(9591) + p.SetState(9592) p.Opt_sort_clause() } @@ -148087,7 +148019,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext case PostgreSQLParserVARIADIC: { - p.SetState(9594) + p.SetState(9595) p.Match(PostgreSQLParserVARIADIC) if p.HasError() { // Recognition error - abort rule @@ -148095,10 +148027,10 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext } } { - p.SetState(9595) + p.SetState(9596) p.Func_arg_expr() } - p.SetState(9597) + p.SetState(9598) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148107,7 +148039,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext if _la == PostgreSQLParserORDER { { - p.SetState(9596) + p.SetState(9597) p.Opt_sort_clause() } @@ -148115,7 +148047,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext case PostgreSQLParserALL, PostgreSQLParserDISTINCT: { - p.SetState(9599) + p.SetState(9600) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserALL || _la == PostgreSQLParserDISTINCT) { @@ -148126,10 +148058,10 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext } } { - p.SetState(9600) + p.SetState(9601) p.Func_arg_list() } - p.SetState(9602) + p.SetState(9603) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148138,7 +148070,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext if _la == PostgreSQLParserORDER { { - p.SetState(9601) + p.SetState(9602) p.Opt_sort_clause() } @@ -148146,7 +148078,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext case PostgreSQLParserSTAR: { - p.SetState(9604) + p.SetState(9605) p.Match(PostgreSQLParserSTAR) if p.HasError() { // Recognition error - abort rule @@ -148161,7 +148093,7 @@ func (p *PostgreSQLParser) Func_application() (localctx IFunc_applicationContext goto errorExit } { - p.SetState(9608) + p.SetState(9609) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -148361,8 +148293,8 @@ func (s *Func_exprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Func_expr() (localctx IFunc_exprContext) { localctx = NewFunc_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1220, PostgreSQLParserRULE_func_expr) - p.SetState(9628) + p.EnterRule(localctx, 1222, PostgreSQLParserRULE_func_expr) + p.SetState(9629) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148372,39 +148304,39 @@ func (p *PostgreSQLParser) Func_expr() (localctx IFunc_exprContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9610) + p.SetState(9611) p.Func_application() } - p.SetState(9612) + p.SetState(9613) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 909, p.GetParserRuleContext()) == 1 { { - p.SetState(9611) + p.SetState(9612) p.Within_group_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(9615) + p.SetState(9616) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 910, p.GetParserRuleContext()) == 1 { { - p.SetState(9614) + p.SetState(9615) p.Filter_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(9618) + p.SetState(9619) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 911, p.GetParserRuleContext()) == 1 { { - p.SetState(9617) + p.SetState(9618) p.Over_clause() } @@ -148415,27 +148347,27 @@ func (p *PostgreSQLParser) Func_expr() (localctx IFunc_exprContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9620) + p.SetState(9621) p.Json_aggregate_func() } - p.SetState(9622) + p.SetState(9623) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 912, p.GetParserRuleContext()) == 1 { { - p.SetState(9621) + p.SetState(9622) p.Filter_clause() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(9625) + p.SetState(9626) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 913, p.GetParserRuleContext()) == 1 { { - p.SetState(9624) + p.SetState(9625) p.Over_clause() } @@ -148446,7 +148378,7 @@ func (p *PostgreSQLParser) Func_expr() (localctx IFunc_exprContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9627) + p.SetState(9628) p.Func_expr_common_subexpr() } @@ -148595,8 +148527,8 @@ func (s *Func_expr_windowlessContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Func_expr_windowless() (localctx IFunc_expr_windowlessContext) { localctx = NewFunc_expr_windowlessContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1222, PostgreSQLParserRULE_func_expr_windowless) - p.SetState(9633) + p.EnterRule(localctx, 1224, PostgreSQLParserRULE_func_expr_windowless) + p.SetState(9634) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148606,21 +148538,21 @@ func (p *PostgreSQLParser) Func_expr_windowless() (localctx IFunc_expr_windowles case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9630) + p.SetState(9631) p.Func_application() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9631) + p.SetState(9632) p.Func_expr_common_subexpr() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9632) + p.SetState(9633) p.Json_aggregate_func() } @@ -148857,10 +148789,10 @@ func (s *Json_aggregate_funcContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcContext) { localctx = NewJson_aggregate_funcContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1224, PostgreSQLParserRULE_json_aggregate_func) + p.EnterRule(localctx, 1226, PostgreSQLParserRULE_json_aggregate_func) var _la int - p.SetState(9663) + p.SetState(9664) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148870,7 +148802,7 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC case PostgreSQLParserJSON_OBJECTAGG: p.EnterOuterAlt(localctx, 1) { - p.SetState(9635) + p.SetState(9636) p.Match(PostgreSQLParserJSON_OBJECTAGG) if p.HasError() { // Recognition error - abort rule @@ -148878,7 +148810,7 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC } } { - p.SetState(9636) + p.SetState(9637) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -148886,24 +148818,24 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC } } { - p.SetState(9637) + p.SetState(9638) p.Json_name_and_value() } - p.SetState(9639) + p.SetState(9640) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserABSENT { + if _la == PostgreSQLParserABSENT || _la == PostgreSQLParserNULL_P { { - p.SetState(9638) + p.SetState(9639) p.Json_object_constructor_null_clause() } } - p.SetState(9642) + p.SetState(9643) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148912,12 +148844,12 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC if _la == PostgreSQLParserWITH || _la == PostgreSQLParserWITHOUT { { - p.SetState(9641) + p.SetState(9642) p.Json_key_uniqueness_constraint() } } - p.SetState(9645) + p.SetState(9646) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148926,13 +148858,13 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC if _la == PostgreSQLParserRETURNING { { - p.SetState(9644) + p.SetState(9645) p.Json_output_clause() } } { - p.SetState(9647) + p.SetState(9648) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -148943,7 +148875,7 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC case PostgreSQLParserJSON_ARRAYAGG: p.EnterOuterAlt(localctx, 2) { - p.SetState(9649) + p.SetState(9650) p.Match(PostgreSQLParserJSON_ARRAYAGG) if p.HasError() { // Recognition error - abort rule @@ -148951,7 +148883,7 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC } } { - p.SetState(9650) + p.SetState(9651) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -148959,10 +148891,10 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC } } { - p.SetState(9651) + p.SetState(9652) p.Json_value_expr() } - p.SetState(9653) + p.SetState(9654) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148971,26 +148903,26 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC if _la == PostgreSQLParserORDER { { - p.SetState(9652) + p.SetState(9653) p.Json_array_aggregate_order_by_clause() } } - p.SetState(9656) + p.SetState(9657) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserABSENT { + if _la == PostgreSQLParserABSENT || _la == PostgreSQLParserNULL_P { { - p.SetState(9655) + p.SetState(9656) p.Json_array_constructor_null_clause() } } - p.SetState(9659) + p.SetState(9660) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -148999,13 +148931,13 @@ func (p *PostgreSQLParser) Json_aggregate_func() (localctx IJson_aggregate_funcC if _la == PostgreSQLParserRETURNING { { - p.SetState(9658) + p.SetState(9659) p.Json_output_clause() } } { - p.SetState(9661) + p.SetState(9662) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -149147,12 +149079,12 @@ func (s *Json_output_clauseContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Json_output_clause() (localctx IJson_output_clauseContext) { localctx = NewJson_output_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1226, PostgreSQLParserRULE_json_output_clause) + p.EnterRule(localctx, 1228, PostgreSQLParserRULE_json_output_clause) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(9665) + p.SetState(9666) p.Match(PostgreSQLParserRETURNING) if p.HasError() { // Recognition error - abort rule @@ -149160,10 +149092,10 @@ func (p *PostgreSQLParser) Json_output_clause() (localctx IJson_output_clauseCon } } { - p.SetState(9666) + p.SetState(9667) p.Typename() } - p.SetState(9668) + p.SetState(9669) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -149172,7 +149104,7 @@ func (p *PostgreSQLParser) Json_output_clause() (localctx IJson_output_clauseCon if _la == PostgreSQLParserFORMAT { { - p.SetState(9667) + p.SetState(9668) p.Json_format_clause() } @@ -149295,10 +149227,10 @@ func (s *Json_array_aggregate_order_by_clauseContext) Accept(visitor antlr.Parse func (p *PostgreSQLParser) Json_array_aggregate_order_by_clause() (localctx IJson_array_aggregate_order_by_clauseContext) { localctx = NewJson_array_aggregate_order_by_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1228, PostgreSQLParserRULE_json_array_aggregate_order_by_clause) + p.EnterRule(localctx, 1230, PostgreSQLParserRULE_json_array_aggregate_order_by_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(9670) + p.SetState(9671) p.Match(PostgreSQLParserORDER) if p.HasError() { // Recognition error - abort rule @@ -149306,7 +149238,7 @@ func (p *PostgreSQLParser) Json_array_aggregate_order_by_clause() (localctx IJso } } { - p.SetState(9671) + p.SetState(9672) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -149314,7 +149246,7 @@ func (p *PostgreSQLParser) Json_array_aggregate_order_by_clause() (localctx IJso } } { - p.SetState(9672) + p.SetState(9673) p.Sortby_list() } @@ -150284,10 +150216,10 @@ func (s *Func_expr_common_subexprContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_common_subexprContext) { localctx = NewFunc_expr_common_subexprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1230, PostgreSQLParserRULE_func_expr_common_subexpr) + p.EnterRule(localctx, 1232, PostgreSQLParserRULE_func_expr_common_subexpr) var _la int - p.SetState(9983) + p.SetState(9984) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -150297,7 +150229,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9674) + p.SetState(9675) p.Match(PostgreSQLParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -150305,7 +150237,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9675) + p.SetState(9676) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -150313,7 +150245,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9676) + p.SetState(9677) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150321,11 +150253,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9677) + p.SetState(9678) p.A_expr() } { - p.SetState(9678) + p.SetState(9679) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150336,7 +150268,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9680) + p.SetState(9681) p.Match(PostgreSQLParserCURRENT_DATE) if p.HasError() { // Recognition error - abort rule @@ -150347,19 +150279,19 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9681) + p.SetState(9682) p.Match(PostgreSQLParserCURRENT_TIME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9686) + p.SetState(9687) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 924, p.GetParserRuleContext()) == 1 { { - p.SetState(9682) + p.SetState(9683) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150367,11 +150299,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9683) + p.SetState(9684) p.Iconst() } { - p.SetState(9684) + p.SetState(9685) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150386,19 +150318,19 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(9688) + p.SetState(9689) p.Match(PostgreSQLParserCURRENT_TIMESTAMP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9693) + p.SetState(9694) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 925, p.GetParserRuleContext()) == 1 { { - p.SetState(9689) + p.SetState(9690) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150406,11 +150338,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9690) + p.SetState(9691) p.Iconst() } { - p.SetState(9691) + p.SetState(9692) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150425,19 +150357,19 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(9695) + p.SetState(9696) p.Match(PostgreSQLParserLOCALTIME) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9700) + p.SetState(9701) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 926, p.GetParserRuleContext()) == 1 { { - p.SetState(9696) + p.SetState(9697) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150445,11 +150377,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9697) + p.SetState(9698) p.Iconst() } { - p.SetState(9698) + p.SetState(9699) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150464,19 +150396,19 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(9702) + p.SetState(9703) p.Match(PostgreSQLParserLOCALTIMESTAMP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9707) + p.SetState(9708) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 927, p.GetParserRuleContext()) == 1 { { - p.SetState(9703) + p.SetState(9704) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150484,11 +150416,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9704) + p.SetState(9705) p.Iconst() } { - p.SetState(9705) + p.SetState(9706) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150503,7 +150435,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(9709) + p.SetState(9710) p.Match(PostgreSQLParserCURRENT_ROLE) if p.HasError() { // Recognition error - abort rule @@ -150514,7 +150446,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(9710) + p.SetState(9711) p.Match(PostgreSQLParserCURRENT_USER) if p.HasError() { // Recognition error - abort rule @@ -150525,7 +150457,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(9711) + p.SetState(9712) p.Match(PostgreSQLParserSESSION_USER) if p.HasError() { // Recognition error - abort rule @@ -150536,7 +150468,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(9712) + p.SetState(9713) p.Match(PostgreSQLParserUSER) if p.HasError() { // Recognition error - abort rule @@ -150547,7 +150479,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 11: p.EnterOuterAlt(localctx, 11) { - p.SetState(9713) + p.SetState(9714) p.Match(PostgreSQLParserCURRENT_CATALOG) if p.HasError() { // Recognition error - abort rule @@ -150558,7 +150490,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 12: p.EnterOuterAlt(localctx, 12) { - p.SetState(9714) + p.SetState(9715) p.Match(PostgreSQLParserCURRENT_SCHEMA) if p.HasError() { // Recognition error - abort rule @@ -150569,7 +150501,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 13: p.EnterOuterAlt(localctx, 13) { - p.SetState(9715) + p.SetState(9716) p.Match(PostgreSQLParserCAST) if p.HasError() { // Recognition error - abort rule @@ -150577,7 +150509,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9716) + p.SetState(9717) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150585,11 +150517,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9717) + p.SetState(9718) p.A_expr() } { - p.SetState(9718) + p.SetState(9719) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -150597,11 +150529,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9719) + p.SetState(9720) p.Typename() } { - p.SetState(9720) + p.SetState(9721) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150612,7 +150544,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 14: p.EnterOuterAlt(localctx, 14) { - p.SetState(9722) + p.SetState(9723) p.Match(PostgreSQLParserEXTRACT) if p.HasError() { // Recognition error - abort rule @@ -150620,29 +150552,29 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9723) + p.SetState(9724) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9725) + p.SetState(9726) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64((_la-33)) & ^0x3f) == 0 && ((int64(1)<<(_la-33))&576460752589691909) != 0) || ((int64((_la-135)) & ^0x3f) == 0 && ((int64(1)<<(_la-135))&1227268419561209985) != 0) || ((int64((_la-226)) & ^0x3f) == 0 && ((int64(1)<<(_la-226))&57561641360820233) != 0) || ((int64((_la-291)) & ^0x3f) == 0 && ((int64(1)<<(_la-291))&18209029515919361) != 0) || _la == PostgreSQLParserTYPE_P || _la == PostgreSQLParserYEAR_P || ((int64((_la-454)) & ^0x3f) == 0 && ((int64(1)<<(_la-454))&-144097595889811453) != 0) || ((int64((_la-518)) & ^0x3f) == 0 && ((int64(1)<<(_la-518))&12516927) != 0) || ((int64((_la-664)) & ^0x3f) == 0 && ((int64(1)<<(_la-664))&34460412451) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2954928704629047304) != 0) || ((int64((_la-65)) & ^0x3f) == 0 && ((int64(1)<<(_la-65))&4503670629075201) != 0) || ((int64((_la-131)) & ^0x3f) == 0 && ((int64(1)<<(_la-131))&17592253743105) != 0) || ((int64((_la-198)) & ^0x3f) == 0 && ((int64(1)<<(_la-198))&900719926010970369) != 0) || ((int64((_la-265)) & ^0x3f) == 0 && ((int64(1)<<(_la-265))&-9223371967598428127) != 0) || ((int64((_la-347)) & ^0x3f) == 0 && ((int64(1)<<(_la-347))&137791308353) != 0) || _la == PostgreSQLParserTABLE || _la == PostgreSQLParserTYPE_P || ((int64((_la-492)) & ^0x3f) == 0 && ((int64(1)<<(_la-492))&-45037095785332735) != 0) || ((int64((_la-556)) & ^0x3f) == 0 && ((int64(1)<<(_la-556))&2205466396911) != 0) { { - p.SetState(9724) + p.SetState(9725) p.Extract_list() } } { - p.SetState(9727) + p.SetState(9728) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150653,7 +150585,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 15: p.EnterOuterAlt(localctx, 15) { - p.SetState(9728) + p.SetState(9729) p.Match(PostgreSQLParserNORMALIZE) if p.HasError() { // Recognition error - abort rule @@ -150661,7 +150593,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9729) + p.SetState(9730) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150669,10 +150601,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9730) + p.SetState(9731) p.A_expr() } - p.SetState(9733) + p.SetState(9734) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -150681,7 +150613,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserCOMMA { { - p.SetState(9731) + p.SetState(9732) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -150689,13 +150621,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9732) + p.SetState(9733) p.Unicode_normal_form() } } { - p.SetState(9735) + p.SetState(9736) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150706,7 +150638,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 16: p.EnterOuterAlt(localctx, 16) { - p.SetState(9737) + p.SetState(9738) p.Match(PostgreSQLParserOVERLAY) if p.HasError() { // Recognition error - abort rule @@ -150714,7 +150646,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9738) + p.SetState(9739) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150722,11 +150654,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9739) + p.SetState(9740) p.Overlay_list() } { - p.SetState(9740) + p.SetState(9741) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150737,7 +150669,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 17: p.EnterOuterAlt(localctx, 17) { - p.SetState(9742) + p.SetState(9743) p.Match(PostgreSQLParserPOSITION) if p.HasError() { // Recognition error - abort rule @@ -150745,29 +150677,29 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9743) + p.SetState(9744) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9745) + p.SetState(9746) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177653) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487769089) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { { - p.SetState(9744) + p.SetState(9745) p.Position_list() } } { - p.SetState(9747) + p.SetState(9748) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150778,7 +150710,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 18: p.EnterOuterAlt(localctx, 18) { - p.SetState(9748) + p.SetState(9749) p.Match(PostgreSQLParserSUBSTRING) if p.HasError() { // Recognition error - abort rule @@ -150786,7 +150718,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9749) + p.SetState(9750) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150794,11 +150726,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9750) + p.SetState(9751) p.Substr_list() } { - p.SetState(9751) + p.SetState(9752) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150809,7 +150741,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 19: p.EnterOuterAlt(localctx, 19) { - p.SetState(9753) + p.SetState(9754) p.Match(PostgreSQLParserTREAT) if p.HasError() { // Recognition error - abort rule @@ -150817,7 +150749,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9754) + p.SetState(9755) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150825,11 +150757,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9755) + p.SetState(9756) p.A_expr() } { - p.SetState(9756) + p.SetState(9757) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -150837,11 +150769,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9757) + p.SetState(9758) p.Typename() } { - p.SetState(9758) + p.SetState(9759) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150852,7 +150784,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 20: p.EnterOuterAlt(localctx, 20) { - p.SetState(9760) + p.SetState(9761) p.Match(PostgreSQLParserTRIM) if p.HasError() { // Recognition error - abort rule @@ -150860,26 +150792,26 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9761) + p.SetState(9762) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9763) + p.SetState(9764) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if (int64((_la-39)) & ^0x3f) == 0 && ((int64(1)<<(_la-39))&72057611217797121) != 0 { + if _la == PostgreSQLParserBOTH || _la == PostgreSQLParserLEADING || _la == PostgreSQLParserTRAILING { { - p.SetState(9762) + p.SetState(9763) _la = p.GetTokenStream().LA(1) - if !((int64((_la-39)) & ^0x3f) == 0 && ((int64(1)<<(_la-39))&72057611217797121) != 0) { + if !(_la == PostgreSQLParserBOTH || _la == PostgreSQLParserLEADING || _la == PostgreSQLParserTRAILING) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -150889,11 +150821,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } { - p.SetState(9765) + p.SetState(9766) p.Trim_list() } { - p.SetState(9766) + p.SetState(9767) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150904,7 +150836,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 21: p.EnterOuterAlt(localctx, 21) { - p.SetState(9768) + p.SetState(9769) p.Match(PostgreSQLParserNULLIF) if p.HasError() { // Recognition error - abort rule @@ -150912,7 +150844,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9769) + p.SetState(9770) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150920,11 +150852,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9770) + p.SetState(9771) p.A_expr() } { - p.SetState(9771) + p.SetState(9772) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -150932,11 +150864,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9772) + p.SetState(9773) p.A_expr() } { - p.SetState(9773) + p.SetState(9774) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150947,7 +150879,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 22: p.EnterOuterAlt(localctx, 22) { - p.SetState(9775) + p.SetState(9776) p.Match(PostgreSQLParserCOALESCE) if p.HasError() { // Recognition error - abort rule @@ -150955,7 +150887,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9776) + p.SetState(9777) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150963,11 +150895,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9777) + p.SetState(9778) p.Expr_list() } { - p.SetState(9778) + p.SetState(9779) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150978,7 +150910,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 23: p.EnterOuterAlt(localctx, 23) { - p.SetState(9780) + p.SetState(9781) p.Match(PostgreSQLParserGREATEST) if p.HasError() { // Recognition error - abort rule @@ -150986,7 +150918,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9781) + p.SetState(9782) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -150994,11 +150926,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9782) + p.SetState(9783) p.Expr_list() } { - p.SetState(9783) + p.SetState(9784) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151009,7 +150941,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 24: p.EnterOuterAlt(localctx, 24) { - p.SetState(9785) + p.SetState(9786) p.Match(PostgreSQLParserLEAST) if p.HasError() { // Recognition error - abort rule @@ -151017,7 +150949,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9786) + p.SetState(9787) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151025,11 +150957,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9787) + p.SetState(9788) p.Expr_list() } { - p.SetState(9788) + p.SetState(9789) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151040,7 +150972,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 25: p.EnterOuterAlt(localctx, 25) { - p.SetState(9790) + p.SetState(9791) p.Match(PostgreSQLParserXMLCONCAT) if p.HasError() { // Recognition error - abort rule @@ -151048,7 +150980,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9791) + p.SetState(9792) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151056,11 +150988,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9792) + p.SetState(9793) p.Expr_list() } { - p.SetState(9793) + p.SetState(9794) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151071,7 +151003,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 26: p.EnterOuterAlt(localctx, 26) { - p.SetState(9795) + p.SetState(9796) p.Match(PostgreSQLParserXMLELEMENT) if p.HasError() { // Recognition error - abort rule @@ -151079,7 +151011,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9796) + p.SetState(9797) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151087,7 +151019,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9797) + p.SetState(9798) p.Match(PostgreSQLParserNAME_P) if p.HasError() { // Recognition error - abort rule @@ -151095,10 +151027,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9798) + p.SetState(9799) p.Collabel() } - p.SetState(9804) + p.SetState(9805) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151107,14 +151039,14 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserCOMMA { { - p.SetState(9799) + p.SetState(9800) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9802) + p.SetState(9803) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151123,13 +151055,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 932, p.GetParserRuleContext()) { case 1: { - p.SetState(9800) + p.SetState(9801) p.Xml_attributes() } case 2: { - p.SetState(9801) + p.SetState(9802) p.Expr_list() } @@ -151139,7 +151071,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } { - p.SetState(9806) + p.SetState(9807) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151150,7 +151082,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 27: p.EnterOuterAlt(localctx, 27) { - p.SetState(9808) + p.SetState(9809) p.Match(PostgreSQLParserXMLEXISTS) if p.HasError() { // Recognition error - abort rule @@ -151158,7 +151090,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9809) + p.SetState(9810) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151166,15 +151098,15 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9810) + p.SetState(9811) p.C_expr() } { - p.SetState(9811) + p.SetState(9812) p.Xmlexists_argument() } { - p.SetState(9812) + p.SetState(9813) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151185,7 +151117,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 28: p.EnterOuterAlt(localctx, 28) { - p.SetState(9814) + p.SetState(9815) p.Match(PostgreSQLParserXMLFOREST) if p.HasError() { // Recognition error - abort rule @@ -151193,7 +151125,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9815) + p.SetState(9816) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151201,11 +151133,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9816) + p.SetState(9817) p.Xml_attribute_list() } { - p.SetState(9817) + p.SetState(9818) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151216,7 +151148,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 29: p.EnterOuterAlt(localctx, 29) { - p.SetState(9819) + p.SetState(9820) p.Match(PostgreSQLParserXMLPARSE) if p.HasError() { // Recognition error - abort rule @@ -151224,7 +151156,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9820) + p.SetState(9821) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151232,14 +151164,14 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9821) + p.SetState(9822) p.Document_or_content() } { - p.SetState(9822) + p.SetState(9823) p.A_expr() } - p.SetState(9824) + p.SetState(9825) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151248,13 +151180,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserPRESERVE || _la == PostgreSQLParserSTRIP_P { { - p.SetState(9823) + p.SetState(9824) p.Xml_whitespace_option() } } { - p.SetState(9826) + p.SetState(9827) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151265,7 +151197,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 30: p.EnterOuterAlt(localctx, 30) { - p.SetState(9828) + p.SetState(9829) p.Match(PostgreSQLParserXMLPI) if p.HasError() { // Recognition error - abort rule @@ -151273,7 +151205,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9829) + p.SetState(9830) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151281,7 +151213,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9830) + p.SetState(9831) p.Match(PostgreSQLParserNAME_P) if p.HasError() { // Recognition error - abort rule @@ -151289,10 +151221,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9831) + p.SetState(9832) p.Collabel() } - p.SetState(9834) + p.SetState(9835) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151301,7 +151233,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserCOMMA { { - p.SetState(9832) + p.SetState(9833) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -151309,13 +151241,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9833) + p.SetState(9834) p.A_expr() } } { - p.SetState(9836) + p.SetState(9837) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151326,7 +151258,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 31: p.EnterOuterAlt(localctx, 31) { - p.SetState(9838) + p.SetState(9839) p.Match(PostgreSQLParserXMLROOT) if p.HasError() { // Recognition error - abort rule @@ -151334,7 +151266,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9839) + p.SetState(9840) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151342,7 +151274,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9840) + p.SetState(9841) p.Match(PostgreSQLParserXML_P) if p.HasError() { // Recognition error - abort rule @@ -151350,11 +151282,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9841) + p.SetState(9842) p.A_expr() } { - p.SetState(9842) + p.SetState(9843) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -151362,10 +151294,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9843) + p.SetState(9844) p.Xml_root_version() } - p.SetState(9845) + p.SetState(9846) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151374,13 +151306,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserCOMMA { { - p.SetState(9844) + p.SetState(9845) p.Opt_xml_root_standalone() } } { - p.SetState(9847) + p.SetState(9848) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151391,7 +151323,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 32: p.EnterOuterAlt(localctx, 32) { - p.SetState(9849) + p.SetState(9850) p.Match(PostgreSQLParserXMLSERIALIZE) if p.HasError() { // Recognition error - abort rule @@ -151399,7 +151331,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9850) + p.SetState(9851) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151407,15 +151339,15 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9851) + p.SetState(9852) p.Document_or_content() } { - p.SetState(9852) + p.SetState(9853) p.A_expr() } { - p.SetState(9853) + p.SetState(9854) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -151423,11 +151355,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9854) + p.SetState(9855) p.Simpletypename() } { - p.SetState(9855) + p.SetState(9856) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151438,7 +151370,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 33: p.EnterOuterAlt(localctx, 33) { - p.SetState(9857) + p.SetState(9858) p.Match(PostgreSQLParserJSON_OBJECT) if p.HasError() { // Recognition error - abort rule @@ -151446,7 +151378,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9858) + p.SetState(9859) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151454,11 +151386,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9859) + p.SetState(9860) p.Func_arg_list() } { - p.SetState(9860) + p.SetState(9861) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151469,7 +151401,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 34: p.EnterOuterAlt(localctx, 34) { - p.SetState(9862) + p.SetState(9863) p.Match(PostgreSQLParserJSON_OBJECT) if p.HasError() { // Recognition error - abort rule @@ -151477,7 +151409,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9863) + p.SetState(9864) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151485,24 +151417,24 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9864) + p.SetState(9865) p.Json_name_and_value_list() } - p.SetState(9866) + p.SetState(9867) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserABSENT { + if _la == PostgreSQLParserABSENT || _la == PostgreSQLParserNULL_P { { - p.SetState(9865) + p.SetState(9866) p.Json_object_constructor_null_clause() } } - p.SetState(9869) + p.SetState(9870) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151511,12 +151443,12 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserWITH || _la == PostgreSQLParserWITHOUT { { - p.SetState(9868) + p.SetState(9869) p.Json_key_uniqueness_constraint() } } - p.SetState(9872) + p.SetState(9873) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151525,13 +151457,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9871) + p.SetState(9872) p.Json_returning_clause() } } { - p.SetState(9874) + p.SetState(9875) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151542,7 +151474,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 35: p.EnterOuterAlt(localctx, 35) { - p.SetState(9876) + p.SetState(9877) p.Match(PostgreSQLParserJSON_OBJECT) if p.HasError() { // Recognition error - abort rule @@ -151550,14 +151482,14 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9877) + p.SetState(9878) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9879) + p.SetState(9880) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151566,13 +151498,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9878) + p.SetState(9879) p.Json_returning_clause() } } { - p.SetState(9881) + p.SetState(9882) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151583,7 +151515,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 36: p.EnterOuterAlt(localctx, 36) { - p.SetState(9882) + p.SetState(9883) p.Match(PostgreSQLParserJSON_ARRAY) if p.HasError() { // Recognition error - abort rule @@ -151591,7 +151523,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9883) + p.SetState(9884) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151599,24 +151531,24 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9884) + p.SetState(9885) p.Json_value_expr_list() } - p.SetState(9886) + p.SetState(9887) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserABSENT { + if _la == PostgreSQLParserABSENT || _la == PostgreSQLParserNULL_P { { - p.SetState(9885) + p.SetState(9886) p.Json_array_constructor_null_clause() } } - p.SetState(9889) + p.SetState(9890) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151625,13 +151557,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9888) + p.SetState(9889) p.Json_returning_clause() } } { - p.SetState(9891) + p.SetState(9892) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151642,7 +151574,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 37: p.EnterOuterAlt(localctx, 37) { - p.SetState(9893) + p.SetState(9894) p.Match(PostgreSQLParserJSON_ARRAY) if p.HasError() { // Recognition error - abort rule @@ -151650,7 +151582,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9894) + p.SetState(9895) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151658,10 +151590,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9895) + p.SetState(9896) p.Select_no_parens() } - p.SetState(9897) + p.SetState(9898) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151670,12 +151602,12 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserFORMAT { { - p.SetState(9896) + p.SetState(9897) p.Json_format_clause_opt() } } - p.SetState(9900) + p.SetState(9901) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151684,13 +151616,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9899) + p.SetState(9900) p.Json_returning_clause() } } { - p.SetState(9902) + p.SetState(9903) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151701,7 +151633,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 38: p.EnterOuterAlt(localctx, 38) { - p.SetState(9904) + p.SetState(9905) p.Match(PostgreSQLParserJSON_ARRAY) if p.HasError() { // Recognition error - abort rule @@ -151709,14 +151641,14 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9905) + p.SetState(9906) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(9907) + p.SetState(9908) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151725,13 +151657,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9906) + p.SetState(9907) p.Json_returning_clause() } } { - p.SetState(9909) + p.SetState(9910) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151742,7 +151674,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 39: p.EnterOuterAlt(localctx, 39) { - p.SetState(9910) + p.SetState(9911) p.Match(PostgreSQLParserJSON) if p.HasError() { // Recognition error - abort rule @@ -151750,7 +151682,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9911) + p.SetState(9912) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151758,10 +151690,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9912) + p.SetState(9913) p.Json_value_expr() } - p.SetState(9914) + p.SetState(9915) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151770,13 +151702,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserWITH || _la == PostgreSQLParserWITHOUT { { - p.SetState(9913) + p.SetState(9914) p.Json_key_uniqueness_constraint() } } { - p.SetState(9916) + p.SetState(9917) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151787,7 +151719,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 40: p.EnterOuterAlt(localctx, 40) { - p.SetState(9918) + p.SetState(9919) p.Match(PostgreSQLParserJSON_SCALAR) if p.HasError() { // Recognition error - abort rule @@ -151795,7 +151727,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9919) + p.SetState(9920) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151803,11 +151735,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9920) + p.SetState(9921) p.A_expr() } { - p.SetState(9921) + p.SetState(9922) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151818,7 +151750,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 41: p.EnterOuterAlt(localctx, 41) { - p.SetState(9923) + p.SetState(9924) p.Match(PostgreSQLParserJSON_SERIALIZE) if p.HasError() { // Recognition error - abort rule @@ -151826,7 +151758,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9924) + p.SetState(9925) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151834,10 +151766,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9925) + p.SetState(9926) p.Json_value_expr() } - p.SetState(9927) + p.SetState(9928) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151846,13 +151778,13 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9926) + p.SetState(9927) p.Json_returning_clause() } } { - p.SetState(9929) + p.SetState(9930) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151863,7 +151795,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 42: p.EnterOuterAlt(localctx, 42) { - p.SetState(9931) + p.SetState(9932) p.Match(PostgreSQLParserMERGE_ACTION) if p.HasError() { // Recognition error - abort rule @@ -151871,7 +151803,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9932) + p.SetState(9933) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151879,7 +151811,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9933) + p.SetState(9934) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151890,7 +151822,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 43: p.EnterOuterAlt(localctx, 43) { - p.SetState(9934) + p.SetState(9935) p.Match(PostgreSQLParserJSON_QUERY) if p.HasError() { // Recognition error - abort rule @@ -151898,7 +151830,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9935) + p.SetState(9936) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151906,11 +151838,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9936) + p.SetState(9937) p.Json_value_expr() } { - p.SetState(9937) + p.SetState(9938) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -151918,10 +151850,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9938) + p.SetState(9939) p.A_expr() } - p.SetState(9940) + p.SetState(9941) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151930,12 +151862,12 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserPASSING { { - p.SetState(9939) + p.SetState(9940) p.Json_passing_clause() } } - p.SetState(9943) + p.SetState(9944) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151944,16 +151876,16 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9942) + p.SetState(9943) p.Json_returning_clause() } } { - p.SetState(9945) + p.SetState(9946) p.Json_wrapper_behavior() } - p.SetState(9947) + p.SetState(9948) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -151962,27 +151894,27 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserKEEP || _la == PostgreSQLParserOMIT { { - p.SetState(9946) + p.SetState(9947) p.Json_quotes_clause() } } - p.SetState(9950) + p.SetState(9951) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64((_la-53)) & ^0x3f) == 0 && ((int64(1)<<(_la-53))&4611694814553964673) != 0) || _la == PostgreSQLParserUNKNOWN || _la == PostgreSQLParserERROR { + if ((int64((_la-101)) & ^0x3f) == 0 && ((int64(1)<<(_la-101))&17593268174849) != 0) || _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserTRUE_P || _la == PostgreSQLParserUNKNOWN { { - p.SetState(9949) + p.SetState(9950) p.Json_behavior_clause() } } { - p.SetState(9952) + p.SetState(9953) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -151993,7 +151925,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 44: p.EnterOuterAlt(localctx, 44) { - p.SetState(9954) + p.SetState(9955) p.Match(PostgreSQLParserJSON_EXISTS) if p.HasError() { // Recognition error - abort rule @@ -152001,7 +151933,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9955) + p.SetState(9956) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -152009,11 +151941,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9956) + p.SetState(9957) p.Json_value_expr() } { - p.SetState(9957) + p.SetState(9958) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -152021,10 +151953,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9958) + p.SetState(9959) p.A_expr() } - p.SetState(9960) + p.SetState(9961) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -152033,27 +151965,27 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserPASSING { { - p.SetState(9959) + p.SetState(9960) p.Json_passing_clause() } } - p.SetState(9963) + p.SetState(9964) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64((_la-53)) & ^0x3f) == 0 && ((int64(1)<<(_la-53))&4611694814553964673) != 0) || _la == PostgreSQLParserUNKNOWN || _la == PostgreSQLParserERROR { + if ((int64((_la-101)) & ^0x3f) == 0 && ((int64(1)<<(_la-101))&17593268174849) != 0) || _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserTRUE_P || _la == PostgreSQLParserUNKNOWN { { - p.SetState(9962) + p.SetState(9963) p.Json_on_error_clause() } } { - p.SetState(9965) + p.SetState(9966) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -152064,7 +151996,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo case 45: p.EnterOuterAlt(localctx, 45) { - p.SetState(9967) + p.SetState(9968) p.Match(PostgreSQLParserJSON_VALUE) if p.HasError() { // Recognition error - abort rule @@ -152072,7 +152004,7 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9968) + p.SetState(9969) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -152080,11 +152012,11 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9969) + p.SetState(9970) p.Json_value_expr() } { - p.SetState(9970) + p.SetState(9971) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -152092,10 +152024,10 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo } } { - p.SetState(9971) + p.SetState(9972) p.A_expr() } - p.SetState(9973) + p.SetState(9974) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -152104,12 +152036,12 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserPASSING { { - p.SetState(9972) + p.SetState(9973) p.Json_passing_clause() } } - p.SetState(9976) + p.SetState(9977) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -152118,27 +152050,27 @@ func (p *PostgreSQLParser) Func_expr_common_subexpr() (localctx IFunc_expr_commo if _la == PostgreSQLParserRETURNING { { - p.SetState(9975) + p.SetState(9976) p.Json_returning_clause() } } - p.SetState(9979) + p.SetState(9980) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64((_la-53)) & ^0x3f) == 0 && ((int64(1)<<(_la-53))&4611694814553964673) != 0) || _la == PostgreSQLParserUNKNOWN || _la == PostgreSQLParserERROR { + if ((int64((_la-101)) & ^0x3f) == 0 && ((int64(1)<<(_la-101))&17593268174849) != 0) || _la == PostgreSQLParserNULL_P || _la == PostgreSQLParserTRUE_P || _la == PostgreSQLParserUNKNOWN { { - p.SetState(9978) + p.SetState(9979) p.Json_behavior_clause() } } { - p.SetState(9981) + p.SetState(9982) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -152173,7 +152105,7 @@ type IJson_on_error_clauseContext interface { // Getter signatures Json_behavior() IJson_behaviorContext ON() antlr.TerminalNode - ERROR() antlr.TerminalNode + ERROR_P() antlr.TerminalNode // IsJson_on_error_clauseContext differentiates from other interfaces. IsJson_on_error_clauseContext() @@ -152231,8 +152163,8 @@ func (s *Json_on_error_clauseContext) ON() antlr.TerminalNode { return s.GetToken(PostgreSQLParserON, 0) } -func (s *Json_on_error_clauseContext) ERROR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserERROR, 0) +func (s *Json_on_error_clauseContext) ERROR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserERROR_P, 0) } func (s *Json_on_error_clauseContext) GetRuleContext() antlr.RuleContext { @@ -152267,14 +152199,14 @@ func (s *Json_on_error_clauseContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Json_on_error_clause() (localctx IJson_on_error_clauseContext) { localctx = NewJson_on_error_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1232, PostgreSQLParserRULE_json_on_error_clause) + p.EnterRule(localctx, 1234, PostgreSQLParserRULE_json_on_error_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(9985) + p.SetState(9986) p.Json_behavior() } { - p.SetState(9986) + p.SetState(9987) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -152282,8 +152214,8 @@ func (p *PostgreSQLParser) Json_on_error_clause() (localctx IJson_on_error_claus } } { - p.SetState(9987) - p.Match(PostgreSQLParserERROR) + p.SetState(9988) + p.Match(PostgreSQLParserERROR_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -152315,8 +152247,8 @@ type IJson_behavior_clauseContext interface { Json_behavior(i int) IJson_behaviorContext AllON() []antlr.TerminalNode ON(i int) antlr.TerminalNode - EMPTY() antlr.TerminalNode - ERROR() antlr.TerminalNode + EMPTY_P() antlr.TerminalNode + ERROR_P() antlr.TerminalNode // IsJson_behavior_clauseContext differentiates from other interfaces. IsJson_behavior_clauseContext() @@ -152403,12 +152335,12 @@ func (s *Json_behavior_clauseContext) ON(i int) antlr.TerminalNode { return s.GetToken(PostgreSQLParserON, i) } -func (s *Json_behavior_clauseContext) EMPTY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEMPTY, 0) +func (s *Json_behavior_clauseContext) EMPTY_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEMPTY_P, 0) } -func (s *Json_behavior_clauseContext) ERROR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserERROR, 0) +func (s *Json_behavior_clauseContext) ERROR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserERROR_P, 0) } func (s *Json_behavior_clauseContext) GetRuleContext() antlr.RuleContext { @@ -152443,8 +152375,8 @@ func (s *Json_behavior_clauseContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_clauseContext) { localctx = NewJson_behavior_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1234, PostgreSQLParserRULE_json_behavior_clause) - p.SetState(10004) + p.EnterRule(localctx, 1236, PostgreSQLParserRULE_json_behavior_clause) + p.SetState(10005) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -152454,11 +152386,11 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(9989) + p.SetState(9990) p.Json_behavior() } { - p.SetState(9990) + p.SetState(9991) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -152466,8 +152398,8 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus } } { - p.SetState(9991) - p.Match(PostgreSQLParserEMPTY) + p.SetState(9992) + p.Match(PostgreSQLParserEMPTY_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -152477,11 +152409,11 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(9993) + p.SetState(9994) p.Json_behavior() } { - p.SetState(9994) + p.SetState(9995) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -152489,8 +152421,8 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus } } { - p.SetState(9995) - p.Match(PostgreSQLParserERROR) + p.SetState(9996) + p.Match(PostgreSQLParserERROR_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -152500,11 +152432,11 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(9997) + p.SetState(9998) p.Json_behavior() } { - p.SetState(9998) + p.SetState(9999) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -152512,19 +152444,19 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus } } { - p.SetState(9999) - p.Match(PostgreSQLParserEMPTY) + p.SetState(10000) + p.Match(PostgreSQLParserEMPTY_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10000) + p.SetState(10001) p.Json_behavior() } { - p.SetState(10001) + p.SetState(10002) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -152532,8 +152464,8 @@ func (p *PostgreSQLParser) Json_behavior_clause() (localctx IJson_behavior_claus } } { - p.SetState(10002) - p.Match(PostgreSQLParserERROR) + p.SetState(10003) + p.Match(PostgreSQLParserERROR_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -152673,8 +152605,8 @@ func (s *Json_behaviorContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Json_behavior() (localctx IJson_behaviorContext) { localctx = NewJson_behaviorContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1236, PostgreSQLParserRULE_json_behavior) - p.SetState(10009) + p.EnterRule(localctx, 1238, PostgreSQLParserRULE_json_behavior) + p.SetState(10010) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -152684,7 +152616,7 @@ func (p *PostgreSQLParser) Json_behavior() (localctx IJson_behaviorContext) { case PostgreSQLParserDEFAULT: p.EnterOuterAlt(localctx, 1) { - p.SetState(10006) + p.SetState(10007) p.Match(PostgreSQLParserDEFAULT) if p.HasError() { // Recognition error - abort rule @@ -152692,14 +152624,14 @@ func (p *PostgreSQLParser) Json_behavior() (localctx IJson_behaviorContext) { } } { - p.SetState(10007) + p.SetState(10008) p.A_expr() } - case PostgreSQLParserFALSE_P, PostgreSQLParserNULL_P, PostgreSQLParserTRUE_P, PostgreSQLParserEMPTY, PostgreSQLParserUNKNOWN, PostgreSQLParserERROR: + case PostgreSQLParserEMPTY_P, PostgreSQLParserERROR_P, PostgreSQLParserFALSE_P, PostgreSQLParserNULL_P, PostgreSQLParserTRUE_P, PostgreSQLParserUNKNOWN: p.EnterOuterAlt(localctx, 2) { - p.SetState(10008) + p.SetState(10009) p.Json_behavior_type() } @@ -152729,12 +152661,12 @@ type IJson_behavior_typeContext interface { GetParser() antlr.Parser // Getter signatures - ERROR() antlr.TerminalNode + ERROR_P() antlr.TerminalNode NULL_P() antlr.TerminalNode TRUE_P() antlr.TerminalNode FALSE_P() antlr.TerminalNode UNKNOWN() antlr.TerminalNode - EMPTY() antlr.TerminalNode + EMPTY_P() antlr.TerminalNode ARRAY() antlr.TerminalNode OBJECT_P() antlr.TerminalNode @@ -152774,8 +152706,8 @@ func NewJson_behavior_typeContext(parser antlr.Parser, parent antlr.ParserRuleCo func (s *Json_behavior_typeContext) GetParser() antlr.Parser { return s.parser } -func (s *Json_behavior_typeContext) ERROR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserERROR, 0) +func (s *Json_behavior_typeContext) ERROR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserERROR_P, 0) } func (s *Json_behavior_typeContext) NULL_P() antlr.TerminalNode { @@ -152794,8 +152726,8 @@ func (s *Json_behavior_typeContext) UNKNOWN() antlr.TerminalNode { return s.GetToken(PostgreSQLParserUNKNOWN, 0) } -func (s *Json_behavior_typeContext) EMPTY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEMPTY, 0) +func (s *Json_behavior_typeContext) EMPTY_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEMPTY_P, 0) } func (s *Json_behavior_typeContext) ARRAY() antlr.TerminalNode { @@ -152838,8 +152770,8 @@ func (s *Json_behavior_typeContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeContext) { localctx = NewJson_behavior_typeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1238, PostgreSQLParserRULE_json_behavior_type) - p.SetState(10021) + p.EnterRule(localctx, 1240, PostgreSQLParserRULE_json_behavior_type) + p.SetState(10022) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -152849,8 +152781,8 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10011) - p.Match(PostgreSQLParserERROR) + p.SetState(10012) + p.Match(PostgreSQLParserERROR_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -152860,7 +152792,7 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10012) + p.SetState(10013) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -152871,7 +152803,7 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10013) + p.SetState(10014) p.Match(PostgreSQLParserTRUE_P) if p.HasError() { // Recognition error - abort rule @@ -152882,7 +152814,7 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(10014) + p.SetState(10015) p.Match(PostgreSQLParserFALSE_P) if p.HasError() { // Recognition error - abort rule @@ -152893,7 +152825,7 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(10015) + p.SetState(10016) p.Match(PostgreSQLParserUNKNOWN) if p.HasError() { // Recognition error - abort rule @@ -152904,15 +152836,15 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(10016) - p.Match(PostgreSQLParserEMPTY) + p.SetState(10017) + p.Match(PostgreSQLParserEMPTY_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10017) + p.SetState(10018) p.Match(PostgreSQLParserARRAY) if p.HasError() { // Recognition error - abort rule @@ -152923,15 +152855,15 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(10018) - p.Match(PostgreSQLParserEMPTY) + p.SetState(10019) + p.Match(PostgreSQLParserEMPTY_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10019) + p.SetState(10020) p.Match(PostgreSQLParserOBJECT_P) if p.HasError() { // Recognition error - abort rule @@ -152942,8 +152874,8 @@ func (p *PostgreSQLParser) Json_behavior_type() (localctx IJson_behavior_typeCon case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(10020) - p.Match(PostgreSQLParserEMPTY) + p.SetState(10021) + p.Match(PostgreSQLParserEMPTY_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -152980,7 +152912,7 @@ type IJson_quotes_clauseContext interface { OMIT() antlr.TerminalNode ON() antlr.TerminalNode SCALAR() antlr.TerminalNode - STRING() antlr.TerminalNode + STRING_P() antlr.TerminalNode // IsJson_quotes_clauseContext differentiates from other interfaces. IsJson_quotes_clauseContext() @@ -153038,8 +152970,8 @@ func (s *Json_quotes_clauseContext) SCALAR() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSCALAR, 0) } -func (s *Json_quotes_clauseContext) STRING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRING, 0) +func (s *Json_quotes_clauseContext) STRING_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTRING_P, 0) } func (s *Json_quotes_clauseContext) GetRuleContext() antlr.RuleContext { @@ -153074,12 +153006,12 @@ func (s *Json_quotes_clauseContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Json_quotes_clause() (localctx IJson_quotes_clauseContext) { localctx = NewJson_quotes_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1240, PostgreSQLParserRULE_json_quotes_clause) + p.EnterRule(localctx, 1242, PostgreSQLParserRULE_json_quotes_clause) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10023) + p.SetState(10024) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserKEEP || _la == PostgreSQLParserOMIT) { @@ -153090,7 +153022,7 @@ func (p *PostgreSQLParser) Json_quotes_clause() (localctx IJson_quotes_clauseCon } } { - p.SetState(10024) + p.SetState(10025) p.Match(PostgreSQLParserQUOTES) if p.HasError() { // Recognition error - abort rule @@ -153099,7 +153031,7 @@ func (p *PostgreSQLParser) Json_quotes_clause() (localctx IJson_quotes_clauseCon } { - p.SetState(10025) + p.SetState(10026) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -153107,7 +153039,7 @@ func (p *PostgreSQLParser) Json_quotes_clause() (localctx IJson_quotes_clauseCon } } { - p.SetState(10026) + p.SetState(10027) p.Match(PostgreSQLParserSCALAR) if p.HasError() { // Recognition error - abort rule @@ -153115,8 +153047,8 @@ func (p *PostgreSQLParser) Json_quotes_clause() (localctx IJson_quotes_clauseCon } } { - p.SetState(10027) - p.Match(PostgreSQLParserSTRING) + p.SetState(10028) + p.Match(PostgreSQLParserSTRING_P) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -153243,10 +153175,10 @@ func (s *Json_wrapper_behaviorContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behaviorContext) { localctx = NewJson_wrapper_behaviorContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1242, PostgreSQLParserRULE_json_wrapper_behavior) + p.EnterRule(localctx, 1244, PostgreSQLParserRULE_json_wrapper_behavior) var _la int - p.SetState(10042) + p.SetState(10043) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153256,14 +153188,14 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav case PostgreSQLParserWITHOUT: p.EnterOuterAlt(localctx, 1) { - p.SetState(10029) + p.SetState(10030) p.Match(PostgreSQLParserWITHOUT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10031) + p.SetState(10032) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153272,7 +153204,7 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav if _la == PostgreSQLParserARRAY { { - p.SetState(10030) + p.SetState(10031) p.Match(PostgreSQLParserARRAY) if p.HasError() { // Recognition error - abort rule @@ -153282,7 +153214,7 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav } { - p.SetState(10033) + p.SetState(10034) p.Match(PostgreSQLParserWRAPPER) if p.HasError() { // Recognition error - abort rule @@ -153293,14 +153225,14 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav case PostgreSQLParserWITH: p.EnterOuterAlt(localctx, 2) { - p.SetState(10034) + p.SetState(10035) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10036) + p.SetState(10037) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153309,7 +153241,7 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav if _la == PostgreSQLParserCONDITIONAL || _la == PostgreSQLParserUNCONDITIONAL { { - p.SetState(10035) + p.SetState(10036) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserCONDITIONAL || _la == PostgreSQLParserUNCONDITIONAL) { @@ -153321,7 +153253,7 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav } } - p.SetState(10039) + p.SetState(10040) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153330,7 +153262,7 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav if _la == PostgreSQLParserARRAY { { - p.SetState(10038) + p.SetState(10039) p.Match(PostgreSQLParserARRAY) if p.HasError() { // Recognition error - abort rule @@ -153340,7 +153272,7 @@ func (p *PostgreSQLParser) Json_wrapper_behavior() (localctx IJson_wrapper_behav } { - p.SetState(10041) + p.SetState(10042) p.Match(PostgreSQLParserWRAPPER) if p.HasError() { // Recognition error - abort rule @@ -153465,10 +153397,10 @@ func (s *Json_passing_clauseContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Json_passing_clause() (localctx IJson_passing_clauseContext) { localctx = NewJson_passing_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1244, PostgreSQLParserRULE_json_passing_clause) + p.EnterRule(localctx, 1246, PostgreSQLParserRULE_json_passing_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10044) + p.SetState(10045) p.Match(PostgreSQLParserPASSING) if p.HasError() { // Recognition error - abort rule @@ -153476,7 +153408,7 @@ func (p *PostgreSQLParser) Json_passing_clause() (localctx IJson_passing_clauseC } } { - p.SetState(10045) + p.SetState(10046) p.Json_arguments() } @@ -153623,15 +153555,15 @@ func (s *Json_argumentsContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Json_arguments() (localctx IJson_argumentsContext) { localctx = NewJson_argumentsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1246, PostgreSQLParserRULE_json_arguments) + p.EnterRule(localctx, 1248, PostgreSQLParserRULE_json_arguments) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10047) + p.SetState(10048) p.Json_argument() } - p.SetState(10052) + p.SetState(10053) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153640,7 +153572,7 @@ func (p *PostgreSQLParser) Json_arguments() (localctx IJson_argumentsContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(10048) + p.SetState(10049) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -153648,11 +153580,11 @@ func (p *PostgreSQLParser) Json_arguments() (localctx IJson_argumentsContext) { } } { - p.SetState(10049) + p.SetState(10050) p.Json_argument() } - p.SetState(10054) + p.SetState(10055) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153789,14 +153721,14 @@ func (s *Json_argumentContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Json_argument() (localctx IJson_argumentContext) { localctx = NewJson_argumentContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1248, PostgreSQLParserRULE_json_argument) + p.EnterRule(localctx, 1250, PostgreSQLParserRULE_json_argument) p.EnterOuterAlt(localctx, 1) { - p.SetState(10055) + p.SetState(10056) p.Json_value_expr() } { - p.SetState(10056) + p.SetState(10057) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -153804,7 +153736,7 @@ func (p *PostgreSQLParser) Json_argument() (localctx IJson_argumentContext) { } } { - p.SetState(10057) + p.SetState(10058) p.Collabel() } @@ -153930,8 +153862,8 @@ func (s *Json_format_clause_optContext) Accept(visitor antlr.ParseTreeVisitor) i func (p *PostgreSQLParser) Json_format_clause_opt() (localctx IJson_format_clause_optContext) { localctx = NewJson_format_clause_optContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1250, PostgreSQLParserRULE_json_format_clause_opt) - p.SetState(10065) + p.EnterRule(localctx, 1252, PostgreSQLParserRULE_json_format_clause_opt) + p.SetState(10066) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -153941,7 +153873,7 @@ func (p *PostgreSQLParser) Json_format_clause_opt() (localctx IJson_format_claus case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10059) + p.SetState(10060) p.Match(PostgreSQLParserFORMAT) if p.HasError() { // Recognition error - abort rule @@ -153949,7 +153881,7 @@ func (p *PostgreSQLParser) Json_format_clause_opt() (localctx IJson_format_claus } } { - p.SetState(10060) + p.SetState(10061) p.Match(PostgreSQLParserJSON) if p.HasError() { // Recognition error - abort rule @@ -153957,7 +153889,7 @@ func (p *PostgreSQLParser) Json_format_clause_opt() (localctx IJson_format_claus } } { - p.SetState(10061) + p.SetState(10062) p.Match(PostgreSQLParserENCODING) if p.HasError() { // Recognition error - abort rule @@ -153965,14 +153897,14 @@ func (p *PostgreSQLParser) Json_format_clause_opt() (localctx IJson_format_claus } } { - p.SetState(10062) + p.SetState(10063) p.Name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10063) + p.SetState(10064) p.Match(PostgreSQLParserFORMAT) if p.HasError() { // Recognition error - abort rule @@ -153980,7 +153912,7 @@ func (p *PostgreSQLParser) Json_format_clause_opt() (localctx IJson_format_claus } } { - p.SetState(10064) + p.SetState(10065) p.Match(PostgreSQLParserJSON) if p.HasError() { // Recognition error - abort rule @@ -154135,15 +154067,15 @@ func (s *Json_value_expr_listContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Json_value_expr_list() (localctx IJson_value_expr_listContext) { localctx = NewJson_value_expr_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1252, PostgreSQLParserRULE_json_value_expr_list) + p.EnterRule(localctx, 1254, PostgreSQLParserRULE_json_value_expr_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10067) + p.SetState(10068) p.Json_value_expr() } - p.SetState(10072) + p.SetState(10073) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154152,7 +154084,7 @@ func (p *PostgreSQLParser) Json_value_expr_list() (localctx IJson_value_expr_lis for _la == PostgreSQLParserCOMMA { { - p.SetState(10068) + p.SetState(10069) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -154160,11 +154092,11 @@ func (p *PostgreSQLParser) Json_value_expr_list() (localctx IJson_value_expr_lis } } { - p.SetState(10069) + p.SetState(10070) p.Json_value_expr() } - p.SetState(10074) + p.SetState(10075) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154301,12 +154233,12 @@ func (s *Json_returning_clauseContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Json_returning_clause() (localctx IJson_returning_clauseContext) { localctx = NewJson_returning_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1254, PostgreSQLParserRULE_json_returning_clause) + p.EnterRule(localctx, 1256, PostgreSQLParserRULE_json_returning_clause) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10075) + p.SetState(10076) p.Match(PostgreSQLParserRETURNING) if p.HasError() { // Recognition error - abort rule @@ -154314,10 +154246,10 @@ func (p *PostgreSQLParser) Json_returning_clause() (localctx IJson_returning_cla } } { - p.SetState(10076) + p.SetState(10077) p.Typename() } - p.SetState(10078) + p.SetState(10079) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154326,7 +154258,7 @@ func (p *PostgreSQLParser) Json_returning_clause() (localctx IJson_returning_cla if _la == PostgreSQLParserFORMAT { { - p.SetState(10077) + p.SetState(10078) p.Json_format_clause() } @@ -154442,10 +154374,10 @@ func (s *Json_key_uniqueness_constraintContext) Accept(visitor antlr.ParseTreeVi func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_uniqueness_constraintContext) { localctx = NewJson_key_uniqueness_constraintContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1256, PostgreSQLParserRULE_json_key_uniqueness_constraint) + p.EnterRule(localctx, 1258, PostgreSQLParserRULE_json_key_uniqueness_constraint) var _la int - p.SetState(10090) + p.SetState(10091) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154455,7 +154387,7 @@ func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_ case PostgreSQLParserWITH: p.EnterOuterAlt(localctx, 1) { - p.SetState(10080) + p.SetState(10081) p.Match(PostgreSQLParserWITH) if p.HasError() { // Recognition error - abort rule @@ -154463,14 +154395,14 @@ func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_ } } { - p.SetState(10081) + p.SetState(10082) p.Match(PostgreSQLParserUNIQUE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10083) + p.SetState(10084) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154479,7 +154411,7 @@ func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_ if _la == PostgreSQLParserKEYS { { - p.SetState(10082) + p.SetState(10083) p.Match(PostgreSQLParserKEYS) if p.HasError() { // Recognition error - abort rule @@ -154492,7 +154424,7 @@ func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_ case PostgreSQLParserWITHOUT: p.EnterOuterAlt(localctx, 2) { - p.SetState(10085) + p.SetState(10086) p.Match(PostgreSQLParserWITHOUT) if p.HasError() { // Recognition error - abort rule @@ -154500,14 +154432,14 @@ func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_ } } { - p.SetState(10086) + p.SetState(10087) p.Match(PostgreSQLParserUNIQUE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10088) + p.SetState(10089) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154516,7 +154448,7 @@ func (p *PostgreSQLParser) Json_key_uniqueness_constraint() (localctx IJson_key_ if _la == PostgreSQLParserKEYS { { - p.SetState(10087) + p.SetState(10088) p.Match(PostgreSQLParserKEYS) if p.HasError() { // Recognition error - abort rule @@ -154641,8 +154573,8 @@ func (s *Json_array_constructor_null_clauseContext) Accept(visitor antlr.ParseTr func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_array_constructor_null_clauseContext) { localctx = NewJson_array_constructor_null_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1258, PostgreSQLParserRULE_json_array_constructor_null_clause) - p.SetState(10098) + p.EnterRule(localctx, 1260, PostgreSQLParserRULE_json_array_constructor_null_clause) + p.SetState(10099) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154652,7 +154584,7 @@ func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_ case PostgreSQLParserNULL_P: p.EnterOuterAlt(localctx, 1) { - p.SetState(10092) + p.SetState(10093) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -154660,7 +154592,7 @@ func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_ } } { - p.SetState(10093) + p.SetState(10094) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -154668,7 +154600,7 @@ func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_ } } { - p.SetState(10094) + p.SetState(10095) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -154679,7 +154611,7 @@ func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_ case PostgreSQLParserABSENT: p.EnterOuterAlt(localctx, 2) { - p.SetState(10095) + p.SetState(10096) p.Match(PostgreSQLParserABSENT) if p.HasError() { // Recognition error - abort rule @@ -154687,7 +154619,7 @@ func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_ } } { - p.SetState(10096) + p.SetState(10097) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -154695,7 +154627,7 @@ func (p *PostgreSQLParser) Json_array_constructor_null_clause() (localctx IJson_ } } { - p.SetState(10097) + p.SetState(10098) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -154818,8 +154750,8 @@ func (s *Json_object_constructor_null_clauseContext) Accept(visitor antlr.ParseT func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson_object_constructor_null_clauseContext) { localctx = NewJson_object_constructor_null_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1260, PostgreSQLParserRULE_json_object_constructor_null_clause) - p.SetState(10106) + p.EnterRule(localctx, 1262, PostgreSQLParserRULE_json_object_constructor_null_clause) + p.SetState(10107) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -154829,7 +154761,7 @@ func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson case PostgreSQLParserNULL_P: p.EnterOuterAlt(localctx, 1) { - p.SetState(10100) + p.SetState(10101) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -154837,7 +154769,7 @@ func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson } } { - p.SetState(10101) + p.SetState(10102) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -154845,7 +154777,7 @@ func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson } } { - p.SetState(10102) + p.SetState(10103) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -154856,7 +154788,7 @@ func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson case PostgreSQLParserABSENT: p.EnterOuterAlt(localctx, 2) { - p.SetState(10103) + p.SetState(10104) p.Match(PostgreSQLParserABSENT) if p.HasError() { // Recognition error - abort rule @@ -154864,7 +154796,7 @@ func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson } } { - p.SetState(10104) + p.SetState(10105) p.Match(PostgreSQLParserON) if p.HasError() { // Recognition error - abort rule @@ -154872,7 +154804,7 @@ func (p *PostgreSQLParser) Json_object_constructor_null_clause() (localctx IJson } } { - p.SetState(10105) + p.SetState(10106) p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule @@ -155028,15 +154960,15 @@ func (s *Json_name_and_value_listContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Json_name_and_value_list() (localctx IJson_name_and_value_listContext) { localctx = NewJson_name_and_value_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1262, PostgreSQLParserRULE_json_name_and_value_list) + p.EnterRule(localctx, 1264, PostgreSQLParserRULE_json_name_and_value_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10108) + p.SetState(10109) p.Json_name_and_value() } - p.SetState(10113) + p.SetState(10114) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155045,7 +154977,7 @@ func (p *PostgreSQLParser) Json_name_and_value_list() (localctx IJson_name_and_v for _la == PostgreSQLParserCOMMA { { - p.SetState(10109) + p.SetState(10110) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -155053,11 +154985,11 @@ func (p *PostgreSQLParser) Json_name_and_value_list() (localctx IJson_name_and_v } } { - p.SetState(10110) + p.SetState(10111) p.Json_name_and_value() } - p.SetState(10115) + p.SetState(10116) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155216,8 +155148,8 @@ func (s *Json_name_and_valueContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Json_name_and_value() (localctx IJson_name_and_valueContext) { localctx = NewJson_name_and_valueContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1264, PostgreSQLParserRULE_json_name_and_value) - p.SetState(10124) + p.EnterRule(localctx, 1266, PostgreSQLParserRULE_json_name_and_value) + p.SetState(10125) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155227,11 +155159,11 @@ func (p *PostgreSQLParser) Json_name_and_value() (localctx IJson_name_and_valueC case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10116) + p.SetState(10117) p.C_expr() } { - p.SetState(10117) + p.SetState(10118) p.Match(PostgreSQLParserVALUE_P) if p.HasError() { // Recognition error - abort rule @@ -155239,18 +155171,18 @@ func (p *PostgreSQLParser) Json_name_and_value() (localctx IJson_name_and_valueC } } { - p.SetState(10118) + p.SetState(10119) p.Json_value_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10120) + p.SetState(10121) p.A_expr() } { - p.SetState(10121) + p.SetState(10122) p.Match(PostgreSQLParserCOLON) if p.HasError() { // Recognition error - abort rule @@ -155258,7 +155190,7 @@ func (p *PostgreSQLParser) Json_name_and_value() (localctx IJson_name_and_valueC } } { - p.SetState(10122) + p.SetState(10123) p.Json_value_expr() } @@ -155390,15 +155322,15 @@ func (s *Json_value_exprContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Json_value_expr() (localctx IJson_value_exprContext) { localctx = NewJson_value_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1266, PostgreSQLParserRULE_json_value_expr) + p.EnterRule(localctx, 1268, PostgreSQLParserRULE_json_value_expr) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10126) + p.SetState(10127) p.A_expr() } - p.SetState(10128) + p.SetState(10129) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155407,7 +155339,7 @@ func (p *PostgreSQLParser) Json_value_expr() (localctx IJson_value_exprContext) if _la == PostgreSQLParserFORMAT { { - p.SetState(10127) + p.SetState(10128) p.Json_format_clause() } @@ -155535,8 +155467,8 @@ func (s *Json_format_clauseContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Json_format_clause() (localctx IJson_format_clauseContext) { localctx = NewJson_format_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1268, PostgreSQLParserRULE_json_format_clause) - p.SetState(10136) + p.EnterRule(localctx, 1270, PostgreSQLParserRULE_json_format_clause) + p.SetState(10137) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155546,7 +155478,7 @@ func (p *PostgreSQLParser) Json_format_clause() (localctx IJson_format_clauseCon case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10130) + p.SetState(10131) p.Match(PostgreSQLParserFORMAT) if p.HasError() { // Recognition error - abort rule @@ -155554,7 +155486,7 @@ func (p *PostgreSQLParser) Json_format_clause() (localctx IJson_format_clauseCon } } { - p.SetState(10131) + p.SetState(10132) p.Match(PostgreSQLParserJSON) if p.HasError() { // Recognition error - abort rule @@ -155562,7 +155494,7 @@ func (p *PostgreSQLParser) Json_format_clause() (localctx IJson_format_clauseCon } } { - p.SetState(10132) + p.SetState(10133) p.Match(PostgreSQLParserENCODING) if p.HasError() { // Recognition error - abort rule @@ -155570,14 +155502,14 @@ func (p *PostgreSQLParser) Json_format_clause() (localctx IJson_format_clauseCon } } { - p.SetState(10133) + p.SetState(10134) p.Name() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10134) + p.SetState(10135) p.Match(PostgreSQLParserFORMAT) if p.HasError() { // Recognition error - abort rule @@ -155585,7 +155517,7 @@ func (p *PostgreSQLParser) Json_format_clause() (localctx IJson_format_clauseCon } } { - p.SetState(10135) + p.SetState(10136) p.Match(PostgreSQLParserJSON) if p.HasError() { // Recognition error - abort rule @@ -155719,8 +155651,8 @@ func (s *Xml_root_versionContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Xml_root_version() (localctx IXml_root_versionContext) { localctx = NewXml_root_versionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1270, PostgreSQLParserRULE_xml_root_version) - p.SetState(10143) + p.EnterRule(localctx, 1272, PostgreSQLParserRULE_xml_root_version) + p.SetState(10144) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155730,7 +155662,7 @@ func (p *PostgreSQLParser) Xml_root_version() (localctx IXml_root_versionContext case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10138) + p.SetState(10139) p.Match(PostgreSQLParserVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -155738,14 +155670,14 @@ func (p *PostgreSQLParser) Xml_root_version() (localctx IXml_root_versionContext } } { - p.SetState(10139) + p.SetState(10140) p.A_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10140) + p.SetState(10141) p.Match(PostgreSQLParserVERSION_P) if p.HasError() { // Recognition error - abort rule @@ -155753,7 +155685,7 @@ func (p *PostgreSQLParser) Xml_root_version() (localctx IXml_root_versionContext } } { - p.SetState(10141) + p.SetState(10142) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -155761,7 +155693,7 @@ func (p *PostgreSQLParser) Xml_root_version() (localctx IXml_root_versionContext } } { - p.SetState(10142) + p.SetState(10143) p.Match(PostgreSQLParserVALUE_P) if p.HasError() { // Recognition error - abort rule @@ -155888,8 +155820,8 @@ func (s *Opt_xml_root_standaloneContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_standaloneContext) { localctx = NewOpt_xml_root_standaloneContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1272, PostgreSQLParserRULE_opt_xml_root_standalone) - p.SetState(10155) + p.EnterRule(localctx, 1274, PostgreSQLParserRULE_opt_xml_root_standalone) + p.SetState(10156) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -155899,7 +155831,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10145) + p.SetState(10146) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -155907,7 +155839,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10146) + p.SetState(10147) p.Match(PostgreSQLParserSTANDALONE_P) if p.HasError() { // Recognition error - abort rule @@ -155915,7 +155847,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10147) + p.SetState(10148) p.Match(PostgreSQLParserYES_P) if p.HasError() { // Recognition error - abort rule @@ -155926,7 +155858,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10148) + p.SetState(10149) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -155934,7 +155866,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10149) + p.SetState(10150) p.Match(PostgreSQLParserSTANDALONE_P) if p.HasError() { // Recognition error - abort rule @@ -155942,7 +155874,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10150) + p.SetState(10151) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -155953,7 +155885,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10151) + p.SetState(10152) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -155961,7 +155893,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10152) + p.SetState(10153) p.Match(PostgreSQLParserSTANDALONE_P) if p.HasError() { // Recognition error - abort rule @@ -155969,7 +155901,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10153) + p.SetState(10154) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -155977,7 +155909,7 @@ func (p *PostgreSQLParser) Opt_xml_root_standalone() (localctx IOpt_xml_root_sta } } { - p.SetState(10154) + p.SetState(10155) p.Match(PostgreSQLParserVALUE_P) if p.HasError() { // Recognition error - abort rule @@ -156111,10 +156043,10 @@ func (s *Xml_attributesContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Xml_attributes() (localctx IXml_attributesContext) { localctx = NewXml_attributesContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1274, PostgreSQLParserRULE_xml_attributes) + p.EnterRule(localctx, 1276, PostgreSQLParserRULE_xml_attributes) p.EnterOuterAlt(localctx, 1) { - p.SetState(10157) + p.SetState(10158) p.Match(PostgreSQLParserXMLATTRIBUTES) if p.HasError() { // Recognition error - abort rule @@ -156122,7 +156054,7 @@ func (p *PostgreSQLParser) Xml_attributes() (localctx IXml_attributesContext) { } } { - p.SetState(10158) + p.SetState(10159) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -156130,11 +156062,11 @@ func (p *PostgreSQLParser) Xml_attributes() (localctx IXml_attributesContext) { } } { - p.SetState(10159) + p.SetState(10160) p.Xml_attribute_list() } { - p.SetState(10160) + p.SetState(10161) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -156285,15 +156217,15 @@ func (s *Xml_attribute_listContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Xml_attribute_list() (localctx IXml_attribute_listContext) { localctx = NewXml_attribute_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1276, PostgreSQLParserRULE_xml_attribute_list) + p.EnterRule(localctx, 1278, PostgreSQLParserRULE_xml_attribute_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10162) + p.SetState(10163) p.Xml_attribute_el() } - p.SetState(10167) + p.SetState(10168) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -156302,7 +156234,7 @@ func (p *PostgreSQLParser) Xml_attribute_list() (localctx IXml_attribute_listCon for _la == PostgreSQLParserCOMMA { { - p.SetState(10163) + p.SetState(10164) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -156310,11 +156242,11 @@ func (p *PostgreSQLParser) Xml_attribute_list() (localctx IXml_attribute_listCon } } { - p.SetState(10164) + p.SetState(10165) p.Xml_attribute_el() } - p.SetState(10169) + p.SetState(10170) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -156451,15 +156383,15 @@ func (s *Xml_attribute_elContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Xml_attribute_el() (localctx IXml_attribute_elContext) { localctx = NewXml_attribute_elContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1278, PostgreSQLParserRULE_xml_attribute_el) + p.EnterRule(localctx, 1280, PostgreSQLParserRULE_xml_attribute_el) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10170) + p.SetState(10171) p.A_expr() } - p.SetState(10173) + p.SetState(10174) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -156468,7 +156400,7 @@ func (p *PostgreSQLParser) Xml_attribute_el() (localctx IXml_attribute_elContext if _la == PostgreSQLParserAS { { - p.SetState(10171) + p.SetState(10172) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -156476,7 +156408,7 @@ func (p *PostgreSQLParser) Xml_attribute_el() (localctx IXml_attribute_elContext } } { - p.SetState(10172) + p.SetState(10173) p.Collabel() } @@ -156582,12 +156514,12 @@ func (s *Document_or_contentContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Document_or_content() (localctx IDocument_or_contentContext) { localctx = NewDocument_or_contentContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1280, PostgreSQLParserRULE_document_or_content) + p.EnterRule(localctx, 1282, PostgreSQLParserRULE_document_or_content) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10175) + p.SetState(10176) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserCONTENT_P || _la == PostgreSQLParserDOCUMENT_P) { @@ -156703,8 +156635,8 @@ func (s *Xml_whitespace_optionContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *PostgreSQLParser) Xml_whitespace_option() (localctx IXml_whitespace_optionContext) { localctx = NewXml_whitespace_optionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1282, PostgreSQLParserRULE_xml_whitespace_option) - p.SetState(10181) + p.EnterRule(localctx, 1284, PostgreSQLParserRULE_xml_whitespace_option) + p.SetState(10182) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -156714,7 +156646,7 @@ func (p *PostgreSQLParser) Xml_whitespace_option() (localctx IXml_whitespace_opt case PostgreSQLParserPRESERVE: p.EnterOuterAlt(localctx, 1) { - p.SetState(10177) + p.SetState(10178) p.Match(PostgreSQLParserPRESERVE) if p.HasError() { // Recognition error - abort rule @@ -156722,7 +156654,7 @@ func (p *PostgreSQLParser) Xml_whitespace_option() (localctx IXml_whitespace_opt } } { - p.SetState(10178) + p.SetState(10179) p.Match(PostgreSQLParserWHITESPACE_P) if p.HasError() { // Recognition error - abort rule @@ -156733,7 +156665,7 @@ func (p *PostgreSQLParser) Xml_whitespace_option() (localctx IXml_whitespace_opt case PostgreSQLParserSTRIP_P: p.EnterOuterAlt(localctx, 2) { - p.SetState(10179) + p.SetState(10180) p.Match(PostgreSQLParserSTRIP_P) if p.HasError() { // Recognition error - abort rule @@ -156741,7 +156673,7 @@ func (p *PostgreSQLParser) Xml_whitespace_option() (localctx IXml_whitespace_opt } } { - p.SetState(10180) + p.SetState(10181) p.Match(PostgreSQLParserWHITESPACE_P) if p.HasError() { // Recognition error - abort rule @@ -156909,8 +156841,8 @@ func (s *Xmlexists_argumentContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Xmlexists_argument() (localctx IXmlexists_argumentContext) { localctx = NewXmlexists_argumentContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1284, PostgreSQLParserRULE_xmlexists_argument) - p.SetState(10198) + p.EnterRule(localctx, 1286, PostgreSQLParserRULE_xmlexists_argument) + p.SetState(10199) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -156920,7 +156852,7 @@ func (p *PostgreSQLParser) Xmlexists_argument() (localctx IXmlexists_argumentCon case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10183) + p.SetState(10184) p.Match(PostgreSQLParserPASSING) if p.HasError() { // Recognition error - abort rule @@ -156928,14 +156860,14 @@ func (p *PostgreSQLParser) Xmlexists_argument() (localctx IXmlexists_argumentCon } } { - p.SetState(10184) + p.SetState(10185) p.C_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10185) + p.SetState(10186) p.Match(PostgreSQLParserPASSING) if p.HasError() { // Recognition error - abort rule @@ -156943,18 +156875,18 @@ func (p *PostgreSQLParser) Xmlexists_argument() (localctx IXmlexists_argumentCon } } { - p.SetState(10186) + p.SetState(10187) p.C_expr() } { - p.SetState(10187) + p.SetState(10188) p.Xml_passing_mech() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10189) + p.SetState(10190) p.Match(PostgreSQLParserPASSING) if p.HasError() { // Recognition error - abort rule @@ -156962,18 +156894,18 @@ func (p *PostgreSQLParser) Xmlexists_argument() (localctx IXmlexists_argumentCon } } { - p.SetState(10190) + p.SetState(10191) p.Xml_passing_mech() } { - p.SetState(10191) + p.SetState(10192) p.C_expr() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(10193) + p.SetState(10194) p.Match(PostgreSQLParserPASSING) if p.HasError() { // Recognition error - abort rule @@ -156981,15 +156913,15 @@ func (p *PostgreSQLParser) Xmlexists_argument() (localctx IXmlexists_argumentCon } } { - p.SetState(10194) + p.SetState(10195) p.Xml_passing_mech() } { - p.SetState(10195) + p.SetState(10196) p.C_expr() } { - p.SetState(10196) + p.SetState(10197) p.Xml_passing_mech() } @@ -157019,7 +156951,7 @@ type IXml_passing_mechContext interface { // Getter signatures BY() antlr.TerminalNode - REF() antlr.TerminalNode + REF_P() antlr.TerminalNode VALUE_P() antlr.TerminalNode // IsXml_passing_mechContext differentiates from other interfaces. @@ -157062,8 +156994,8 @@ func (s *Xml_passing_mechContext) BY() antlr.TerminalNode { return s.GetToken(PostgreSQLParserBY, 0) } -func (s *Xml_passing_mechContext) REF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREF, 0) +func (s *Xml_passing_mechContext) REF_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREF_P, 0) } func (s *Xml_passing_mechContext) VALUE_P() antlr.TerminalNode { @@ -157102,12 +157034,12 @@ func (s *Xml_passing_mechContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Xml_passing_mech() (localctx IXml_passing_mechContext) { localctx = NewXml_passing_mechContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1286, PostgreSQLParserRULE_xml_passing_mech) + p.EnterRule(localctx, 1288, PostgreSQLParserRULE_xml_passing_mech) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10200) + p.SetState(10201) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -157115,10 +157047,10 @@ func (p *PostgreSQLParser) Xml_passing_mech() (localctx IXml_passing_mechContext } } { - p.SetState(10201) + p.SetState(10202) _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserREF || _la == PostgreSQLParserVALUE_P) { + if !(_la == PostgreSQLParserREF_P || _la == PostgreSQLParserVALUE_P) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -157253,10 +157185,10 @@ func (s *Within_group_clauseContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Within_group_clause() (localctx IWithin_group_clauseContext) { localctx = NewWithin_group_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1288, PostgreSQLParserRULE_within_group_clause) + p.EnterRule(localctx, 1290, PostgreSQLParserRULE_within_group_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10203) + p.SetState(10204) p.Match(PostgreSQLParserWITHIN) if p.HasError() { // Recognition error - abort rule @@ -157264,7 +157196,7 @@ func (p *PostgreSQLParser) Within_group_clause() (localctx IWithin_group_clauseC } } { - p.SetState(10204) + p.SetState(10205) p.Match(PostgreSQLParserGROUP_P) if p.HasError() { // Recognition error - abort rule @@ -157272,7 +157204,7 @@ func (p *PostgreSQLParser) Within_group_clause() (localctx IWithin_group_clauseC } } { - p.SetState(10205) + p.SetState(10206) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -157280,11 +157212,11 @@ func (p *PostgreSQLParser) Within_group_clause() (localctx IWithin_group_clauseC } } { - p.SetState(10206) + p.SetState(10207) p.Sort_clause() } { - p.SetState(10207) + p.SetState(10208) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -157419,10 +157351,10 @@ func (s *Filter_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Filter_clause() (localctx IFilter_clauseContext) { localctx = NewFilter_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1290, PostgreSQLParserRULE_filter_clause) + p.EnterRule(localctx, 1292, PostgreSQLParserRULE_filter_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10209) + p.SetState(10210) p.Match(PostgreSQLParserFILTER) if p.HasError() { // Recognition error - abort rule @@ -157430,7 +157362,7 @@ func (p *PostgreSQLParser) Filter_clause() (localctx IFilter_clauseContext) { } } { - p.SetState(10210) + p.SetState(10211) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -157438,7 +157370,7 @@ func (p *PostgreSQLParser) Filter_clause() (localctx IFilter_clauseContext) { } } { - p.SetState(10211) + p.SetState(10212) p.Match(PostgreSQLParserWHERE) if p.HasError() { // Recognition error - abort rule @@ -157446,11 +157378,11 @@ func (p *PostgreSQLParser) Filter_clause() (localctx IFilter_clauseContext) { } } { - p.SetState(10212) + p.SetState(10213) p.A_expr() } { - p.SetState(10213) + p.SetState(10214) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -157570,10 +157502,10 @@ func (s *Window_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Window_clause() (localctx IWindow_clauseContext) { localctx = NewWindow_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1292, PostgreSQLParserRULE_window_clause) + p.EnterRule(localctx, 1294, PostgreSQLParserRULE_window_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10215) + p.SetState(10216) p.Match(PostgreSQLParserWINDOW) if p.HasError() { // Recognition error - abort rule @@ -157581,7 +157513,7 @@ func (p *PostgreSQLParser) Window_clause() (localctx IWindow_clauseContext) { } } { - p.SetState(10216) + p.SetState(10217) p.Window_definition_list() } @@ -157728,15 +157660,15 @@ func (s *Window_definition_listContext) Accept(visitor antlr.ParseTreeVisitor) i func (p *PostgreSQLParser) Window_definition_list() (localctx IWindow_definition_listContext) { localctx = NewWindow_definition_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1294, PostgreSQLParserRULE_window_definition_list) + p.EnterRule(localctx, 1296, PostgreSQLParserRULE_window_definition_list) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(10218) + p.SetState(10219) p.Window_definition() } - p.SetState(10223) + p.SetState(10224) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -157748,7 +157680,7 @@ func (p *PostgreSQLParser) Window_definition_list() (localctx IWindow_definition for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(10219) + p.SetState(10220) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -157756,12 +157688,12 @@ func (p *PostgreSQLParser) Window_definition_list() (localctx IWindow_definition } } { - p.SetState(10220) + p.SetState(10221) p.Window_definition() } } - p.SetState(10225) + p.SetState(10226) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -157901,14 +157833,14 @@ func (s *Window_definitionContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *PostgreSQLParser) Window_definition() (localctx IWindow_definitionContext) { localctx = NewWindow_definitionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1296, PostgreSQLParserRULE_window_definition) + p.EnterRule(localctx, 1298, PostgreSQLParserRULE_window_definition) p.EnterOuterAlt(localctx, 1) { - p.SetState(10226) + p.SetState(10227) p.Colid() } { - p.SetState(10227) + p.SetState(10228) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -157916,7 +157848,7 @@ func (p *PostgreSQLParser) Window_definition() (localctx IWindow_definitionConte } } { - p.SetState(10228) + p.SetState(10229) p.Window_specification() } @@ -158049,17 +157981,17 @@ func (s *Over_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Over_clause() (localctx IOver_clauseContext) { localctx = NewOver_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1298, PostgreSQLParserRULE_over_clause) + p.EnterRule(localctx, 1300, PostgreSQLParserRULE_over_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10230) + p.SetState(10231) p.Match(PostgreSQLParserOVER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10233) + p.SetState(10234) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158068,13 +158000,13 @@ func (p *PostgreSQLParser) Over_clause() (localctx IOver_clauseContext) { switch p.GetTokenStream().LA(1) { case PostgreSQLParserOPEN_PAREN: { - p.SetState(10231) + p.SetState(10232) p.Window_specification() } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(10232) + p.SetState(10233) p.Colid() } @@ -158251,31 +158183,31 @@ func (s *Window_specificationContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Window_specification() (localctx IWindow_specificationContext) { localctx = NewWindow_specificationContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1300, PostgreSQLParserRULE_window_specification) + p.EnterRule(localctx, 1302, PostgreSQLParserRULE_window_specification) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10235) + p.SetState(10236) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10237) + p.SetState(10238) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 986, p.GetParserRuleContext()) == 1 { { - p.SetState(10236) + p.SetState(10237) p.Opt_existing_window_name() } } else if p.HasError() { // JIM goto errorExit } - p.SetState(10240) + p.SetState(10241) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158284,12 +158216,12 @@ func (p *PostgreSQLParser) Window_specification() (localctx IWindow_specificatio if _la == PostgreSQLParserPARTITION { { - p.SetState(10239) + p.SetState(10240) p.Opt_partition_clause() } } - p.SetState(10243) + p.SetState(10244) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158298,27 +158230,27 @@ func (p *PostgreSQLParser) Window_specification() (localctx IWindow_specificatio if _la == PostgreSQLParserORDER { { - p.SetState(10242) + p.SetState(10243) p.Opt_sort_clause() } } - p.SetState(10246) + p.SetState(10247) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserRANGE || _la == PostgreSQLParserROWS || _la == PostgreSQLParserGROUPS { + if _la == PostgreSQLParserGROUPS || _la == PostgreSQLParserRANGE || _la == PostgreSQLParserROWS { { - p.SetState(10245) + p.SetState(10246) p.Opt_frame_clause() } } { - p.SetState(10248) + p.SetState(10249) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -158433,10 +158365,10 @@ func (s *Opt_existing_window_nameContext) Accept(visitor antlr.ParseTreeVisitor) func (p *PostgreSQLParser) Opt_existing_window_name() (localctx IOpt_existing_window_nameContext) { localctx = NewOpt_existing_window_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1302, PostgreSQLParserRULE_opt_existing_window_name) + p.EnterRule(localctx, 1304, PostgreSQLParserRULE_opt_existing_window_name) p.EnterOuterAlt(localctx, 1) { - p.SetState(10250) + p.SetState(10251) p.Colid() } @@ -158557,10 +158489,10 @@ func (s *Opt_partition_clauseContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *PostgreSQLParser) Opt_partition_clause() (localctx IOpt_partition_clauseContext) { localctx = NewOpt_partition_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1304, PostgreSQLParserRULE_opt_partition_clause) + p.EnterRule(localctx, 1306, PostgreSQLParserRULE_opt_partition_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10252) + p.SetState(10253) p.Match(PostgreSQLParserPARTITION) if p.HasError() { // Recognition error - abort rule @@ -158568,7 +158500,7 @@ func (p *PostgreSQLParser) Opt_partition_clause() (localctx IOpt_partition_claus } } { - p.SetState(10253) + p.SetState(10254) p.Match(PostgreSQLParserBY) if p.HasError() { // Recognition error - abort rule @@ -158576,7 +158508,7 @@ func (p *PostgreSQLParser) Opt_partition_clause() (localctx IOpt_partition_claus } } { - p.SetState(10254) + p.SetState(10255) p.Expr_list() } @@ -158719,10 +158651,10 @@ func (s *Opt_frame_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext) { localctx = NewOpt_frame_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1306, PostgreSQLParserRULE_opt_frame_clause) + p.EnterRule(localctx, 1308, PostgreSQLParserRULE_opt_frame_clause) var _la int - p.SetState(10271) + p.SetState(10272) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158732,7 +158664,7 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext case PostgreSQLParserRANGE: p.EnterOuterAlt(localctx, 1) { - p.SetState(10256) + p.SetState(10257) p.Match(PostgreSQLParserRANGE) if p.HasError() { // Recognition error - abort rule @@ -158740,10 +158672,10 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext } } { - p.SetState(10257) + p.SetState(10258) p.Frame_extent() } - p.SetState(10259) + p.SetState(10260) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158752,7 +158684,7 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext if _la == PostgreSQLParserEXCLUDE { { - p.SetState(10258) + p.SetState(10259) p.Opt_window_exclusion_clause() } @@ -158761,7 +158693,7 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext case PostgreSQLParserROWS: p.EnterOuterAlt(localctx, 2) { - p.SetState(10261) + p.SetState(10262) p.Match(PostgreSQLParserROWS) if p.HasError() { // Recognition error - abort rule @@ -158769,10 +158701,10 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext } } { - p.SetState(10262) + p.SetState(10263) p.Frame_extent() } - p.SetState(10264) + p.SetState(10265) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158781,7 +158713,7 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext if _la == PostgreSQLParserEXCLUDE { { - p.SetState(10263) + p.SetState(10264) p.Opt_window_exclusion_clause() } @@ -158790,7 +158722,7 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext case PostgreSQLParserGROUPS: p.EnterOuterAlt(localctx, 3) { - p.SetState(10266) + p.SetState(10267) p.Match(PostgreSQLParserGROUPS) if p.HasError() { // Recognition error - abort rule @@ -158798,10 +158730,10 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext } } { - p.SetState(10267) + p.SetState(10268) p.Frame_extent() } - p.SetState(10269) + p.SetState(10270) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158810,7 +158742,7 @@ func (p *PostgreSQLParser) Opt_frame_clause() (localctx IOpt_frame_clauseContext if _la == PostgreSQLParserEXCLUDE { { - p.SetState(10268) + p.SetState(10269) p.Opt_window_exclusion_clause() } @@ -158964,8 +158896,8 @@ func (s *Frame_extentContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Frame_extent() (localctx IFrame_extentContext) { localctx = NewFrame_extentContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1308, PostgreSQLParserRULE_frame_extent) - p.SetState(10279) + p.EnterRule(localctx, 1310, PostgreSQLParserRULE_frame_extent) + p.SetState(10280) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -158975,14 +158907,14 @@ func (p *PostgreSQLParser) Frame_extent() (localctx IFrame_extentContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10273) + p.SetState(10274) p.Frame_bound() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10274) + p.SetState(10275) p.Match(PostgreSQLParserBETWEEN) if p.HasError() { // Recognition error - abort rule @@ -158990,11 +158922,11 @@ func (p *PostgreSQLParser) Frame_extent() (localctx IFrame_extentContext) { } } { - p.SetState(10275) + p.SetState(10276) p.Frame_bound() } { - p.SetState(10276) + p.SetState(10277) p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule @@ -159002,7 +158934,7 @@ func (p *PostgreSQLParser) Frame_extent() (localctx IFrame_extentContext) { } } { - p.SetState(10277) + p.SetState(10278) p.Frame_bound() } @@ -159142,10 +159074,10 @@ func (s *Frame_boundContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Frame_bound() (localctx IFrame_boundContext) { localctx = NewFrame_boundContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1310, PostgreSQLParserRULE_frame_bound) + p.EnterRule(localctx, 1312, PostgreSQLParserRULE_frame_bound) var _la int - p.SetState(10288) + p.SetState(10289) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -159155,7 +159087,7 @@ func (p *PostgreSQLParser) Frame_bound() (localctx IFrame_boundContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10281) + p.SetState(10282) p.Match(PostgreSQLParserUNBOUNDED) if p.HasError() { // Recognition error - abort rule @@ -159163,7 +159095,7 @@ func (p *PostgreSQLParser) Frame_bound() (localctx IFrame_boundContext) { } } { - p.SetState(10282) + p.SetState(10283) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserFOLLOWING || _la == PostgreSQLParserPRECEDING) { @@ -159177,7 +159109,7 @@ func (p *PostgreSQLParser) Frame_bound() (localctx IFrame_boundContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10283) + p.SetState(10284) p.Match(PostgreSQLParserCURRENT_P) if p.HasError() { // Recognition error - abort rule @@ -159185,7 +159117,7 @@ func (p *PostgreSQLParser) Frame_bound() (localctx IFrame_boundContext) { } } { - p.SetState(10284) + p.SetState(10285) p.Match(PostgreSQLParserROW) if p.HasError() { // Recognition error - abort rule @@ -159196,11 +159128,11 @@ func (p *PostgreSQLParser) Frame_bound() (localctx IFrame_boundContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10285) + p.SetState(10286) p.A_expr() } { - p.SetState(10286) + p.SetState(10287) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserFOLLOWING || _la == PostgreSQLParserPRECEDING) { @@ -159340,17 +159272,17 @@ func (s *Opt_window_exclusion_clauseContext) Accept(visitor antlr.ParseTreeVisit func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_exclusion_clauseContext) { localctx = NewOpt_window_exclusion_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1312, PostgreSQLParserRULE_opt_window_exclusion_clause) + p.EnterRule(localctx, 1314, PostgreSQLParserRULE_opt_window_exclusion_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10290) + p.SetState(10291) p.Match(PostgreSQLParserEXCLUDE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10297) + p.SetState(10298) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -159359,7 +159291,7 @@ func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_e switch p.GetTokenStream().LA(1) { case PostgreSQLParserCURRENT_P: { - p.SetState(10291) + p.SetState(10292) p.Match(PostgreSQLParserCURRENT_P) if p.HasError() { // Recognition error - abort rule @@ -159367,7 +159299,7 @@ func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_e } } { - p.SetState(10292) + p.SetState(10293) p.Match(PostgreSQLParserROW) if p.HasError() { // Recognition error - abort rule @@ -159377,7 +159309,7 @@ func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_e case PostgreSQLParserGROUP_P: { - p.SetState(10293) + p.SetState(10294) p.Match(PostgreSQLParserGROUP_P) if p.HasError() { // Recognition error - abort rule @@ -159387,7 +159319,7 @@ func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_e case PostgreSQLParserTIES: { - p.SetState(10294) + p.SetState(10295) p.Match(PostgreSQLParserTIES) if p.HasError() { // Recognition error - abort rule @@ -159397,7 +159329,7 @@ func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_e case PostgreSQLParserNO: { - p.SetState(10295) + p.SetState(10296) p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule @@ -159405,7 +159337,7 @@ func (p *PostgreSQLParser) Opt_window_exclusion_clause() (localctx IOpt_window_e } } { - p.SetState(10296) + p.SetState(10297) p.Match(PostgreSQLParserOTHERS) if p.HasError() { // Recognition error - abort rule @@ -159562,10 +159494,10 @@ func (s *RowContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Row() (localctx IRowContext) { localctx = NewRowContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1314, PostgreSQLParserRULE_row) + p.EnterRule(localctx, 1316, PostgreSQLParserRULE_row) var _la int - p.SetState(10311) + p.SetState(10312) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -159575,7 +159507,7 @@ func (p *PostgreSQLParser) Row() (localctx IRowContext) { case PostgreSQLParserROW: p.EnterOuterAlt(localctx, 1) { - p.SetState(10299) + p.SetState(10300) p.Match(PostgreSQLParserROW) if p.HasError() { // Recognition error - abort rule @@ -159583,29 +159515,29 @@ func (p *PostgreSQLParser) Row() (localctx IRowContext) { } } { - p.SetState(10300) + p.SetState(10301) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10302) + p.SetState(10303) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { { - p.SetState(10301) + p.SetState(10302) p.Expr_list() } } { - p.SetState(10304) + p.SetState(10305) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -159616,7 +159548,7 @@ func (p *PostgreSQLParser) Row() (localctx IRowContext) { case PostgreSQLParserOPEN_PAREN: p.EnterOuterAlt(localctx, 2) { - p.SetState(10305) + p.SetState(10306) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -159624,11 +159556,11 @@ func (p *PostgreSQLParser) Row() (localctx IRowContext) { } } { - p.SetState(10306) + p.SetState(10307) p.Expr_list() } { - p.SetState(10307) + p.SetState(10308) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -159636,11 +159568,11 @@ func (p *PostgreSQLParser) Row() (localctx IRowContext) { } } { - p.SetState(10308) + p.SetState(10309) p.A_expr() } { - p.SetState(10309) + p.SetState(10310) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -159775,12 +159707,12 @@ func (s *Explicit_rowContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Explicit_row() (localctx IExplicit_rowContext) { localctx = NewExplicit_rowContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1316, PostgreSQLParserRULE_explicit_row) + p.EnterRule(localctx, 1318, PostgreSQLParserRULE_explicit_row) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10313) + p.SetState(10314) p.Match(PostgreSQLParserROW) if p.HasError() { // Recognition error - abort rule @@ -159788,29 +159720,29 @@ func (p *PostgreSQLParser) Explicit_row() (localctx IExplicit_rowContext) { } } { - p.SetState(10314) + p.SetState(10315) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10316) + p.SetState(10317) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { { - p.SetState(10315) + p.SetState(10316) p.Expr_list() } } { - p.SetState(10318) + p.SetState(10319) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -159957,10 +159889,10 @@ func (s *Implicit_rowContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Implicit_row() (localctx IImplicit_rowContext) { localctx = NewImplicit_rowContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1318, PostgreSQLParserRULE_implicit_row) + p.EnterRule(localctx, 1320, PostgreSQLParserRULE_implicit_row) p.EnterOuterAlt(localctx, 1) { - p.SetState(10320) + p.SetState(10321) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -159968,11 +159900,11 @@ func (p *PostgreSQLParser) Implicit_row() (localctx IImplicit_rowContext) { } } { - p.SetState(10321) + p.SetState(10322) p.Expr_list() } { - p.SetState(10322) + p.SetState(10323) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -159980,11 +159912,11 @@ func (p *PostgreSQLParser) Implicit_row() (localctx IImplicit_rowContext) { } } { - p.SetState(10323) + p.SetState(10324) p.A_expr() } { - p.SetState(10324) + p.SetState(10325) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160097,15 +160029,15 @@ func (s *Sub_typeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Sub_type() (localctx ISub_typeContext) { localctx = NewSub_typeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1320, PostgreSQLParserRULE_sub_type) + p.EnterRule(localctx, 1322, PostgreSQLParserRULE_sub_type) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10326) + p.SetState(10327) _la = p.GetTokenStream().LA(1) - if !((int64((_la-30)) & ^0x3f) == 0 && ((int64(1)<<(_la-30))&1152921504606846993) != 0) { + if !(_la == PostgreSQLParserALL || _la == PostgreSQLParserANY || _la == PostgreSQLParserSOME) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -160225,8 +160157,8 @@ func (s *All_opContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) All_op() (localctx IAll_opContext) { localctx = NewAll_opContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1322, PostgreSQLParserRULE_all_op) - p.SetState(10330) + p.EnterRule(localctx, 1324, PostgreSQLParserRULE_all_op) + p.SetState(10331) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -160236,7 +160168,7 @@ func (p *PostgreSQLParser) All_op() (localctx IAll_opContext) { case PostgreSQLParserOperator: p.EnterOuterAlt(localctx, 1) { - p.SetState(10328) + p.SetState(10329) p.Match(PostgreSQLParserOperator) if p.HasError() { // Recognition error - abort rule @@ -160247,7 +160179,7 @@ func (p *PostgreSQLParser) All_op() (localctx IAll_opContext) { case PostgreSQLParserSTAR, PostgreSQLParserEQUAL, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserSLASH, PostgreSQLParserCARET, PostgreSQLParserLT, PostgreSQLParserGT, PostgreSQLParserLESS_EQUALS, PostgreSQLParserGREATER_EQUALS, PostgreSQLParserNOT_EQUALS, PostgreSQLParserPERCENT: p.EnterOuterAlt(localctx, 2) { - p.SetState(10329) + p.SetState(10330) p.Mathop() } @@ -160406,15 +160338,15 @@ func (s *MathopContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Mathop() (localctx IMathopContext) { localctx = NewMathopContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1324, PostgreSQLParserRULE_mathop) + p.EnterRule(localctx, 1326, PostgreSQLParserRULE_mathop) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10332) + p.SetState(10333) _la = p.GetTokenStream().LA(1) - if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&178517504) != 0) { + if !((int64((_la-503)) & ^0x3f) == 0 && ((int64(1)<<(_la-503))&348667) != 0) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -160549,8 +160481,8 @@ func (s *Qual_opContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Qual_op() (localctx IQual_opContext) { localctx = NewQual_opContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1326, PostgreSQLParserRULE_qual_op) - p.SetState(10340) + p.EnterRule(localctx, 1328, PostgreSQLParserRULE_qual_op) + p.SetState(10341) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -160560,7 +160492,7 @@ func (p *PostgreSQLParser) Qual_op() (localctx IQual_opContext) { case PostgreSQLParserOperator: p.EnterOuterAlt(localctx, 1) { - p.SetState(10334) + p.SetState(10335) p.Match(PostgreSQLParserOperator) if p.HasError() { // Recognition error - abort rule @@ -160571,7 +160503,7 @@ func (p *PostgreSQLParser) Qual_op() (localctx IQual_opContext) { case PostgreSQLParserOPERATOR: p.EnterOuterAlt(localctx, 2) { - p.SetState(10335) + p.SetState(10336) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -160579,7 +160511,7 @@ func (p *PostgreSQLParser) Qual_op() (localctx IQual_opContext) { } } { - p.SetState(10336) + p.SetState(10337) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160587,11 +160519,11 @@ func (p *PostgreSQLParser) Qual_op() (localctx IQual_opContext) { } } { - p.SetState(10337) + p.SetState(10338) p.Any_operator() } { - p.SetState(10338) + p.SetState(10339) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160743,8 +160675,8 @@ func (s *Qual_all_opContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Qual_all_op() (localctx IQual_all_opContext) { localctx = NewQual_all_opContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1328, PostgreSQLParserRULE_qual_all_op) - p.SetState(10348) + p.EnterRule(localctx, 1330, PostgreSQLParserRULE_qual_all_op) + p.SetState(10349) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -160754,14 +160686,14 @@ func (p *PostgreSQLParser) Qual_all_op() (localctx IQual_all_opContext) { case PostgreSQLParserSTAR, PostgreSQLParserEQUAL, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserSLASH, PostgreSQLParserCARET, PostgreSQLParserLT, PostgreSQLParserGT, PostgreSQLParserLESS_EQUALS, PostgreSQLParserGREATER_EQUALS, PostgreSQLParserNOT_EQUALS, PostgreSQLParserPERCENT, PostgreSQLParserOperator: p.EnterOuterAlt(localctx, 1) { - p.SetState(10342) + p.SetState(10343) p.All_op() } case PostgreSQLParserOPERATOR: p.EnterOuterAlt(localctx, 2) { - p.SetState(10343) + p.SetState(10344) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -160769,7 +160701,7 @@ func (p *PostgreSQLParser) Qual_all_op() (localctx IQual_all_opContext) { } } { - p.SetState(10344) + p.SetState(10345) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160777,11 +160709,11 @@ func (p *PostgreSQLParser) Qual_all_op() (localctx IQual_all_opContext) { } } { - p.SetState(10345) + p.SetState(10346) p.Any_operator() } { - p.SetState(10346) + p.SetState(10347) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160948,8 +160880,8 @@ func (s *Subquery_OpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { localctx = NewSubquery_OpContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1330, PostgreSQLParserRULE_subquery_Op) - p.SetState(10362) + p.EnterRule(localctx, 1332, PostgreSQLParserRULE_subquery_Op) + p.SetState(10363) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -160959,14 +160891,14 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10350) + p.SetState(10351) p.All_op() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10351) + p.SetState(10352) p.Match(PostgreSQLParserOPERATOR) if p.HasError() { // Recognition error - abort rule @@ -160974,7 +160906,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { } } { - p.SetState(10352) + p.SetState(10353) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160982,11 +160914,11 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { } } { - p.SetState(10353) + p.SetState(10354) p.Any_operator() } { - p.SetState(10354) + p.SetState(10355) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -160997,7 +160929,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10356) + p.SetState(10357) p.Match(PostgreSQLParserLIKE) if p.HasError() { // Recognition error - abort rule @@ -161008,7 +160940,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(10357) + p.SetState(10358) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -161016,7 +160948,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { } } { - p.SetState(10358) + p.SetState(10359) p.Match(PostgreSQLParserLIKE) if p.HasError() { // Recognition error - abort rule @@ -161027,7 +160959,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(10359) + p.SetState(10360) p.Match(PostgreSQLParserILIKE) if p.HasError() { // Recognition error - abort rule @@ -161038,7 +160970,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(10360) + p.SetState(10361) p.Match(PostgreSQLParserNOT) if p.HasError() { // Recognition error - abort rule @@ -161046,7 +160978,7 @@ func (p *PostgreSQLParser) Subquery_Op() (localctx ISubquery_OpContext) { } } { - p.SetState(10361) + p.SetState(10362) p.Match(PostgreSQLParserILIKE) if p.HasError() { // Recognition error - abort rule @@ -161201,15 +161133,15 @@ func (s *Expr_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Expr_list() (localctx IExpr_listContext) { localctx = NewExpr_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1332, PostgreSQLParserRULE_expr_list) + p.EnterRule(localctx, 1334, PostgreSQLParserRULE_expr_list) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(10364) + p.SetState(10365) p.A_expr() } - p.SetState(10369) + p.SetState(10370) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161221,7 +161153,7 @@ func (p *PostgreSQLParser) Expr_list() (localctx IExpr_listContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(10365) + p.SetState(10366) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -161229,12 +161161,12 @@ func (p *PostgreSQLParser) Expr_list() (localctx IExpr_listContext) { } } { - p.SetState(10366) + p.SetState(10367) p.A_expr() } } - p.SetState(10371) + p.SetState(10372) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161388,15 +161320,15 @@ func (s *Func_arg_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Func_arg_list() (localctx IFunc_arg_listContext) { localctx = NewFunc_arg_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1334, PostgreSQLParserRULE_func_arg_list) + p.EnterRule(localctx, 1336, PostgreSQLParserRULE_func_arg_list) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(10372) + p.SetState(10373) p.Func_arg_expr() } - p.SetState(10377) + p.SetState(10378) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161408,7 +161340,7 @@ func (p *PostgreSQLParser) Func_arg_list() (localctx IFunc_arg_listContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(10373) + p.SetState(10374) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -161416,12 +161348,12 @@ func (p *PostgreSQLParser) Func_arg_list() (localctx IFunc_arg_listContext) { } } { - p.SetState(10374) + p.SetState(10375) p.Func_arg_expr() } } - p.SetState(10379) + p.SetState(10380) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161566,10 +161498,10 @@ func (s *Func_arg_exprContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Func_arg_expr() (localctx IFunc_arg_exprContext) { localctx = NewFunc_arg_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1336, PostgreSQLParserRULE_func_arg_expr) + p.EnterRule(localctx, 1338, PostgreSQLParserRULE_func_arg_expr) var _la int - p.SetState(10385) + p.SetState(10386) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161579,18 +161511,18 @@ func (p *PostgreSQLParser) Func_arg_expr() (localctx IFunc_arg_exprContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10380) + p.SetState(10381) p.A_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10381) + p.SetState(10382) p.Param_name() } { - p.SetState(10382) + p.SetState(10383) _la = p.GetTokenStream().LA(1) if !(_la == PostgreSQLParserCOLON_EQUALS || _la == PostgreSQLParserEQUALS_GREATER) { @@ -161601,7 +161533,7 @@ func (p *PostgreSQLParser) Func_arg_expr() (localctx IFunc_arg_exprContext) { } } { - p.SetState(10383) + p.SetState(10384) p.A_expr() } @@ -161752,15 +161684,15 @@ func (s *Type_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Type_list() (localctx IType_listContext) { localctx = NewType_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1338, PostgreSQLParserRULE_type_list) + p.EnterRule(localctx, 1340, PostgreSQLParserRULE_type_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10387) + p.SetState(10388) p.Typename() } - p.SetState(10392) + p.SetState(10393) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161769,7 +161701,7 @@ func (p *PostgreSQLParser) Type_list() (localctx IType_listContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(10388) + p.SetState(10389) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -161777,11 +161709,11 @@ func (p *PostgreSQLParser) Type_list() (localctx IType_listContext) { } } { - p.SetState(10389) + p.SetState(10390) p.Typename() } - p.SetState(10394) + p.SetState(10395) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -161923,31 +161855,31 @@ func (s *Array_exprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Array_expr() (localctx IArray_exprContext) { localctx = NewArray_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1340, PostgreSQLParserRULE_array_expr) + p.EnterRule(localctx, 1342, PostgreSQLParserRULE_array_expr) p.EnterOuterAlt(localctx, 1) { - p.SetState(10395) + p.SetState(10396) p.Match(PostgreSQLParserOPEN_BRACKET) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10398) + p.SetState(10399) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserOPEN_PAREN, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserSESSION_USER, PostgreSQLParserTABLE, PostgreSQLParserTRUE_P, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_VALUE, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLEFT, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserRIGHT, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserOPEN_PAREN, PostgreSQLParserPLUS, PostgreSQLParserMINUS, PostgreSQLParserPARAM, PostgreSQLParserOperator, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserBinaryStringConstant, PostgreSQLParserHexadecimalStringConstant, PostgreSQLParserIntegral, PostgreSQLParserNumeric, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER, PostgreSQLParserEscapeStringConstant: { - p.SetState(10396) + p.SetState(10397) p.Expr_list() } case PostgreSQLParserOPEN_BRACKET: { - p.SetState(10397) + p.SetState(10398) p.Array_expr_list() } @@ -161956,7 +161888,7 @@ func (p *PostgreSQLParser) Array_expr() (localctx IArray_exprContext) { default: } { - p.SetState(10400) + p.SetState(10401) p.Match(PostgreSQLParserCLOSE_BRACKET) if p.HasError() { // Recognition error - abort rule @@ -162107,15 +162039,15 @@ func (s *Array_expr_listContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Array_expr_list() (localctx IArray_expr_listContext) { localctx = NewArray_expr_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1342, PostgreSQLParserRULE_array_expr_list) + p.EnterRule(localctx, 1344, PostgreSQLParserRULE_array_expr_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10402) + p.SetState(10403) p.Array_expr() } - p.SetState(10407) + p.SetState(10408) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -162124,7 +162056,7 @@ func (p *PostgreSQLParser) Array_expr_list() (localctx IArray_expr_listContext) for _la == PostgreSQLParserCOMMA { { - p.SetState(10403) + p.SetState(10404) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -162132,11 +162064,11 @@ func (p *PostgreSQLParser) Array_expr_list() (localctx IArray_expr_listContext) } } { - p.SetState(10404) + p.SetState(10405) p.Array_expr() } - p.SetState(10409) + p.SetState(10410) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -162273,14 +162205,14 @@ func (s *Extract_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Extract_list() (localctx IExtract_listContext) { localctx = NewExtract_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1344, PostgreSQLParserRULE_extract_list) + p.EnterRule(localctx, 1346, PostgreSQLParserRULE_extract_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(10410) + p.SetState(10411) p.Extract_arg() } { - p.SetState(10411) + p.SetState(10412) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -162288,7 +162220,7 @@ func (p *PostgreSQLParser) Extract_list() (localctx IExtract_listContext) { } } { - p.SetState(10412) + p.SetState(10413) p.A_expr() } @@ -162446,25 +162378,25 @@ func (s *Extract_argContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { localctx = NewExtract_argContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1346, PostgreSQLParserRULE_extract_arg) - p.SetState(10422) + p.EnterRule(localctx, 1348, PostgreSQLParserRULE_extract_arg) + p.SetState(10423) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserIS, PostgreSQLParserOUTER_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserBACKWARD, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOMMIT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURSOR, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTYPE_P, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABSOLUTE_P, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserBACKWARD, PostgreSQLParserCALL, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOMMIT, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserERROR_P, PostgreSQLParserFETCH, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserIS, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserOUTER_P, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserRETURN, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTABLE, PostgreSQLParserTYPE_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { - p.SetState(10414) + p.SetState(10415) p.Identifier() } case PostgreSQLParserYEAR_P: p.EnterOuterAlt(localctx, 2) { - p.SetState(10415) + p.SetState(10416) p.Match(PostgreSQLParserYEAR_P) if p.HasError() { // Recognition error - abort rule @@ -162475,7 +162407,7 @@ func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { case PostgreSQLParserMONTH_P: p.EnterOuterAlt(localctx, 3) { - p.SetState(10416) + p.SetState(10417) p.Match(PostgreSQLParserMONTH_P) if p.HasError() { // Recognition error - abort rule @@ -162486,7 +162418,7 @@ func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { case PostgreSQLParserDAY_P: p.EnterOuterAlt(localctx, 4) { - p.SetState(10417) + p.SetState(10418) p.Match(PostgreSQLParserDAY_P) if p.HasError() { // Recognition error - abort rule @@ -162497,7 +162429,7 @@ func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { case PostgreSQLParserHOUR_P: p.EnterOuterAlt(localctx, 5) { - p.SetState(10418) + p.SetState(10419) p.Match(PostgreSQLParserHOUR_P) if p.HasError() { // Recognition error - abort rule @@ -162508,7 +162440,7 @@ func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { case PostgreSQLParserMINUTE_P: p.EnterOuterAlt(localctx, 6) { - p.SetState(10419) + p.SetState(10420) p.Match(PostgreSQLParserMINUTE_P) if p.HasError() { // Recognition error - abort rule @@ -162519,7 +162451,7 @@ func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { case PostgreSQLParserSECOND_P: p.EnterOuterAlt(localctx, 7) { - p.SetState(10420) + p.SetState(10421) p.Match(PostgreSQLParserSECOND_P) if p.HasError() { // Recognition error - abort rule @@ -162530,7 +162462,7 @@ func (p *PostgreSQLParser) Extract_arg() (localctx IExtract_argContext) { case PostgreSQLParserStringConstant, PostgreSQLParserUnicodeEscapeStringConstant, PostgreSQLParserBeginDollarStringConstant, PostgreSQLParserEscapeStringConstant: p.EnterOuterAlt(localctx, 8) { - p.SetState(10421) + p.SetState(10422) p.Sconst() } @@ -162649,15 +162581,15 @@ func (s *Unicode_normal_formContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Unicode_normal_form() (localctx IUnicode_normal_formContext) { localctx = NewUnicode_normal_formContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1348, PostgreSQLParserRULE_unicode_normal_form) + p.EnterRule(localctx, 1350, PostgreSQLParserRULE_unicode_normal_form) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10424) + p.SetState(10425) _la = p.GetTokenStream().LA(1) - if !((int64((_la-504)) & ^0x3f) == 0 && ((int64(1)<<(_la-504))&15) != 0) { + if !((int64((_la-266)) & ^0x3f) == 0 && ((int64(1)<<(_la-266))&15) != 0) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -162813,16 +162745,16 @@ func (s *Overlay_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Overlay_list() (localctx IOverlay_listContext) { localctx = NewOverlay_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1350, PostgreSQLParserRULE_overlay_list) + p.EnterRule(localctx, 1352, PostgreSQLParserRULE_overlay_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10426) + p.SetState(10427) p.A_expr() } { - p.SetState(10427) + p.SetState(10428) p.Match(PostgreSQLParserPLACING) if p.HasError() { // Recognition error - abort rule @@ -162830,11 +162762,11 @@ func (p *PostgreSQLParser) Overlay_list() (localctx IOverlay_listContext) { } } { - p.SetState(10428) + p.SetState(10429) p.A_expr() } { - p.SetState(10429) + p.SetState(10430) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -162842,10 +162774,10 @@ func (p *PostgreSQLParser) Overlay_list() (localctx IOverlay_listContext) { } } { - p.SetState(10430) + p.SetState(10431) p.A_expr() } - p.SetState(10433) + p.SetState(10434) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -162854,7 +162786,7 @@ func (p *PostgreSQLParser) Overlay_list() (localctx IOverlay_listContext) { if _la == PostgreSQLParserFOR { { - p.SetState(10431) + p.SetState(10432) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -162862,7 +162794,7 @@ func (p *PostgreSQLParser) Overlay_list() (localctx IOverlay_listContext) { } } { - p.SetState(10432) + p.SetState(10433) p.A_expr() } @@ -163006,14 +162938,14 @@ func (s *Position_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *PostgreSQLParser) Position_list() (localctx IPosition_listContext) { localctx = NewPosition_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1352, PostgreSQLParserRULE_position_list) + p.EnterRule(localctx, 1354, PostgreSQLParserRULE_position_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(10435) + p.SetState(10436) p.b_expr(0) } { - p.SetState(10436) + p.SetState(10437) p.Match(PostgreSQLParserIN_P) if p.HasError() { // Recognition error - abort rule @@ -163021,7 +162953,7 @@ func (p *PostgreSQLParser) Position_list() (localctx IPosition_listContext) { } } { - p.SetState(10437) + p.SetState(10438) p.b_expr(0) } @@ -163195,8 +163127,8 @@ func (s *Substr_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { localctx = NewSubstr_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1354, PostgreSQLParserRULE_substr_list) - p.SetState(10466) + p.EnterRule(localctx, 1356, PostgreSQLParserRULE_substr_list) + p.SetState(10467) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -163206,11 +163138,11 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10439) + p.SetState(10440) p.A_expr() } { - p.SetState(10440) + p.SetState(10441) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -163218,11 +163150,11 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10441) + p.SetState(10442) p.A_expr() } { - p.SetState(10442) + p.SetState(10443) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -163230,18 +163162,18 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10443) + p.SetState(10444) p.A_expr() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10445) + p.SetState(10446) p.A_expr() } { - p.SetState(10446) + p.SetState(10447) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -163249,11 +163181,11 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10447) + p.SetState(10448) p.A_expr() } { - p.SetState(10448) + p.SetState(10449) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -163261,18 +163193,18 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10449) + p.SetState(10450) p.A_expr() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10451) + p.SetState(10452) p.A_expr() } { - p.SetState(10452) + p.SetState(10453) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -163280,18 +163212,18 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10453) + p.SetState(10454) p.A_expr() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(10455) + p.SetState(10456) p.A_expr() } { - p.SetState(10456) + p.SetState(10457) p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule @@ -163299,18 +163231,18 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10457) + p.SetState(10458) p.A_expr() } case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(10459) + p.SetState(10460) p.A_expr() } { - p.SetState(10460) + p.SetState(10461) p.Match(PostgreSQLParserSIMILAR) if p.HasError() { // Recognition error - abort rule @@ -163318,11 +163250,11 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10461) + p.SetState(10462) p.A_expr() } { - p.SetState(10462) + p.SetState(10463) p.Match(PostgreSQLParserESCAPE) if p.HasError() { // Recognition error - abort rule @@ -163330,14 +163262,14 @@ func (p *PostgreSQLParser) Substr_list() (localctx ISubstr_listContext) { } } { - p.SetState(10463) + p.SetState(10464) p.A_expr() } case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(10465) + p.SetState(10466) p.Expr_list() } @@ -163474,8 +163406,8 @@ func (s *Trim_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Trim_list() (localctx ITrim_listContext) { localctx = NewTrim_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1356, PostgreSQLParserRULE_trim_list) - p.SetState(10475) + p.EnterRule(localctx, 1358, PostgreSQLParserRULE_trim_list) + p.SetState(10476) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -163485,11 +163417,11 @@ func (p *PostgreSQLParser) Trim_list() (localctx ITrim_listContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10468) + p.SetState(10469) p.A_expr() } { - p.SetState(10469) + p.SetState(10470) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -163497,14 +163429,14 @@ func (p *PostgreSQLParser) Trim_list() (localctx ITrim_listContext) { } } { - p.SetState(10470) + p.SetState(10471) p.Expr_list() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10472) + p.SetState(10473) p.Match(PostgreSQLParserFROM) if p.HasError() { // Recognition error - abort rule @@ -163512,14 +163444,14 @@ func (p *PostgreSQLParser) Trim_list() (localctx ITrim_listContext) { } } { - p.SetState(10473) + p.SetState(10474) p.Expr_list() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10474) + p.SetState(10475) p.Expr_list() } @@ -163716,8 +163648,8 @@ func (s *In_expr_selectContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) In_expr() (localctx IIn_exprContext) { localctx = NewIn_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1358, PostgreSQLParserRULE_in_expr) - p.SetState(10482) + p.EnterRule(localctx, 1360, PostgreSQLParserRULE_in_expr) + p.SetState(10483) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -163728,7 +163660,7 @@ func (p *PostgreSQLParser) In_expr() (localctx IIn_exprContext) { localctx = NewIn_expr_selectContext(p, localctx) p.EnterOuterAlt(localctx, 1) { - p.SetState(10477) + p.SetState(10478) p.Select_with_parens() } @@ -163736,7 +163668,7 @@ func (p *PostgreSQLParser) In_expr() (localctx IIn_exprContext) { localctx = NewIn_expr_listContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(10478) + p.SetState(10479) p.Match(PostgreSQLParserOPEN_PAREN) if p.HasError() { // Recognition error - abort rule @@ -163744,11 +163676,11 @@ func (p *PostgreSQLParser) In_expr() (localctx IIn_exprContext) { } } { - p.SetState(10479) + p.SetState(10480) p.Expr_list() } { - p.SetState(10480) + p.SetState(10481) p.Match(PostgreSQLParserCLOSE_PAREN) if p.HasError() { // Recognition error - abort rule @@ -163911,37 +163843,37 @@ func (s *Case_exprContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Case_expr() (localctx ICase_exprContext) { localctx = NewCase_exprContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1360, PostgreSQLParserRULE_case_expr) + p.EnterRule(localctx, 1362, PostgreSQLParserRULE_case_expr) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10484) + p.SetState(10485) p.Match(PostgreSQLParserCASE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10486) + p.SetState(10487) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { { - p.SetState(10485) + p.SetState(10486) p.Case_arg() } } { - p.SetState(10488) + p.SetState(10489) p.When_clause_list() } - p.SetState(10490) + p.SetState(10491) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -163950,13 +163882,13 @@ func (p *PostgreSQLParser) Case_expr() (localctx ICase_exprContext) { if _la == PostgreSQLParserELSE { { - p.SetState(10489) + p.SetState(10490) p.Case_default() } } { - p.SetState(10492) + p.SetState(10493) p.Match(PostgreSQLParserEND_P) if p.HasError() { // Recognition error - abort rule @@ -164097,11 +164029,11 @@ func (s *When_clause_listContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *PostgreSQLParser) When_clause_list() (localctx IWhen_clause_listContext) { localctx = NewWhen_clause_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1362, PostgreSQLParserRULE_when_clause_list) + p.EnterRule(localctx, 1364, PostgreSQLParserRULE_when_clause_list) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(10495) + p.SetState(10496) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -164110,11 +164042,11 @@ func (p *PostgreSQLParser) When_clause_list() (localctx IWhen_clause_listContext for ok := true; ok; ok = _la == PostgreSQLParserWHEN { { - p.SetState(10494) + p.SetState(10495) p.When_clause() } - p.SetState(10497) + p.SetState(10498) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -164265,10 +164197,10 @@ func (s *When_clauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) When_clause() (localctx IWhen_clauseContext) { localctx = NewWhen_clauseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1364, PostgreSQLParserRULE_when_clause) + p.EnterRule(localctx, 1366, PostgreSQLParserRULE_when_clause) p.EnterOuterAlt(localctx, 1) { - p.SetState(10499) + p.SetState(10500) p.Match(PostgreSQLParserWHEN) if p.HasError() { // Recognition error - abort rule @@ -164276,11 +164208,11 @@ func (p *PostgreSQLParser) When_clause() (localctx IWhen_clauseContext) { } } { - p.SetState(10500) + p.SetState(10501) p.A_expr() } { - p.SetState(10501) + p.SetState(10502) p.Match(PostgreSQLParserTHEN) if p.HasError() { // Recognition error - abort rule @@ -164288,7 +164220,7 @@ func (p *PostgreSQLParser) When_clause() (localctx IWhen_clauseContext) { } } { - p.SetState(10502) + p.SetState(10503) p.A_expr() } @@ -164404,10 +164336,10 @@ func (s *Case_defaultContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Case_default() (localctx ICase_defaultContext) { localctx = NewCase_defaultContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1366, PostgreSQLParserRULE_case_default) + p.EnterRule(localctx, 1368, PostgreSQLParserRULE_case_default) p.EnterOuterAlt(localctx, 1) { - p.SetState(10504) + p.SetState(10505) p.Match(PostgreSQLParserELSE) if p.HasError() { // Recognition error - abort rule @@ -164415,7 +164347,7 @@ func (p *PostgreSQLParser) Case_default() (localctx ICase_defaultContext) { } } { - p.SetState(10505) + p.SetState(10506) p.A_expr() } @@ -164526,10 +164458,10 @@ func (s *Case_argContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Case_arg() (localctx ICase_argContext) { localctx = NewCase_argContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1368, PostgreSQLParserRULE_case_arg) + p.EnterRule(localctx, 1370, PostgreSQLParserRULE_case_arg) p.EnterOuterAlt(localctx, 1) { - p.SetState(10507) + p.SetState(10508) p.A_expr() } @@ -164657,18 +164589,18 @@ func (s *ColumnrefContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Columnref() (localctx IColumnrefContext) { localctx = NewColumnrefContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1370, PostgreSQLParserRULE_columnref) + p.EnterRule(localctx, 1372, PostgreSQLParserRULE_columnref) p.EnterOuterAlt(localctx, 1) { - p.SetState(10509) + p.SetState(10510) p.Colid() } - p.SetState(10511) + p.SetState(10512) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1018, p.GetParserRuleContext()) == 1 { { - p.SetState(10510) + p.SetState(10511) p.Indirection() } @@ -164868,10 +164800,10 @@ func (s *Indirection_elContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Indirection_el() (localctx IIndirection_elContext) { localctx = NewIndirection_elContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1372, PostgreSQLParserRULE_indirection_el) + p.EnterRule(localctx, 1374, PostgreSQLParserRULE_indirection_el) var _la int - p.SetState(10530) + p.SetState(10531) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -164881,29 +164813,29 @@ func (p *PostgreSQLParser) Indirection_el() (localctx IIndirection_elContext) { case PostgreSQLParserDOT: p.EnterOuterAlt(localctx, 1) { - p.SetState(10513) + p.SetState(10514) p.Match(PostgreSQLParserDOT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10516) + p.SetState(10517) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserALL, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserANY, PostgreSQLParserARRAY, PostgreSQLParserAS, PostgreSQLParserASC, PostgreSQLParserASYMMETRIC, PostgreSQLParserBOTH, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCHECK, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserCREATE, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserDEFAULT, PostgreSQLParserDEFERRABLE, PostgreSQLParserDESC, PostgreSQLParserDISTINCT, PostgreSQLParserDO, PostgreSQLParserELSE, PostgreSQLParserEXCEPT, PostgreSQLParserFALSE_P, PostgreSQLParserFETCH, PostgreSQLParserFOR, PostgreSQLParserFOREIGN, PostgreSQLParserFROM, PostgreSQLParserGRANT, PostgreSQLParserGROUP_P, PostgreSQLParserHAVING, PostgreSQLParserIN_P, PostgreSQLParserINITIALLY, PostgreSQLParserINTERSECT, PostgreSQLParserLATERAL_P, PostgreSQLParserLEADING, PostgreSQLParserLIMIT, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserNOT, PostgreSQLParserNULL_P, PostgreSQLParserOFFSET, PostgreSQLParserON, PostgreSQLParserONLY, PostgreSQLParserOR, PostgreSQLParserORDER, PostgreSQLParserPLACING, PostgreSQLParserPRIMARY, PostgreSQLParserREFERENCES, PostgreSQLParserRETURNING, PostgreSQLParserSELECT, PostgreSQLParserSESSION_USER, PostgreSQLParserSOME, PostgreSQLParserSYMMETRIC, PostgreSQLParserTABLE, PostgreSQLParserTHEN, PostgreSQLParserTO, PostgreSQLParserTRAILING, PostgreSQLParserTRUE_P, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUSER, PostgreSQLParserUSING, PostgreSQLParserVARIADIC, PostgreSQLParserWHEN, PostgreSQLParserWHERE, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserEND_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALL, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserANALYSE, PostgreSQLParserANALYZE, PostgreSQLParserAND, PostgreSQLParserANY, PostgreSQLParserARRAY, PostgreSQLParserAS, PostgreSQLParserASC, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserASYMMETRIC, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBOTH, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCASE, PostgreSQLParserCAST, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECK, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCREATE, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_CATALOG, PostgreSQLParserCURRENT_DATE, PostgreSQLParserCURRENT_ROLE, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURRENT_TIME, PostgreSQLParserCURRENT_TIMESTAMP, PostgreSQLParserCURRENT_USER, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRABLE, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDESC, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDISTINCT, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserELSE, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserEND_P, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCEPT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFALSE_P, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFOR, PostgreSQLParserFORCE, PostgreSQLParserFOREIGN, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFROM, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANT, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUP_P, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHAVING, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserIN_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINITIALLY, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERSECT, PostgreSQLParserINTERVAL, PostgreSQLParserINTO, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLATERAL_P, PostgreSQLParserLEADING, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLIMIT, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCALTIME, PostgreSQLParserLOCALTIMESTAMP, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOT, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULL_P, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOFFSET, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserON, PostgreSQLParserONLY, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOR, PostgreSQLParserORDER, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLACING, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIMARY, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCES, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNING, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSELECT, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSESSION_USER, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOME, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYMMETRIC, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserSYSTEM_USER, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTHEN, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTO, PostgreSQLParserTRAILING, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUE_P, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNION, PostgreSQLParserUNIQUE, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserUSER, PostgreSQLParserUSING, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARIADIC, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHEN, PostgreSQLParserWHERE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWINDOW, PostgreSQLParserWITH, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(10514) + p.SetState(10515) p.Attr_name() } case PostgreSQLParserSTAR: { - p.SetState(10515) + p.SetState(10516) p.Match(PostgreSQLParserSTAR) if p.HasError() { // Recognition error - abort rule @@ -164919,14 +164851,14 @@ func (p *PostgreSQLParser) Indirection_el() (localctx IIndirection_elContext) { case PostgreSQLParserOPEN_BRACKET: p.EnterOuterAlt(localctx, 2) { - p.SetState(10518) + p.SetState(10519) p.Match(PostgreSQLParserOPEN_BRACKET) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10527) + p.SetState(10528) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -164935,43 +164867,43 @@ func (p *PostgreSQLParser) Indirection_el() (localctx IIndirection_elContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1022, p.GetParserRuleContext()) { case 1: { - p.SetState(10519) + p.SetState(10520) p.A_expr() } case 2: - p.SetState(10521) + p.SetState(10522) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { { - p.SetState(10520) + p.SetState(10521) p.Opt_slice_bound() } } { - p.SetState(10523) + p.SetState(10524) p.Match(PostgreSQLParserCOLON) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(10525) + p.SetState(10526) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { { - p.SetState(10524) + p.SetState(10525) p.Opt_slice_bound() } @@ -164981,7 +164913,7 @@ func (p *PostgreSQLParser) Indirection_el() (localctx IIndirection_elContext) { goto errorExit } { - p.SetState(10529) + p.SetState(10530) p.Match(PostgreSQLParserCLOSE_BRACKET) if p.HasError() { // Recognition error - abort rule @@ -165101,10 +165033,10 @@ func (s *Opt_slice_boundContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Opt_slice_bound() (localctx IOpt_slice_boundContext) { localctx = NewOpt_slice_boundContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1374, PostgreSQLParserRULE_opt_slice_bound) + p.EnterRule(localctx, 1376, PostgreSQLParserRULE_opt_slice_bound) p.EnterOuterAlt(localctx, 1) { - p.SetState(10532) + p.SetState(10533) p.A_expr() } @@ -165241,11 +165173,11 @@ func (s *IndirectionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Indirection() (localctx IIndirectionContext) { localctx = NewIndirectionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1376, PostgreSQLParserRULE_indirection) + p.EnterRule(localctx, 1378, PostgreSQLParserRULE_indirection) var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(10535) + p.SetState(10536) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -165255,7 +165187,7 @@ func (p *PostgreSQLParser) Indirection() (localctx IIndirectionContext) { switch _alt { case 1: { - p.SetState(10534) + p.SetState(10535) p.Indirection_el() } @@ -165264,7 +165196,7 @@ func (p *PostgreSQLParser) Indirection() (localctx IIndirectionContext) { goto errorExit } - p.SetState(10537) + p.SetState(10538) p.GetErrorHandler().Sync(p) _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1024, p.GetParserRuleContext()) if p.HasError() { @@ -165405,11 +165337,11 @@ func (s *Opt_indirectionContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Opt_indirection() (localctx IOpt_indirectionContext) { localctx = NewOpt_indirectionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1378, PostgreSQLParserRULE_opt_indirection) + p.EnterRule(localctx, 1380, PostgreSQLParserRULE_opt_indirection) var _alt int p.EnterOuterAlt(localctx, 1) - p.SetState(10542) + p.SetState(10543) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -165421,12 +165353,12 @@ func (p *PostgreSQLParser) Opt_indirection() (localctx IOpt_indirectionContext) for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(10539) + p.SetState(10540) p.Indirection_el() } } - p.SetState(10544) + p.SetState(10545) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -165544,10 +165476,10 @@ func (s *Opt_target_listContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Opt_target_list() (localctx IOpt_target_listContext) { localctx = NewOpt_target_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1380, PostgreSQLParserRULE_opt_target_list) + p.EnterRule(localctx, 1382, PostgreSQLParserRULE_opt_target_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(10545) + p.SetState(10546) p.Target_list() } @@ -165694,15 +165626,15 @@ func (s *Target_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Target_list() (localctx ITarget_listContext) { localctx = NewTarget_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1382, PostgreSQLParserRULE_target_list) + p.EnterRule(localctx, 1384, PostgreSQLParserRULE_target_list) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(10547) + p.SetState(10548) p.Target_el() } - p.SetState(10552) + p.SetState(10553) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -165714,7 +165646,7 @@ func (p *PostgreSQLParser) Target_list() (localctx ITarget_listContext) { for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(10548) + p.SetState(10549) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -165722,12 +165654,12 @@ func (p *PostgreSQLParser) Target_list() (localctx ITarget_listContext) { } } { - p.SetState(10549) + p.SetState(10550) p.Target_el() } } - p.SetState(10554) + p.SetState(10555) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -165979,8 +165911,8 @@ func (s *Target_starContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Target_el() (localctx ITarget_elContext) { localctx = NewTarget_elContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1384, PostgreSQLParserRULE_target_el) - p.SetState(10561) + p.EnterRule(localctx, 1386, PostgreSQLParserRULE_target_el) + p.SetState(10562) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -165991,7 +165923,7 @@ func (p *PostgreSQLParser) Target_el() (localctx ITarget_elContext) { localctx = NewTarget_columnrefContext(p, localctx) p.EnterOuterAlt(localctx, 1) { - p.SetState(10555) + p.SetState(10556) p.Columnref() } @@ -165999,15 +165931,15 @@ func (p *PostgreSQLParser) Target_el() (localctx ITarget_elContext) { localctx = NewTarget_labelContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(10556) + p.SetState(10557) p.A_expr() } - p.SetState(10558) + p.SetState(10559) p.GetErrorHandler().Sync(p) if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1027, p.GetParserRuleContext()) == 1 { { - p.SetState(10557) + p.SetState(10558) p.Target_alias() } @@ -166019,7 +165951,7 @@ func (p *PostgreSQLParser) Target_el() (localctx ITarget_elContext) { localctx = NewTarget_starContext(p, localctx) p.EnterOuterAlt(localctx, 3) { - p.SetState(10560) + p.SetState(10561) p.Match(PostgreSQLParserSTAR) if p.HasError() { // Recognition error - abort rule @@ -166160,8 +166092,8 @@ func (s *Target_aliasContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Target_alias() (localctx ITarget_aliasContext) { localctx = NewTarget_aliasContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1386, PostgreSQLParserRULE_target_alias) - p.SetState(10566) + p.EnterRule(localctx, 1388, PostgreSQLParserRULE_target_alias) + p.SetState(10567) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -166171,7 +166103,7 @@ func (p *PostgreSQLParser) Target_alias() (localctx ITarget_aliasContext) { case PostgreSQLParserAS: p.EnterOuterAlt(localctx, 1) { - p.SetState(10563) + p.SetState(10564) p.Match(PostgreSQLParserAS) if p.HasError() { // Recognition error - abort rule @@ -166179,14 +166111,14 @@ func (p *PostgreSQLParser) Target_alias() (localctx ITarget_aliasContext) { } } { - p.SetState(10564) + p.SetState(10565) p.Collabel() } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserIS, PostgreSQLParserOUTER_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserBACKWARD, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOMMIT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURSOR, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTYPE_P, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABSOLUTE_P, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserBACKWARD, PostgreSQLParserCALL, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOMMIT, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserERROR_P, PostgreSQLParserFETCH, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserIS, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserOUTER_P, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserRETURN, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTABLE, PostgreSQLParserTYPE_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 2) { - p.SetState(10565) + p.SetState(10566) p.Identifier() } @@ -166338,15 +166270,15 @@ func (s *Qualified_name_listContext) Accept(visitor antlr.ParseTreeVisitor) inte func (p *PostgreSQLParser) Qualified_name_list() (localctx IQualified_name_listContext) { localctx = NewQualified_name_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1388, PostgreSQLParserRULE_qualified_name_list) + p.EnterRule(localctx, 1390, PostgreSQLParserRULE_qualified_name_list) var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(10568) + p.SetState(10569) p.Qualified_name() } - p.SetState(10573) + p.SetState(10574) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -166358,7 +166290,7 @@ func (p *PostgreSQLParser) Qualified_name_list() (localctx IQualified_name_listC for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(10569) + p.SetState(10570) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -166366,12 +166298,12 @@ func (p *PostgreSQLParser) Qualified_name_list() (localctx IQualified_name_listC } } { - p.SetState(10570) + p.SetState(10571) p.Qualified_name() } } - p.SetState(10575) + p.SetState(10576) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -166506,15 +166438,15 @@ func (s *Qualified_nameContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *PostgreSQLParser) Qualified_name() (localctx IQualified_nameContext) { localctx = NewQualified_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1390, PostgreSQLParserRULE_qualified_name) + p.EnterRule(localctx, 1392, PostgreSQLParserRULE_qualified_name) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10576) + p.SetState(10577) p.Colid() } - p.SetState(10578) + p.SetState(10579) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -166523,7 +166455,7 @@ func (p *PostgreSQLParser) Qualified_name() (localctx IQualified_nameContext) { if _la == PostgreSQLParserOPEN_BRACKET || _la == PostgreSQLParserDOT { { - p.SetState(10577) + p.SetState(10578) p.Indirection() } @@ -166672,15 +166604,15 @@ func (s *Name_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Name_list() (localctx IName_listContext) { localctx = NewName_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1392, PostgreSQLParserRULE_name_list) + p.EnterRule(localctx, 1394, PostgreSQLParserRULE_name_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10580) + p.SetState(10581) p.Name() } - p.SetState(10585) + p.SetState(10586) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -166689,7 +166621,7 @@ func (p *PostgreSQLParser) Name_list() (localctx IName_listContext) { for _la == PostgreSQLParserCOMMA { { - p.SetState(10581) + p.SetState(10582) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -166697,11 +166629,11 @@ func (p *PostgreSQLParser) Name_list() (localctx IName_listContext) { } } { - p.SetState(10582) + p.SetState(10583) p.Name() } - p.SetState(10587) + p.SetState(10588) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -166816,10 +166748,10 @@ func (s *NameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Name() (localctx INameContext) { localctx = NewNameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1394, PostgreSQLParserRULE_name) + p.EnterRule(localctx, 1396, PostgreSQLParserRULE_name) p.EnterOuterAlt(localctx, 1) { - p.SetState(10588) + p.SetState(10589) p.Colid() } @@ -166930,10 +166862,10 @@ func (s *Attr_nameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Attr_name() (localctx IAttr_nameContext) { localctx = NewAttr_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1396, PostgreSQLParserRULE_attr_name) + p.EnterRule(localctx, 1398, PostgreSQLParserRULE_attr_name) p.EnterOuterAlt(localctx, 1) { - p.SetState(10590) + p.SetState(10591) p.Collabel() } @@ -167044,10 +166976,10 @@ func (s *File_nameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) File_name() (localctx IFile_nameContext) { localctx = NewFile_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1398, PostgreSQLParserRULE_file_name) + p.EnterRule(localctx, 1400, PostgreSQLParserRULE_file_name) p.EnterOuterAlt(localctx, 1) { - p.SetState(10592) + p.SetState(10593) p.Sconst() } @@ -167072,7 +167004,6 @@ type IFunc_nameContext interface { GetParser() antlr.Parser // Getter signatures - Builtin_function_name() IBuiltin_function_nameContext Type_function_name() IType_function_nameContext Colid() IColidContext Indirection() IIndirectionContext @@ -167115,22 +167046,6 @@ func NewFunc_nameContext(parser antlr.Parser, parent antlr.ParserRuleContext, in func (s *Func_nameContext) GetParser() antlr.Parser { return s.parser } -func (s *Func_nameContext) Builtin_function_name() IBuiltin_function_nameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBuiltin_function_nameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IBuiltin_function_nameContext) -} - func (s *Func_nameContext) Type_function_name() IType_function_nameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { @@ -167219,7 +167134,7 @@ func (s *Func_nameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Func_name() (localctx IFunc_nameContext) { localctx = NewFunc_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1400, PostgreSQLParserRULE_func_name) + p.EnterRule(localctx, 1402, PostgreSQLParserRULE_func_name) p.SetState(10601) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -167229,20 +167144,13 @@ func (p *PostgreSQLParser) Func_name() (localctx IFunc_nameContext) { switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1033, p.GetParserRuleContext()) { case 1: p.EnterOuterAlt(localctx, 1) - { - p.SetState(10594) - p.Builtin_function_name() - } - - case 2: - p.EnterOuterAlt(localctx, 2) { p.SetState(10595) p.Type_function_name() } - case 3: - p.EnterOuterAlt(localctx, 3) + case 2: + p.EnterOuterAlt(localctx, 2) { p.SetState(10596) p.Colid() @@ -167252,8 +167160,8 @@ func (p *PostgreSQLParser) Func_name() (localctx IFunc_nameContext) { p.Indirection() } - case 4: - p.EnterOuterAlt(localctx, 4) + case 3: + p.EnterOuterAlt(localctx, 3) { p.SetState(10599) p.Match(PostgreSQLParserLEFT) @@ -167263,8 +167171,8 @@ func (p *PostgreSQLParser) Func_name() (localctx IFunc_nameContext) { } } - case 5: - p.EnterOuterAlt(localctx, 5) + case 4: + p.EnterOuterAlt(localctx, 4) { p.SetState(10600) p.Match(PostgreSQLParserRIGHT) @@ -167580,7 +167488,7 @@ func (s *AexprconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Aexprconst() (localctx IAexprconstContext) { localctx = NewAexprconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1402, PostgreSQLParserRULE_aexprconst) + p.EnterRule(localctx, 1404, PostgreSQLParserRULE_aexprconst) var _la int p.SetState(10638) @@ -167894,7 +167802,7 @@ func (s *XconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Xconst() (localctx IXconstContext) { localctx = NewXconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1404, PostgreSQLParserRULE_xconst) + p.EnterRule(localctx, 1406, PostgreSQLParserRULE_xconst) p.EnterOuterAlt(localctx, 1) { p.SetState(10640) @@ -168000,7 +167908,7 @@ func (s *BconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Bconst() (localctx IBconstContext) { localctx = NewBconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1406, PostgreSQLParserRULE_bconst) + p.EnterRule(localctx, 1408, PostgreSQLParserRULE_bconst) p.EnterOuterAlt(localctx, 1) { p.SetState(10642) @@ -168106,7 +168014,7 @@ func (s *FconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Fconst() (localctx IFconstContext) { localctx = NewFconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1408, PostgreSQLParserRULE_fconst) + p.EnterRule(localctx, 1410, PostgreSQLParserRULE_fconst) p.EnterOuterAlt(localctx, 1) { p.SetState(10644) @@ -168212,7 +168120,7 @@ func (s *IconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Iconst() (localctx IIconstContext) { localctx = NewIconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1410, PostgreSQLParserRULE_iconst) + p.EnterRule(localctx, 1412, PostgreSQLParserRULE_iconst) p.EnterOuterAlt(localctx, 1) { p.SetState(10646) @@ -168347,7 +168255,7 @@ func (s *SconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Sconst() (localctx ISconstContext) { localctx = NewSconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1412, PostgreSQLParserRULE_sconst) + p.EnterRule(localctx, 1414, PostgreSQLParserRULE_sconst) p.EnterOuterAlt(localctx, 1) { p.SetState(10648) @@ -168491,7 +168399,7 @@ func (s *AnysconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Anysconst() (localctx IAnysconstContext) { localctx = NewAnysconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1414, PostgreSQLParserRULE_anysconst) + p.EnterRule(localctx, 1416, PostgreSQLParserRULE_anysconst) var _la int p.SetState(10663) @@ -168694,7 +168602,7 @@ func (s *Opt_uescapeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Opt_uescape() (localctx IOpt_uescapeContext) { localctx = NewOpt_uescapeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1416, PostgreSQLParserRULE_opt_uescape) + p.EnterRule(localctx, 1418, PostgreSQLParserRULE_opt_uescape) p.EnterOuterAlt(localctx, 1) { p.SetState(10665) @@ -168826,7 +168734,7 @@ func (s *SignediconstContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Signediconst() (localctx ISignediconstContext) { localctx = NewSignediconstContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1418, PostgreSQLParserRULE_signediconst) + p.EnterRule(localctx, 1420, PostgreSQLParserRULE_signediconst) p.SetState(10673) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -168983,7 +168891,7 @@ func (s *RoleidContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Roleid() (localctx IRoleidContext) { localctx = NewRoleidContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1420, PostgreSQLParserRULE_roleid) + p.EnterRule(localctx, 1422, PostgreSQLParserRULE_roleid) p.EnterOuterAlt(localctx, 1) { p.SetState(10675) @@ -169107,7 +169015,7 @@ func (s *RolespecContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Rolespec() (localctx IRolespecContext) { localctx = NewRolespecContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1422, PostgreSQLParserRULE_rolespec) + p.EnterRule(localctx, 1424, PostgreSQLParserRULE_rolespec) p.SetState(10680) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -169115,7 +169023,7 @@ func (p *PostgreSQLParser) Rolespec() (localctx IRolespecContext) { } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBINARY, PostgreSQLParserCOLLATION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCROSS, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserILIKE, PostgreSQLParserINNER_P, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserJOIN, PostgreSQLParserLIKE, PostgreSQLParserNATURAL, PostgreSQLParserNOTNULL, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserSIMILAR, PostgreSQLParserVERBOSE, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserTABLESAMPLE, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserAUTHORIZATION, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBINARY, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLLATION, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONCURRENTLY, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCROSS, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURRENT_SCHEMA, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFREEZE, PostgreSQLParserFULL, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserILIKE, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINNER_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISNULL, PostgreSQLParserISOLATION, PostgreSQLParserJOIN, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLIKE, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNATURAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOTNULL, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAPS, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMILAR, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESAMPLE, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERBOSE, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 1) { p.SetState(10677) @@ -169292,7 +169200,7 @@ func (s *Role_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Role_list() (localctx IRole_listContext) { localctx = NewRole_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1424, PostgreSQLParserRULE_role_list) + p.EnterRule(localctx, 1426, PostgreSQLParserRULE_role_list) var _la int p.EnterOuterAlt(localctx, 1) @@ -169497,7 +169405,7 @@ func (s *ColidContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Colid() (localctx IColidContext) { localctx = NewColidContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1426, PostgreSQLParserRULE_colid) + p.EnterRule(localctx, 1428, PostgreSQLParserRULE_colid) p.SetState(10696) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -169717,7 +169625,7 @@ func (s *Table_aliasContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *PostgreSQLParser) Table_alias() (localctx ITable_aliasContext) { localctx = NewTable_aliasContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1428, PostgreSQLParserRULE_table_alias) + p.EnterRule(localctx, 1430, PostgreSQLParserRULE_table_alias) p.SetState(10702) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -169915,7 +169823,7 @@ func (s *Type_function_nameContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *PostgreSQLParser) Type_function_name() (localctx IType_function_nameContext) { localctx = NewType_function_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1430, PostgreSQLParserRULE_type_function_name) + p.EnterRule(localctx, 1432, PostgreSQLParserRULE_type_function_name) p.SetState(10708) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -170113,7 +170021,7 @@ func (s *NonreservedwordContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Nonreservedword() (localctx INonreservedwordContext) { localctx = NewNonreservedwordContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1432, PostgreSQLParserRULE_nonreservedword) + p.EnterRule(localctx, 1434, PostgreSQLParserRULE_nonreservedword) p.SetState(10714) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -170345,7 +170253,7 @@ func (s *CollabelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Collabel() (localctx ICollabelContext) { localctx = NewCollabelContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1434, PostgreSQLParserRULE_collabel) + p.EnterRule(localctx, 1436, PostgreSQLParserRULE_collabel) p.SetState(10722) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -170572,7 +170480,7 @@ func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *PostgreSQLParser) Identifier() (localctx IIdentifierContext) { localctx = NewIdentifierContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1436, PostgreSQLParserRULE_identifier) + p.EnterRule(localctx, 1438, PostgreSQLParserRULE_identifier) p.SetState(10733) p.GetErrorHandler().Sync(p) if p.HasError() { @@ -170639,7 +170547,7 @@ func (p *PostgreSQLParser) Identifier() (localctx IIdentifierContext) { p.Plsqlidentifier() } - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserIS, PostgreSQLParserOUTER_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserBACKWARD, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOMMIT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURSOR, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTYPE_P, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN: + case PostgreSQLParserABSOLUTE_P, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserBACKWARD, PostgreSQLParserCALL, PostgreSQLParserCHAIN, PostgreSQLParserCLOSE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOMMIT, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONTINUE_P, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserERROR_P, PostgreSQLParserFETCH, PostgreSQLParserFIRST_P, PostgreSQLParserFORWARD, PostgreSQLParserINSERT, PostgreSQLParserIS, PostgreSQLParserLAST_P, PostgreSQLParserMOVE, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserOPTION, PostgreSQLParserOUTER_P, PostgreSQLParserPRIOR, PostgreSQLParserRELATIVE_P, PostgreSQLParserRESET, PostgreSQLParserRETURN, PostgreSQLParserROLLBACK, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSET, PostgreSQLParserTABLE, PostgreSQLParserTYPE_P, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN: p.EnterOuterAlt(localctx, 6) { p.SetState(10732) @@ -170746,7 +170654,7 @@ func (s *PlsqlidentifierContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *PostgreSQLParser) Plsqlidentifier() (localctx IPlsqlidentifierContext) { localctx = NewPlsqlidentifierContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1438, PostgreSQLParserRULE_plsqlidentifier) + p.EnterRule(localctx, 1440, PostgreSQLParserRULE_plsqlidentifier) p.EnterOuterAlt(localctx, 1) { p.SetState(10735) @@ -170770,1621 +170678,704 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IUnreserved_keywordContext is an interface to support dynamic dispatch. -type IUnreserved_keywordContext interface { +// IPl_functionContext is an interface to support dynamic dispatch. +type IPl_functionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ABORT_P() antlr.TerminalNode - ABSENT() antlr.TerminalNode - ABSOLUTE_P() antlr.TerminalNode - ACCESS() antlr.TerminalNode - ACTION() antlr.TerminalNode - ADD_P() antlr.TerminalNode - ADMIN() antlr.TerminalNode - AFTER() antlr.TerminalNode - AGGREGATE() antlr.TerminalNode - ALSO() antlr.TerminalNode - ALTER() antlr.TerminalNode - ALWAYS() antlr.TerminalNode - ASSERTION() antlr.TerminalNode - ASSIGNMENT() antlr.TerminalNode - AT() antlr.TerminalNode - ATOMIC_P() antlr.TerminalNode - ATTACH() antlr.TerminalNode - ATTRIBUTE() antlr.TerminalNode - BACKWARD() antlr.TerminalNode - BEFORE() antlr.TerminalNode - BEGIN_P() antlr.TerminalNode - BY() antlr.TerminalNode - CACHE() antlr.TerminalNode - CALL() antlr.TerminalNode - CALLED() antlr.TerminalNode - CASCADE() antlr.TerminalNode - CASCADED() antlr.TerminalNode - CATALOG() antlr.TerminalNode - CHAIN() antlr.TerminalNode - CHARACTERISTICS() antlr.TerminalNode - CHECKPOINT() antlr.TerminalNode - CLASS() antlr.TerminalNode - CLOSE() antlr.TerminalNode - CLUSTER() antlr.TerminalNode - COLUMNS() antlr.TerminalNode - COMMENT() antlr.TerminalNode - COMMENTS() antlr.TerminalNode - COMMIT() antlr.TerminalNode - COMMITTED() antlr.TerminalNode - CONFIGURATION() antlr.TerminalNode - CONFLICT() antlr.TerminalNode - CONNECTION() antlr.TerminalNode - CONSTRAINTS() antlr.TerminalNode - CONTENT_P() antlr.TerminalNode - CONTINUE_P() antlr.TerminalNode - CONVERSION_P() antlr.TerminalNode - COPY() antlr.TerminalNode - COST() antlr.TerminalNode - CSV() antlr.TerminalNode - CUBE() antlr.TerminalNode - CURRENT_P() antlr.TerminalNode - CURSOR() antlr.TerminalNode - CYCLE() antlr.TerminalNode - DATA_P() antlr.TerminalNode - DATABASE() antlr.TerminalNode - DAY_P() antlr.TerminalNode - DEALLOCATE() antlr.TerminalNode - DECLARE() antlr.TerminalNode - DEFAULTS() antlr.TerminalNode - DEFERRED() antlr.TerminalNode - DEFINER() antlr.TerminalNode - DELETE_P() antlr.TerminalNode - DELIMITER() antlr.TerminalNode - DELIMITERS() antlr.TerminalNode - DEPENDS() antlr.TerminalNode - DETACH() antlr.TerminalNode - DICTIONARY() antlr.TerminalNode - DISABLE_P() antlr.TerminalNode - DISCARD() antlr.TerminalNode - DOCUMENT_P() antlr.TerminalNode - DOMAIN_P() antlr.TerminalNode - DOUBLE_P() antlr.TerminalNode - DROP() antlr.TerminalNode - EACH() antlr.TerminalNode - ENABLE_P() antlr.TerminalNode - ENCODING() antlr.TerminalNode - ENCRYPTED() antlr.TerminalNode - ENUM_P() antlr.TerminalNode - ESCAPE() antlr.TerminalNode - EVENT() antlr.TerminalNode - EXCLUDE() antlr.TerminalNode - EXCLUDING() antlr.TerminalNode - EXCLUSIVE() antlr.TerminalNode - EXECUTE() antlr.TerminalNode - EXPLAIN() antlr.TerminalNode - EXPRESSION() antlr.TerminalNode - EXTENSION() antlr.TerminalNode - EXTERNAL() antlr.TerminalNode - FAMILY() antlr.TerminalNode - FILTER() antlr.TerminalNode - FIRST_P() antlr.TerminalNode - FOLLOWING() antlr.TerminalNode - FORCE() antlr.TerminalNode - FORMAT() antlr.TerminalNode - FORWARD() antlr.TerminalNode - FUNCTION() antlr.TerminalNode - FUNCTIONS() antlr.TerminalNode - GENERATED() antlr.TerminalNode - GLOBAL() antlr.TerminalNode - GRANTED() antlr.TerminalNode - GROUPS() antlr.TerminalNode - HANDLER() antlr.TerminalNode - HEADER_P() antlr.TerminalNode - HOLD() antlr.TerminalNode - HOUR_P() antlr.TerminalNode - IDENTITY_P() antlr.TerminalNode - IF_P() antlr.TerminalNode - IMMEDIATE() antlr.TerminalNode - IMMUTABLE() antlr.TerminalNode - IMPLICIT_P() antlr.TerminalNode - IMPORT_P() antlr.TerminalNode - INCLUDE() antlr.TerminalNode - INCLUDING() antlr.TerminalNode - INCREMENT() antlr.TerminalNode - INDEX() antlr.TerminalNode - INDEXES() antlr.TerminalNode - INHERIT() antlr.TerminalNode - INHERITS() antlr.TerminalNode - INLINE_P() antlr.TerminalNode - INPUT_P() antlr.TerminalNode - INSENSITIVE() antlr.TerminalNode - INSERT() antlr.TerminalNode - INSTEAD() antlr.TerminalNode - INVOKER() antlr.TerminalNode - ISOLATION() antlr.TerminalNode - JSON() antlr.TerminalNode - KEY() antlr.TerminalNode - KEYS() antlr.TerminalNode - LABEL() antlr.TerminalNode - LANGUAGE() antlr.TerminalNode - LARGE_P() antlr.TerminalNode - LAST_P() antlr.TerminalNode - LEAKPROOF() antlr.TerminalNode - LEVEL() antlr.TerminalNode - LISTEN() antlr.TerminalNode - LOAD() antlr.TerminalNode - LOCAL() antlr.TerminalNode - LOCATION() antlr.TerminalNode - LOCK_P() antlr.TerminalNode - LOCKED() antlr.TerminalNode - LOGGED() antlr.TerminalNode - MAPPING() antlr.TerminalNode - MATCH() antlr.TerminalNode - MATERIALIZED() antlr.TerminalNode - MAXVALUE() antlr.TerminalNode - METHOD() antlr.TerminalNode - MINUTE_P() antlr.TerminalNode - MINVALUE() antlr.TerminalNode - MODE() antlr.TerminalNode - MONTH_P() antlr.TerminalNode - MOVE() antlr.TerminalNode - NAME_P() antlr.TerminalNode - NAMES() antlr.TerminalNode - NEW() antlr.TerminalNode - NEXT() antlr.TerminalNode - NFC() antlr.TerminalNode - NFD() antlr.TerminalNode - NFKC() antlr.TerminalNode - NFKD() antlr.TerminalNode - NO() antlr.TerminalNode - NORMALIZED() antlr.TerminalNode - NOTHING() antlr.TerminalNode - NOTIFY() antlr.TerminalNode - NOWAIT() antlr.TerminalNode - NULLS_P() antlr.TerminalNode - OBJECT_P() antlr.TerminalNode - OF() antlr.TerminalNode - OFF() antlr.TerminalNode - OIDS() antlr.TerminalNode - OLD() antlr.TerminalNode - OPERATOR() antlr.TerminalNode - OPTION() antlr.TerminalNode - OPTIONS() antlr.TerminalNode - ORDINALITY() antlr.TerminalNode - OTHERS() antlr.TerminalNode - OVER() antlr.TerminalNode - OVERRIDING() antlr.TerminalNode - OWNED() antlr.TerminalNode - OWNER() antlr.TerminalNode - PARALLEL() antlr.TerminalNode - PARAMETER() antlr.TerminalNode - PARSER() antlr.TerminalNode - PARTIAL() antlr.TerminalNode - PARTITION() antlr.TerminalNode - PASSING() antlr.TerminalNode - PASSWORD() antlr.TerminalNode - PLANS() antlr.TerminalNode - POLICY() antlr.TerminalNode - PRECEDING() antlr.TerminalNode - PREPARE() antlr.TerminalNode - PREPARED() antlr.TerminalNode - PRESERVE() antlr.TerminalNode - PRIOR() antlr.TerminalNode - PRIVILEGES() antlr.TerminalNode - PROCEDURAL() antlr.TerminalNode - PROCEDURE() antlr.TerminalNode - PROCEDURES() antlr.TerminalNode - PROGRAM() antlr.TerminalNode - PUBLICATION() antlr.TerminalNode - QUOTE() antlr.TerminalNode - RANGE() antlr.TerminalNode - READ() antlr.TerminalNode - REASSIGN() antlr.TerminalNode - RECHECK() antlr.TerminalNode - RECURSIVE() antlr.TerminalNode - REF() antlr.TerminalNode - REFERENCING() antlr.TerminalNode - REFRESH() antlr.TerminalNode - REINDEX() antlr.TerminalNode - RELATIVE_P() antlr.TerminalNode - RELEASE() antlr.TerminalNode - RENAME() antlr.TerminalNode - REPEATABLE() antlr.TerminalNode - REPLICA() antlr.TerminalNode - RESET() antlr.TerminalNode - RESTART() antlr.TerminalNode - RESTRICT() antlr.TerminalNode - RETURNS() antlr.TerminalNode - REVOKE() antlr.TerminalNode - ROLE() antlr.TerminalNode - ROLLBACK() antlr.TerminalNode - ROLLUP() antlr.TerminalNode - ROUTINE() antlr.TerminalNode - ROUTINES() antlr.TerminalNode - ROWS() antlr.TerminalNode - RULE() antlr.TerminalNode - SAVEPOINT() antlr.TerminalNode - SCHEMA() antlr.TerminalNode - SCHEMAS() antlr.TerminalNode - SCROLL() antlr.TerminalNode - SEARCH() antlr.TerminalNode - SECOND_P() antlr.TerminalNode - SECURITY() antlr.TerminalNode - SEQUENCE() antlr.TerminalNode - SEQUENCES() antlr.TerminalNode - SERIALIZABLE() antlr.TerminalNode - SERVER() antlr.TerminalNode - SESSION() antlr.TerminalNode - SET() antlr.TerminalNode - SETS() antlr.TerminalNode - SHARE() antlr.TerminalNode - SHOW() antlr.TerminalNode - SIMPLE() antlr.TerminalNode - SKIP_P() antlr.TerminalNode - SNAPSHOT() antlr.TerminalNode - SQL_P() antlr.TerminalNode - STABLE() antlr.TerminalNode - STANDALONE_P() antlr.TerminalNode - START() antlr.TerminalNode - STATEMENT() antlr.TerminalNode - STATISTICS() antlr.TerminalNode - STDIN() antlr.TerminalNode - STDOUT() antlr.TerminalNode - STORAGE() antlr.TerminalNode - STORED() antlr.TerminalNode - STRICT_P() antlr.TerminalNode - STRING() antlr.TerminalNode - STRIP_P() antlr.TerminalNode - SUBSCRIPTION() antlr.TerminalNode - SUPPORT() antlr.TerminalNode - SYSID() antlr.TerminalNode - SYSTEM_P() antlr.TerminalNode - TABLES() antlr.TerminalNode - TABLESPACE() antlr.TerminalNode - TEMP() antlr.TerminalNode - TEMPLATE() antlr.TerminalNode - TEMPORARY() antlr.TerminalNode - TEXT_P() antlr.TerminalNode - TIES() antlr.TerminalNode - TRANSACTION() antlr.TerminalNode - TRANSFORM() antlr.TerminalNode - TRIGGER() antlr.TerminalNode - TRUNCATE() antlr.TerminalNode - TRUSTED() antlr.TerminalNode - TYPE_P() antlr.TerminalNode - TYPES_P() antlr.TerminalNode - UESCAPE() antlr.TerminalNode - UNBOUNDED() antlr.TerminalNode - UNCOMMITTED() antlr.TerminalNode - UNENCRYPTED() antlr.TerminalNode - UNKNOWN() antlr.TerminalNode - UNLISTEN() antlr.TerminalNode - UNLOGGED() antlr.TerminalNode - UNTIL() antlr.TerminalNode - UPDATE() antlr.TerminalNode - VACUUM() antlr.TerminalNode - VALID() antlr.TerminalNode - VALIDATE() antlr.TerminalNode - VALIDATOR() antlr.TerminalNode - VALUE_P() antlr.TerminalNode - VARYING() antlr.TerminalNode - VERSION_P() antlr.TerminalNode - VIEW() antlr.TerminalNode - VIEWS() antlr.TerminalNode - VOLATILE() antlr.TerminalNode - WHITESPACE_P() antlr.TerminalNode - WITHIN() antlr.TerminalNode - WITHOUT() antlr.TerminalNode - WORK() antlr.TerminalNode - WRAPPER() antlr.TerminalNode - WRITE() antlr.TerminalNode - XML_P() antlr.TerminalNode - YEAR_P() antlr.TerminalNode - YES_P() antlr.TerminalNode - ZONE() antlr.TerminalNode + Comp_options() IComp_optionsContext + Pl_block() IPl_blockContext + Opt_semi() IOpt_semiContext - // IsUnreserved_keywordContext differentiates from other interfaces. - IsUnreserved_keywordContext() + // IsPl_functionContext differentiates from other interfaces. + IsPl_functionContext() } -type Unreserved_keywordContext struct { +type Pl_functionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyUnreserved_keywordContext() *Unreserved_keywordContext { - var p = new(Unreserved_keywordContext) +func NewEmptyPl_functionContext() *Pl_functionContext { + var p = new(Pl_functionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_unreserved_keyword + p.RuleIndex = PostgreSQLParserRULE_pl_function return p } -func InitEmptyUnreserved_keywordContext(p *Unreserved_keywordContext) { +func InitEmptyPl_functionContext(p *Pl_functionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_unreserved_keyword + p.RuleIndex = PostgreSQLParserRULE_pl_function } -func (*Unreserved_keywordContext) IsUnreserved_keywordContext() {} +func (*Pl_functionContext) IsPl_functionContext() {} -func NewUnreserved_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Unreserved_keywordContext { - var p = new(Unreserved_keywordContext) +func NewPl_functionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Pl_functionContext { + var p = new(Pl_functionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_unreserved_keyword + p.RuleIndex = PostgreSQLParserRULE_pl_function return p } -func (s *Unreserved_keywordContext) GetParser() antlr.Parser { return s.parser } +func (s *Pl_functionContext) GetParser() antlr.Parser { return s.parser } -func (s *Unreserved_keywordContext) ABORT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserABORT_P, 0) -} +func (s *Pl_functionContext) Comp_options() IComp_optionsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IComp_optionsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Unreserved_keywordContext) ABSENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserABSENT, 0) -} + if t == nil { + return nil + } -func (s *Unreserved_keywordContext) ABSOLUTE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserABSOLUTE_P, 0) + return t.(IComp_optionsContext) } -func (s *Unreserved_keywordContext) ACCESS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserACCESS, 0) -} +func (s *Pl_functionContext) Pl_block() IPl_blockContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IPl_blockContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Unreserved_keywordContext) ACTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserACTION, 0) -} + if t == nil { + return nil + } -func (s *Unreserved_keywordContext) ADD_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserADD_P, 0) + return t.(IPl_blockContext) } -func (s *Unreserved_keywordContext) ADMIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserADMIN, 0) -} +func (s *Pl_functionContext) Opt_semi() IOpt_semiContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_semiContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Unreserved_keywordContext) AFTER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAFTER, 0) -} + if t == nil { + return nil + } -func (s *Unreserved_keywordContext) AGGREGATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAGGREGATE, 0) + return t.(IOpt_semiContext) } -func (s *Unreserved_keywordContext) ALSO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALSO, 0) +func (s *Pl_functionContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Unreserved_keywordContext) ALTER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALTER, 0) +func (s *Pl_functionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Unreserved_keywordContext) ALWAYS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALWAYS, 0) +func (s *Pl_functionContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterPl_function(s) + } } -func (s *Unreserved_keywordContext) ASSERTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASSERTION, 0) +func (s *Pl_functionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitPl_function(s) + } } -func (s *Unreserved_keywordContext) ASSIGNMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASSIGNMENT, 0) -} +func (s *Pl_functionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitPl_function(s) -func (s *Unreserved_keywordContext) AT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAT, 0) + default: + return t.VisitChildren(s) + } } -func (s *Unreserved_keywordContext) ATOMIC_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATOMIC_P, 0) -} +func (p *PostgreSQLParser) Pl_function() (localctx IPl_functionContext) { + localctx = NewPl_functionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1442, PostgreSQLParserRULE_pl_function) + var _la int -func (s *Unreserved_keywordContext) ATTACH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATTACH, 0) -} + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10737) + p.Comp_options() + } + { + p.SetState(10738) + p.Pl_block() + } + p.SetState(10740) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Unreserved_keywordContext) ATTRIBUTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATTRIBUTE, 0) -} + if _la == PostgreSQLParserSEMI { + { + p.SetState(10739) + p.Opt_semi() + } -func (s *Unreserved_keywordContext) BACKWARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBACKWARD, 0) -} + } -func (s *Unreserved_keywordContext) BEFORE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBEFORE, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Unreserved_keywordContext) BEGIN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBEGIN_P, 0) -} +// IComp_optionsContext is an interface to support dynamic dispatch. +type IComp_optionsContext interface { + antlr.ParserRuleContext -func (s *Unreserved_keywordContext) BY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBY, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Unreserved_keywordContext) CACHE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCACHE, 0) -} + // Getter signatures + AllComp_option() []IComp_optionContext + Comp_option(i int) IComp_optionContext -func (s *Unreserved_keywordContext) CALL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCALL, 0) + // IsComp_optionsContext differentiates from other interfaces. + IsComp_optionsContext() } -func (s *Unreserved_keywordContext) CALLED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCALLED, 0) +type Comp_optionsContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Unreserved_keywordContext) CASCADE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCASCADE, 0) +func NewEmptyComp_optionsContext() *Comp_optionsContext { + var p = new(Comp_optionsContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_comp_options + return p } -func (s *Unreserved_keywordContext) CASCADED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCASCADED, 0) +func InitEmptyComp_optionsContext(p *Comp_optionsContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_comp_options } -func (s *Unreserved_keywordContext) CATALOG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCATALOG, 0) -} +func (*Comp_optionsContext) IsComp_optionsContext() {} -func (s *Unreserved_keywordContext) CHAIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHAIN, 0) -} +func NewComp_optionsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Comp_optionsContext { + var p = new(Comp_optionsContext) -func (s *Unreserved_keywordContext) CHARACTERISTICS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHARACTERISTICS, 0) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *Unreserved_keywordContext) CHECKPOINT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHECKPOINT, 0) -} + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_comp_options -func (s *Unreserved_keywordContext) CLASS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLASS, 0) + return p } -func (s *Unreserved_keywordContext) CLOSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE, 0) -} +func (s *Comp_optionsContext) GetParser() antlr.Parser { return s.parser } -func (s *Unreserved_keywordContext) CLUSTER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLUSTER, 0) -} +func (s *Comp_optionsContext) AllComp_option() []IComp_optionContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IComp_optionContext); ok { + len++ + } + } -func (s *Unreserved_keywordContext) COLUMNS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLUMNS, 0) -} + tst := make([]IComp_optionContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IComp_optionContext); ok { + tst[i] = t.(IComp_optionContext) + i++ + } + } -func (s *Unreserved_keywordContext) COMMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMENT, 0) + return tst } -func (s *Unreserved_keywordContext) COMMENTS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMENTS, 0) -} +func (s *Comp_optionsContext) Comp_option(i int) IComp_optionContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IComp_optionContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } -func (s *Unreserved_keywordContext) COMMIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMIT, 0) -} + if t == nil { + return nil + } -func (s *Unreserved_keywordContext) COMMITTED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMITTED, 0) + return t.(IComp_optionContext) } -func (s *Unreserved_keywordContext) CONFIGURATION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONFIGURATION, 0) +func (s *Comp_optionsContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Unreserved_keywordContext) CONFLICT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONFLICT, 0) +func (s *Comp_optionsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Unreserved_keywordContext) CONNECTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONNECTION, 0) +func (s *Comp_optionsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterComp_options(s) + } } -func (s *Unreserved_keywordContext) CONSTRAINTS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONSTRAINTS, 0) +func (s *Comp_optionsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitComp_options(s) + } } -func (s *Unreserved_keywordContext) CONTENT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONTENT_P, 0) -} +func (s *Comp_optionsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitComp_options(s) -func (s *Unreserved_keywordContext) CONTINUE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONTINUE_P, 0) + default: + return t.VisitChildren(s) + } } -func (s *Unreserved_keywordContext) CONVERSION_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONVERSION_P, 0) -} +func (p *PostgreSQLParser) Comp_options() (localctx IComp_optionsContext) { + localctx = NewComp_optionsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1444, PostgreSQLParserRULE_comp_options) + var _la int -func (s *Unreserved_keywordContext) COPY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOPY, 0) -} + p.EnterOuterAlt(localctx, 1) + p.SetState(10745) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Unreserved_keywordContext) COST() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOST, 0) -} + for _la == PostgreSQLParserOperator { + { + p.SetState(10742) + p.Comp_option() + } -func (s *Unreserved_keywordContext) CSV() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCSV, 0) -} + p.SetState(10747) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } -func (s *Unreserved_keywordContext) CUBE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCUBE, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Unreserved_keywordContext) CURRENT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_P, 0) -} +// IComp_optionContext is an interface to support dynamic dispatch. +type IComp_optionContext interface { + antlr.ParserRuleContext -func (s *Unreserved_keywordContext) CURSOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURSOR, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Unreserved_keywordContext) CYCLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCYCLE, 0) -} + // Getter signatures + Sharp() ISharpContext + OPTION() antlr.TerminalNode + DUMP() antlr.TerminalNode + PRINT_STRICT_PARAMS() antlr.TerminalNode + Option_value() IOption_valueContext + VARIABLE_CONFLICT() antlr.TerminalNode + ERROR_P() antlr.TerminalNode + USE_VARIABLE() antlr.TerminalNode + USE_COLUMN() antlr.TerminalNode -func (s *Unreserved_keywordContext) DATA_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDATA_P, 0) + // IsComp_optionContext differentiates from other interfaces. + IsComp_optionContext() } -func (s *Unreserved_keywordContext) DATABASE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDATABASE, 0) +type Comp_optionContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Unreserved_keywordContext) DAY_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDAY_P, 0) +func NewEmptyComp_optionContext() *Comp_optionContext { + var p = new(Comp_optionContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_comp_option + return p } -func (s *Unreserved_keywordContext) DEALLOCATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEALLOCATE, 0) +func InitEmptyComp_optionContext(p *Comp_optionContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_comp_option } -func (s *Unreserved_keywordContext) DECLARE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDECLARE, 0) -} +func (*Comp_optionContext) IsComp_optionContext() {} -func (s *Unreserved_keywordContext) DEFAULTS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFAULTS, 0) -} +func NewComp_optionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Comp_optionContext { + var p = new(Comp_optionContext) -func (s *Unreserved_keywordContext) DEFERRED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFERRED, 0) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *Unreserved_keywordContext) DEFINER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFINER, 0) -} + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_comp_option -func (s *Unreserved_keywordContext) DELETE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDELETE_P, 0) + return p } -func (s *Unreserved_keywordContext) DELIMITER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDELIMITER, 0) -} +func (s *Comp_optionContext) GetParser() antlr.Parser { return s.parser } -func (s *Unreserved_keywordContext) DELIMITERS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDELIMITERS, 0) -} +func (s *Comp_optionContext) Sharp() ISharpContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISharpContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Unreserved_keywordContext) DEPENDS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEPENDS, 0) -} + if t == nil { + return nil + } -func (s *Unreserved_keywordContext) DETACH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDETACH, 0) + return t.(ISharpContext) } -func (s *Unreserved_keywordContext) DICTIONARY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDICTIONARY, 0) +func (s *Comp_optionContext) OPTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPTION, 0) } -func (s *Unreserved_keywordContext) DISABLE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDISABLE_P, 0) +func (s *Comp_optionContext) DUMP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDUMP, 0) } -func (s *Unreserved_keywordContext) DISCARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDISCARD, 0) +func (s *Comp_optionContext) PRINT_STRICT_PARAMS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRINT_STRICT_PARAMS, 0) } -func (s *Unreserved_keywordContext) DOCUMENT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDOCUMENT_P, 0) -} +func (s *Comp_optionContext) Option_value() IOption_valueContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOption_valueContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Unreserved_keywordContext) DOMAIN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDOMAIN_P, 0) -} + if t == nil { + return nil + } -func (s *Unreserved_keywordContext) DOUBLE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDOUBLE_P, 0) + return t.(IOption_valueContext) } -func (s *Unreserved_keywordContext) DROP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDROP, 0) +func (s *Comp_optionContext) VARIABLE_CONFLICT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVARIABLE_CONFLICT, 0) } -func (s *Unreserved_keywordContext) EACH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEACH, 0) +func (s *Comp_optionContext) ERROR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserERROR_P, 0) } -func (s *Unreserved_keywordContext) ENABLE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserENABLE_P, 0) +func (s *Comp_optionContext) USE_VARIABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSE_VARIABLE, 0) } -func (s *Unreserved_keywordContext) ENCODING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserENCODING, 0) +func (s *Comp_optionContext) USE_COLUMN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSE_COLUMN, 0) } -func (s *Unreserved_keywordContext) ENCRYPTED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserENCRYPTED, 0) +func (s *Comp_optionContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Unreserved_keywordContext) ENUM_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserENUM_P, 0) +func (s *Comp_optionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Unreserved_keywordContext) ESCAPE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserESCAPE, 0) +func (s *Comp_optionContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterComp_option(s) + } } -func (s *Unreserved_keywordContext) EVENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEVENT, 0) +func (s *Comp_optionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitComp_option(s) + } } -func (s *Unreserved_keywordContext) EXCLUDE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCLUDE, 0) -} +func (s *Comp_optionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitComp_option(s) -func (s *Unreserved_keywordContext) EXCLUDING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCLUDING, 0) + default: + return t.VisitChildren(s) + } } -func (s *Unreserved_keywordContext) EXCLUSIVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCLUSIVE, 0) -} +func (p *PostgreSQLParser) Comp_option() (localctx IComp_optionContext) { + localctx = NewComp_optionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1446, PostgreSQLParserRULE_comp_option) + p.SetState(10768) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } -func (s *Unreserved_keywordContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXECUTE, 0) -} + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1054, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10748) + p.Sharp() + } + { + p.SetState(10749) + p.Match(PostgreSQLParserOPTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10750) + p.Match(PostgreSQLParserDUMP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Unreserved_keywordContext) EXPLAIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXPLAIN, 0) -} + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(10752) + p.Sharp() + } + { + p.SetState(10753) + p.Match(PostgreSQLParserPRINT_STRICT_PARAMS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10754) + p.Option_value() + } -func (s *Unreserved_keywordContext) EXPRESSION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXPRESSION, 0) -} + case 3: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(10756) + p.Sharp() + } + { + p.SetState(10757) + p.Match(PostgreSQLParserVARIABLE_CONFLICT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10758) + p.Match(PostgreSQLParserERROR_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Unreserved_keywordContext) EXTENSION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXTENSION, 0) -} - -func (s *Unreserved_keywordContext) EXTERNAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXTERNAL, 0) -} - -func (s *Unreserved_keywordContext) FAMILY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFAMILY, 0) -} - -func (s *Unreserved_keywordContext) FILTER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFILTER, 0) -} - -func (s *Unreserved_keywordContext) FIRST_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFIRST_P, 0) -} - -func (s *Unreserved_keywordContext) FOLLOWING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOLLOWING, 0) -} - -func (s *Unreserved_keywordContext) FORCE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFORCE, 0) -} - -func (s *Unreserved_keywordContext) FORMAT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFORMAT, 0) -} - -func (s *Unreserved_keywordContext) FORWARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFORWARD, 0) -} - -func (s *Unreserved_keywordContext) FUNCTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFUNCTION, 0) -} - -func (s *Unreserved_keywordContext) FUNCTIONS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFUNCTIONS, 0) -} - -func (s *Unreserved_keywordContext) GENERATED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGENERATED, 0) -} - -func (s *Unreserved_keywordContext) GLOBAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGLOBAL, 0) -} - -func (s *Unreserved_keywordContext) GRANTED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGRANTED, 0) -} - -func (s *Unreserved_keywordContext) GROUPS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGROUPS, 0) -} - -func (s *Unreserved_keywordContext) HANDLER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserHANDLER, 0) -} - -func (s *Unreserved_keywordContext) HEADER_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserHEADER_P, 0) -} - -func (s *Unreserved_keywordContext) HOLD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserHOLD, 0) -} - -func (s *Unreserved_keywordContext) HOUR_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserHOUR_P, 0) -} - -func (s *Unreserved_keywordContext) IDENTITY_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIDENTITY_P, 0) -} - -func (s *Unreserved_keywordContext) IF_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIF_P, 0) -} - -func (s *Unreserved_keywordContext) IMMEDIATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIMMEDIATE, 0) -} - -func (s *Unreserved_keywordContext) IMMUTABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIMMUTABLE, 0) -} - -func (s *Unreserved_keywordContext) IMPLICIT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIMPLICIT_P, 0) -} - -func (s *Unreserved_keywordContext) IMPORT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIMPORT_P, 0) -} - -func (s *Unreserved_keywordContext) INCLUDE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINCLUDE, 0) -} - -func (s *Unreserved_keywordContext) INCLUDING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINCLUDING, 0) -} - -func (s *Unreserved_keywordContext) INCREMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINCREMENT, 0) -} - -func (s *Unreserved_keywordContext) INDEX() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINDEX, 0) -} - -func (s *Unreserved_keywordContext) INDEXES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINDEXES, 0) -} - -func (s *Unreserved_keywordContext) INHERIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINHERIT, 0) -} - -func (s *Unreserved_keywordContext) INHERITS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINHERITS, 0) -} - -func (s *Unreserved_keywordContext) INLINE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINLINE_P, 0) -} - -func (s *Unreserved_keywordContext) INPUT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINPUT_P, 0) -} - -func (s *Unreserved_keywordContext) INSENSITIVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINSENSITIVE, 0) -} - -func (s *Unreserved_keywordContext) INSERT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINSERT, 0) -} - -func (s *Unreserved_keywordContext) INSTEAD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINSTEAD, 0) -} - -func (s *Unreserved_keywordContext) INVOKER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINVOKER, 0) -} - -func (s *Unreserved_keywordContext) ISOLATION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserISOLATION, 0) -} - -func (s *Unreserved_keywordContext) JSON() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJSON, 0) -} - -func (s *Unreserved_keywordContext) KEY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserKEY, 0) -} - -func (s *Unreserved_keywordContext) KEYS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserKEYS, 0) -} - -func (s *Unreserved_keywordContext) LABEL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLABEL, 0) -} - -func (s *Unreserved_keywordContext) LANGUAGE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLANGUAGE, 0) -} - -func (s *Unreserved_keywordContext) LARGE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLARGE_P, 0) -} - -func (s *Unreserved_keywordContext) LAST_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLAST_P, 0) -} - -func (s *Unreserved_keywordContext) LEAKPROOF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLEAKPROOF, 0) -} - -func (s *Unreserved_keywordContext) LEVEL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLEVEL, 0) -} - -func (s *Unreserved_keywordContext) LISTEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLISTEN, 0) -} - -func (s *Unreserved_keywordContext) LOAD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOAD, 0) -} - -func (s *Unreserved_keywordContext) LOCAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOCAL, 0) -} - -func (s *Unreserved_keywordContext) LOCATION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOCATION, 0) -} - -func (s *Unreserved_keywordContext) LOCK_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOCK_P, 0) -} - -func (s *Unreserved_keywordContext) LOCKED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOCKED, 0) -} - -func (s *Unreserved_keywordContext) LOGGED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOGGED, 0) -} - -func (s *Unreserved_keywordContext) MAPPING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAPPING, 0) -} - -func (s *Unreserved_keywordContext) MATCH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMATCH, 0) -} - -func (s *Unreserved_keywordContext) MATERIALIZED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMATERIALIZED, 0) -} - -func (s *Unreserved_keywordContext) MAXVALUE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAXVALUE, 0) -} - -func (s *Unreserved_keywordContext) METHOD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMETHOD, 0) -} - -func (s *Unreserved_keywordContext) MINUTE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMINUTE_P, 0) -} - -func (s *Unreserved_keywordContext) MINVALUE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMINVALUE, 0) -} - -func (s *Unreserved_keywordContext) MODE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMODE, 0) -} - -func (s *Unreserved_keywordContext) MONTH_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMONTH_P, 0) -} - -func (s *Unreserved_keywordContext) MOVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMOVE, 0) -} - -func (s *Unreserved_keywordContext) NAME_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNAME_P, 0) -} - -func (s *Unreserved_keywordContext) NAMES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNAMES, 0) -} - -func (s *Unreserved_keywordContext) NEW() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNEW, 0) -} - -func (s *Unreserved_keywordContext) NEXT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNEXT, 0) -} - -func (s *Unreserved_keywordContext) NFC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNFC, 0) -} - -func (s *Unreserved_keywordContext) NFD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNFD, 0) -} - -func (s *Unreserved_keywordContext) NFKC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNFKC, 0) -} - -func (s *Unreserved_keywordContext) NFKD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNFKD, 0) -} - -func (s *Unreserved_keywordContext) NO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNO, 0) -} - -func (s *Unreserved_keywordContext) NORMALIZED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNORMALIZED, 0) -} - -func (s *Unreserved_keywordContext) NOTHING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOTHING, 0) -} - -func (s *Unreserved_keywordContext) NOTIFY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOTIFY, 0) -} - -func (s *Unreserved_keywordContext) NOWAIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOWAIT, 0) -} - -func (s *Unreserved_keywordContext) NULLS_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNULLS_P, 0) -} - -func (s *Unreserved_keywordContext) OBJECT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOBJECT_P, 0) -} - -func (s *Unreserved_keywordContext) OF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOF, 0) -} - -func (s *Unreserved_keywordContext) OFF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOFF, 0) -} - -func (s *Unreserved_keywordContext) OIDS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOIDS, 0) -} - -func (s *Unreserved_keywordContext) OLD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOLD, 0) -} - -func (s *Unreserved_keywordContext) OPERATOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPERATOR, 0) -} - -func (s *Unreserved_keywordContext) OPTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPTION, 0) -} - -func (s *Unreserved_keywordContext) OPTIONS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPTIONS, 0) -} - -func (s *Unreserved_keywordContext) ORDINALITY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserORDINALITY, 0) -} - -func (s *Unreserved_keywordContext) OTHERS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOTHERS, 0) -} - -func (s *Unreserved_keywordContext) OVER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOVER, 0) -} - -func (s *Unreserved_keywordContext) OVERRIDING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOVERRIDING, 0) -} - -func (s *Unreserved_keywordContext) OWNED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOWNED, 0) -} - -func (s *Unreserved_keywordContext) OWNER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOWNER, 0) -} - -func (s *Unreserved_keywordContext) PARALLEL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARALLEL, 0) -} - -func (s *Unreserved_keywordContext) PARAMETER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARAMETER, 0) -} - -func (s *Unreserved_keywordContext) PARSER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARSER, 0) -} - -func (s *Unreserved_keywordContext) PARTIAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARTIAL, 0) -} - -func (s *Unreserved_keywordContext) PARTITION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARTITION, 0) -} - -func (s *Unreserved_keywordContext) PASSING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPASSING, 0) -} - -func (s *Unreserved_keywordContext) PASSWORD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPASSWORD, 0) -} - -func (s *Unreserved_keywordContext) PLANS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPLANS, 0) -} - -func (s *Unreserved_keywordContext) POLICY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPOLICY, 0) -} - -func (s *Unreserved_keywordContext) PRECEDING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRECEDING, 0) -} - -func (s *Unreserved_keywordContext) PREPARE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPREPARE, 0) -} - -func (s *Unreserved_keywordContext) PREPARED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPREPARED, 0) -} - -func (s *Unreserved_keywordContext) PRESERVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRESERVE, 0) -} - -func (s *Unreserved_keywordContext) PRIOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRIOR, 0) -} - -func (s *Unreserved_keywordContext) PRIVILEGES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRIVILEGES, 0) -} - -func (s *Unreserved_keywordContext) PROCEDURAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPROCEDURAL, 0) -} - -func (s *Unreserved_keywordContext) PROCEDURE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPROCEDURE, 0) -} - -func (s *Unreserved_keywordContext) PROCEDURES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPROCEDURES, 0) -} - -func (s *Unreserved_keywordContext) PROGRAM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPROGRAM, 0) -} - -func (s *Unreserved_keywordContext) PUBLICATION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPUBLICATION, 0) -} - -func (s *Unreserved_keywordContext) QUOTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserQUOTE, 0) -} - -func (s *Unreserved_keywordContext) RANGE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRANGE, 0) -} - -func (s *Unreserved_keywordContext) READ() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREAD, 0) -} - -func (s *Unreserved_keywordContext) REASSIGN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREASSIGN, 0) -} - -func (s *Unreserved_keywordContext) RECHECK() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRECHECK, 0) -} - -func (s *Unreserved_keywordContext) RECURSIVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRECURSIVE, 0) -} - -func (s *Unreserved_keywordContext) REF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREF, 0) -} - -func (s *Unreserved_keywordContext) REFERENCING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREFERENCING, 0) -} - -func (s *Unreserved_keywordContext) REFRESH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREFRESH, 0) -} - -func (s *Unreserved_keywordContext) REINDEX() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREINDEX, 0) -} - -func (s *Unreserved_keywordContext) RELATIVE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRELATIVE_P, 0) -} - -func (s *Unreserved_keywordContext) RELEASE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRELEASE, 0) -} - -func (s *Unreserved_keywordContext) RENAME() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRENAME, 0) -} - -func (s *Unreserved_keywordContext) REPEATABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREPEATABLE, 0) -} - -func (s *Unreserved_keywordContext) REPLICA() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREPLICA, 0) -} - -func (s *Unreserved_keywordContext) RESET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRESET, 0) -} - -func (s *Unreserved_keywordContext) RESTART() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRESTART, 0) -} - -func (s *Unreserved_keywordContext) RESTRICT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRESTRICT, 0) -} - -func (s *Unreserved_keywordContext) RETURNS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRETURNS, 0) -} - -func (s *Unreserved_keywordContext) REVOKE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREVOKE, 0) -} - -func (s *Unreserved_keywordContext) ROLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROLE, 0) -} - -func (s *Unreserved_keywordContext) ROLLBACK() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROLLBACK, 0) -} - -func (s *Unreserved_keywordContext) ROLLUP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROLLUP, 0) -} - -func (s *Unreserved_keywordContext) ROUTINE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROUTINE, 0) -} - -func (s *Unreserved_keywordContext) ROUTINES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROUTINES, 0) -} - -func (s *Unreserved_keywordContext) ROWS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROWS, 0) -} - -func (s *Unreserved_keywordContext) RULE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRULE, 0) -} - -func (s *Unreserved_keywordContext) SAVEPOINT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSAVEPOINT, 0) -} - -func (s *Unreserved_keywordContext) SCHEMA() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCHEMA, 0) -} - -func (s *Unreserved_keywordContext) SCHEMAS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCHEMAS, 0) -} - -func (s *Unreserved_keywordContext) SCROLL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCROLL, 0) -} - -func (s *Unreserved_keywordContext) SEARCH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEARCH, 0) -} - -func (s *Unreserved_keywordContext) SECOND_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSECOND_P, 0) -} - -func (s *Unreserved_keywordContext) SECURITY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSECURITY, 0) -} - -func (s *Unreserved_keywordContext) SEQUENCE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEQUENCE, 0) -} - -func (s *Unreserved_keywordContext) SEQUENCES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEQUENCES, 0) -} - -func (s *Unreserved_keywordContext) SERIALIZABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSERIALIZABLE, 0) -} - -func (s *Unreserved_keywordContext) SERVER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSERVER, 0) -} - -func (s *Unreserved_keywordContext) SESSION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSESSION, 0) -} - -func (s *Unreserved_keywordContext) SET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSET, 0) -} - -func (s *Unreserved_keywordContext) SETS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSETS, 0) -} - -func (s *Unreserved_keywordContext) SHARE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSHARE, 0) -} - -func (s *Unreserved_keywordContext) SHOW() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSHOW, 0) -} - -func (s *Unreserved_keywordContext) SIMPLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSIMPLE, 0) -} - -func (s *Unreserved_keywordContext) SKIP_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSKIP_P, 0) -} - -func (s *Unreserved_keywordContext) SNAPSHOT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSNAPSHOT, 0) -} - -func (s *Unreserved_keywordContext) SQL_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSQL_P, 0) -} - -func (s *Unreserved_keywordContext) STABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTABLE, 0) -} - -func (s *Unreserved_keywordContext) STANDALONE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTANDALONE_P, 0) -} - -func (s *Unreserved_keywordContext) START() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTART, 0) -} - -func (s *Unreserved_keywordContext) STATEMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTATEMENT, 0) -} - -func (s *Unreserved_keywordContext) STATISTICS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTATISTICS, 0) -} - -func (s *Unreserved_keywordContext) STDIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTDIN, 0) -} - -func (s *Unreserved_keywordContext) STDOUT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTDOUT, 0) -} - -func (s *Unreserved_keywordContext) STORAGE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTORAGE, 0) -} - -func (s *Unreserved_keywordContext) STORED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTORED, 0) -} - -func (s *Unreserved_keywordContext) STRICT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRICT_P, 0) -} - -func (s *Unreserved_keywordContext) STRING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRING, 0) -} - -func (s *Unreserved_keywordContext) STRIP_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRIP_P, 0) -} - -func (s *Unreserved_keywordContext) SUBSCRIPTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSUBSCRIPTION, 0) -} - -func (s *Unreserved_keywordContext) SUPPORT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSUPPORT, 0) -} - -func (s *Unreserved_keywordContext) SYSID() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSYSID, 0) -} - -func (s *Unreserved_keywordContext) SYSTEM_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSYSTEM_P, 0) -} - -func (s *Unreserved_keywordContext) TABLES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTABLES, 0) -} - -func (s *Unreserved_keywordContext) TABLESPACE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTABLESPACE, 0) -} - -func (s *Unreserved_keywordContext) TEMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTEMP, 0) -} - -func (s *Unreserved_keywordContext) TEMPLATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTEMPLATE, 0) -} - -func (s *Unreserved_keywordContext) TEMPORARY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTEMPORARY, 0) -} - -func (s *Unreserved_keywordContext) TEXT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTEXT_P, 0) -} - -func (s *Unreserved_keywordContext) TIES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTIES, 0) -} - -func (s *Unreserved_keywordContext) TRANSACTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRANSACTION, 0) -} - -func (s *Unreserved_keywordContext) TRANSFORM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRANSFORM, 0) -} - -func (s *Unreserved_keywordContext) TRIGGER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRIGGER, 0) -} - -func (s *Unreserved_keywordContext) TRUNCATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRUNCATE, 0) -} - -func (s *Unreserved_keywordContext) TRUSTED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRUSTED, 0) -} - -func (s *Unreserved_keywordContext) TYPE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTYPE_P, 0) -} - -func (s *Unreserved_keywordContext) TYPES_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTYPES_P, 0) -} - -func (s *Unreserved_keywordContext) UESCAPE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUESCAPE, 0) -} - -func (s *Unreserved_keywordContext) UNBOUNDED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNBOUNDED, 0) -} - -func (s *Unreserved_keywordContext) UNCOMMITTED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNCOMMITTED, 0) -} - -func (s *Unreserved_keywordContext) UNENCRYPTED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNENCRYPTED, 0) -} - -func (s *Unreserved_keywordContext) UNKNOWN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNKNOWN, 0) -} - -func (s *Unreserved_keywordContext) UNLISTEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNLISTEN, 0) -} - -func (s *Unreserved_keywordContext) UNLOGGED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNLOGGED, 0) -} - -func (s *Unreserved_keywordContext) UNTIL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNTIL, 0) -} - -func (s *Unreserved_keywordContext) UPDATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUPDATE, 0) -} - -func (s *Unreserved_keywordContext) VACUUM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVACUUM, 0) -} - -func (s *Unreserved_keywordContext) VALID() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVALID, 0) -} - -func (s *Unreserved_keywordContext) VALIDATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVALIDATE, 0) -} + case 4: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(10760) + p.Sharp() + } + { + p.SetState(10761) + p.Match(PostgreSQLParserVARIABLE_CONFLICT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10762) + p.Match(PostgreSQLParserUSE_VARIABLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Unreserved_keywordContext) VALIDATOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVALIDATOR, 0) -} + case 5: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(10764) + p.Sharp() + } + { + p.SetState(10765) + p.Match(PostgreSQLParserVARIABLE_CONFLICT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10766) + p.Match(PostgreSQLParserUSE_COLUMN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Unreserved_keywordContext) VALUE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVALUE_P, 0) -} + case antlr.ATNInvalidAltNumber: + goto errorExit + } -func (s *Unreserved_keywordContext) VARYING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVARYING, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Unreserved_keywordContext) VERSION_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVERSION_P, 0) -} +// ISharpContext is an interface to support dynamic dispatch. +type ISharpContext interface { + antlr.ParserRuleContext -func (s *Unreserved_keywordContext) VIEW() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVIEW, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Unreserved_keywordContext) VIEWS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVIEWS, 0) -} + // Getter signatures + Operator() antlr.TerminalNode -func (s *Unreserved_keywordContext) VOLATILE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVOLATILE, 0) + // IsSharpContext differentiates from other interfaces. + IsSharpContext() } -func (s *Unreserved_keywordContext) WHITESPACE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHITESPACE_P, 0) +type SharpContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Unreserved_keywordContext) WITHIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWITHIN, 0) +func NewEmptySharpContext() *SharpContext { + var p = new(SharpContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_sharp + return p } -func (s *Unreserved_keywordContext) WITHOUT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWITHOUT, 0) +func InitEmptySharpContext(p *SharpContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_sharp } -func (s *Unreserved_keywordContext) WORK() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWORK, 0) -} +func (*SharpContext) IsSharpContext() {} -func (s *Unreserved_keywordContext) WRAPPER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWRAPPER, 0) -} +func NewSharpContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SharpContext { + var p = new(SharpContext) -func (s *Unreserved_keywordContext) WRITE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWRITE, 0) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *Unreserved_keywordContext) XML_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXML_P, 0) -} + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_sharp -func (s *Unreserved_keywordContext) YEAR_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserYEAR_P, 0) + return p } -func (s *Unreserved_keywordContext) YES_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserYES_P, 0) -} +func (s *SharpContext) GetParser() antlr.Parser { return s.parser } -func (s *Unreserved_keywordContext) ZONE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserZONE, 0) +func (s *SharpContext) Operator() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOperator, 0) } -func (s *Unreserved_keywordContext) GetRuleContext() antlr.RuleContext { +func (s *SharpContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Unreserved_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *SharpContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Unreserved_keywordContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *SharpContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterUnreserved_keyword(s) + listenerT.EnterSharp(s) } } -func (s *Unreserved_keywordContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *SharpContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitUnreserved_keyword(s) + listenerT.ExitSharp(s) } } -func (s *Unreserved_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *SharpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitUnreserved_keyword(s) + return t.VisitSharp(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Unreserved_keyword() (localctx IUnreserved_keywordContext) { - localctx = NewUnreserved_keywordContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1440, PostgreSQLParserRULE_unreserved_keyword) - var _la int - +func (p *PostgreSQLParser) Sharp() (localctx ISharpContext) { + localctx = NewSharpContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1448, PostgreSQLParserRULE_sharp) p.EnterOuterAlt(localctx, 1) { - p.SetState(10737) - _la = p.GetTokenStream().LA(1) - - if !(((int64((_la-108)) & ^0x3f) == 0 && ((int64(1)<<(_la-108))&-1065151838207) != 0) || ((int64((_la-172)) & ^0x3f) == 0 && ((int64(1)<<(_la-172))&-1) != 0) || ((int64((_la-236)) & ^0x3f) == 0 && ((int64(1)<<(_la-236))&-77309411329) != 0) || ((int64((_la-300)) & ^0x3f) == 0 && ((int64(1)<<(_la-300))&-8388609) != 0) || ((int64((_la-364)) & ^0x3f) == 0 && ((int64(1)<<(_la-364))&1152921573326323711) != 0) || ((int64((_la-454)) & ^0x3f) == 0 && ((int64(1)<<(_la-454))&72028319537692671) != 0) || _la == PostgreSQLParserFORMAT) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + p.SetState(10770) + p.Match(PostgreSQLParserOperator) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } @@ -172401,119 +171392,59 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICol_name_keywordContext is an interface to support dynamic dispatch. -type ICol_name_keywordContext interface { +// IOption_valueContext is an interface to support dynamic dispatch. +type IOption_valueContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - BETWEEN() antlr.TerminalNode - BIGINT() antlr.TerminalNode - Bit() IBitContext - BOOLEAN_P() antlr.TerminalNode - CHAR_P() antlr.TerminalNode - Character() ICharacterContext - COALESCE() antlr.TerminalNode - DEC() antlr.TerminalNode - DECIMAL_P() antlr.TerminalNode - EXISTS() antlr.TerminalNode - EXTRACT() antlr.TerminalNode - FLOAT_P() antlr.TerminalNode - GREATEST() antlr.TerminalNode - GROUPING() antlr.TerminalNode - INOUT() antlr.TerminalNode - INT_P() antlr.TerminalNode - INTEGER() antlr.TerminalNode - INTERVAL() antlr.TerminalNode - JSON_ARRAY() antlr.TerminalNode - JSON_ARRAYAGG() antlr.TerminalNode - JSON_OBJECT() antlr.TerminalNode - JSON_OBJECTAGG() antlr.TerminalNode - LEAST() antlr.TerminalNode - NATIONAL() antlr.TerminalNode - NCHAR() antlr.TerminalNode - NONE() antlr.TerminalNode - NORMALIZE() antlr.TerminalNode - NULLIF() antlr.TerminalNode - Numeric() INumericContext - OUT_P() antlr.TerminalNode - OVERLAY() antlr.TerminalNode - POSITION() antlr.TerminalNode - PRECISION() antlr.TerminalNode - REAL() antlr.TerminalNode - ROW() antlr.TerminalNode - SETOF() antlr.TerminalNode - SMALLINT() antlr.TerminalNode - SUBSTRING() antlr.TerminalNode - TIME() antlr.TerminalNode - TIMESTAMP() antlr.TerminalNode - TREAT() antlr.TerminalNode - TRIM() antlr.TerminalNode - VALUES() antlr.TerminalNode - VARCHAR() antlr.TerminalNode - XMLATTRIBUTES() antlr.TerminalNode - XMLCONCAT() antlr.TerminalNode - XMLELEMENT() antlr.TerminalNode - XMLEXISTS() antlr.TerminalNode - XMLFOREST() antlr.TerminalNode - XMLNAMESPACES() antlr.TerminalNode - XMLPARSE() antlr.TerminalNode - XMLPI() antlr.TerminalNode - XMLROOT() antlr.TerminalNode - XMLSERIALIZE() antlr.TerminalNode - XMLTABLE() antlr.TerminalNode - Builtin_function_name() IBuiltin_function_nameContext + Sconst() ISconstContext + Reserved_keyword() IReserved_keywordContext + Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext + Unreserved_keyword() IUnreserved_keywordContext - // IsCol_name_keywordContext differentiates from other interfaces. - IsCol_name_keywordContext() + // IsOption_valueContext differentiates from other interfaces. + IsOption_valueContext() } -type Col_name_keywordContext struct { +type Option_valueContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCol_name_keywordContext() *Col_name_keywordContext { - var p = new(Col_name_keywordContext) +func NewEmptyOption_valueContext() *Option_valueContext { + var p = new(Option_valueContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_col_name_keyword + p.RuleIndex = PostgreSQLParserRULE_option_value return p } -func InitEmptyCol_name_keywordContext(p *Col_name_keywordContext) { +func InitEmptyOption_valueContext(p *Option_valueContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_col_name_keyword + p.RuleIndex = PostgreSQLParserRULE_option_value } -func (*Col_name_keywordContext) IsCol_name_keywordContext() {} +func (*Option_valueContext) IsOption_valueContext() {} -func NewCol_name_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Col_name_keywordContext { - var p = new(Col_name_keywordContext) +func NewOption_valueContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Option_valueContext { + var p = new(Option_valueContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_col_name_keyword + p.RuleIndex = PostgreSQLParserRULE_option_value return p } -func (s *Col_name_keywordContext) GetParser() antlr.Parser { return s.parser } - -func (s *Col_name_keywordContext) BETWEEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBETWEEN, 0) -} - -func (s *Col_name_keywordContext) BIGINT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBIGINT, 0) -} +func (s *Option_valueContext) GetParser() antlr.Parser { return s.parser } -func (s *Col_name_keywordContext) Bit() IBitContext { +func (s *Option_valueContext) Sconst() ISconstContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBitContext); ok { + if _, ok := ctx.(ISconstContext); ok { t = ctx.(antlr.RuleContext) break } @@ -172523,21 +171454,13 @@ func (s *Col_name_keywordContext) Bit() IBitContext { return nil } - return t.(IBitContext) -} - -func (s *Col_name_keywordContext) BOOLEAN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBOOLEAN_P, 0) -} - -func (s *Col_name_keywordContext) CHAR_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHAR_P, 0) + return t.(ISconstContext) } -func (s *Col_name_keywordContext) Character() ICharacterContext { +func (s *Option_valueContext) Reserved_keyword() IReserved_keywordContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICharacterContext); ok { + if _, ok := ctx.(IReserved_keywordContext); ok { t = ctx.(antlr.RuleContext) break } @@ -172547,101 +171470,13 @@ func (s *Col_name_keywordContext) Character() ICharacterContext { return nil } - return t.(ICharacterContext) -} - -func (s *Col_name_keywordContext) COALESCE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOALESCE, 0) -} - -func (s *Col_name_keywordContext) DEC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEC, 0) -} - -func (s *Col_name_keywordContext) DECIMAL_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDECIMAL_P, 0) -} - -func (s *Col_name_keywordContext) EXISTS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXISTS, 0) -} - -func (s *Col_name_keywordContext) EXTRACT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXTRACT, 0) -} - -func (s *Col_name_keywordContext) FLOAT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFLOAT_P, 0) -} - -func (s *Col_name_keywordContext) GREATEST() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGREATEST, 0) -} - -func (s *Col_name_keywordContext) GROUPING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGROUPING, 0) -} - -func (s *Col_name_keywordContext) INOUT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINOUT, 0) -} - -func (s *Col_name_keywordContext) INT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINT_P, 0) -} - -func (s *Col_name_keywordContext) INTEGER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINTEGER, 0) -} - -func (s *Col_name_keywordContext) INTERVAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINTERVAL, 0) -} - -func (s *Col_name_keywordContext) JSON_ARRAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJSON_ARRAY, 0) -} - -func (s *Col_name_keywordContext) JSON_ARRAYAGG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJSON_ARRAYAGG, 0) -} - -func (s *Col_name_keywordContext) JSON_OBJECT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJSON_OBJECT, 0) -} - -func (s *Col_name_keywordContext) JSON_OBJECTAGG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJSON_OBJECTAGG, 0) -} - -func (s *Col_name_keywordContext) LEAST() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLEAST, 0) -} - -func (s *Col_name_keywordContext) NATIONAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNATIONAL, 0) -} - -func (s *Col_name_keywordContext) NCHAR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNCHAR, 0) -} - -func (s *Col_name_keywordContext) NONE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNONE, 0) -} - -func (s *Col_name_keywordContext) NORMALIZE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNORMALIZE, 0) -} - -func (s *Col_name_keywordContext) NULLIF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNULLIF, 0) + return t.(IReserved_keywordContext) } -func (s *Col_name_keywordContext) Numeric() INumericContext { +func (s *Option_valueContext) Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(INumericContext); ok { + if _, ok := ctx.(IPlsql_unreserved_keywordContext); ok { t = ctx.(antlr.RuleContext) break } @@ -172651,117 +171486,13 @@ func (s *Col_name_keywordContext) Numeric() INumericContext { return nil } - return t.(INumericContext) -} - -func (s *Col_name_keywordContext) OUT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOUT_P, 0) -} - -func (s *Col_name_keywordContext) OVERLAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOVERLAY, 0) -} - -func (s *Col_name_keywordContext) POSITION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPOSITION, 0) -} - -func (s *Col_name_keywordContext) PRECISION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRECISION, 0) -} - -func (s *Col_name_keywordContext) REAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREAL, 0) -} - -func (s *Col_name_keywordContext) ROW() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROW, 0) -} - -func (s *Col_name_keywordContext) SETOF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSETOF, 0) -} - -func (s *Col_name_keywordContext) SMALLINT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSMALLINT, 0) -} - -func (s *Col_name_keywordContext) SUBSTRING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSUBSTRING, 0) -} - -func (s *Col_name_keywordContext) TIME() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTIME, 0) -} - -func (s *Col_name_keywordContext) TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTIMESTAMP, 0) -} - -func (s *Col_name_keywordContext) TREAT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTREAT, 0) -} - -func (s *Col_name_keywordContext) TRIM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRIM, 0) -} - -func (s *Col_name_keywordContext) VALUES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVALUES, 0) -} - -func (s *Col_name_keywordContext) VARCHAR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVARCHAR, 0) -} - -func (s *Col_name_keywordContext) XMLATTRIBUTES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLATTRIBUTES, 0) -} - -func (s *Col_name_keywordContext) XMLCONCAT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLCONCAT, 0) -} - -func (s *Col_name_keywordContext) XMLELEMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLELEMENT, 0) -} - -func (s *Col_name_keywordContext) XMLEXISTS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLEXISTS, 0) -} - -func (s *Col_name_keywordContext) XMLFOREST() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLFOREST, 0) -} - -func (s *Col_name_keywordContext) XMLNAMESPACES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLNAMESPACES, 0) -} - -func (s *Col_name_keywordContext) XMLPARSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLPARSE, 0) -} - -func (s *Col_name_keywordContext) XMLPI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLPI, 0) -} - -func (s *Col_name_keywordContext) XMLROOT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLROOT, 0) -} - -func (s *Col_name_keywordContext) XMLSERIALIZE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLSERIALIZE, 0) -} - -func (s *Col_name_keywordContext) XMLTABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLTABLE, 0) + return t.(IPlsql_unreserved_keywordContext) } -func (s *Col_name_keywordContext) Builtin_function_name() IBuiltin_function_nameContext { +func (s *Option_valueContext) Unreserved_keyword() IUnreserved_keywordContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBuiltin_function_nameContext); ok { + if _, ok := ctx.(IUnreserved_keywordContext); ok { t = ctx.(antlr.RuleContext) break } @@ -172771,651 +171502,185 @@ func (s *Col_name_keywordContext) Builtin_function_name() IBuiltin_function_name return nil } - return t.(IBuiltin_function_nameContext) + return t.(IUnreserved_keywordContext) } -func (s *Col_name_keywordContext) GetRuleContext() antlr.RuleContext { +func (s *Option_valueContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Col_name_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Option_valueContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Col_name_keywordContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Option_valueContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterCol_name_keyword(s) + listenerT.EnterOption_value(s) } } -func (s *Col_name_keywordContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Option_valueContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitCol_name_keyword(s) + listenerT.ExitOption_value(s) } } -func (s *Col_name_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Option_valueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitCol_name_keyword(s) + return t.VisitOption_value(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Col_name_keyword() (localctx ICol_name_keywordContext) { - localctx = NewCol_name_keywordContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1442, PostgreSQLParserRULE_col_name_keyword) - p.SetState(10795) +func (p *PostgreSQLParser) Option_value() (localctx IOption_valueContext) { + localctx = NewOption_valueContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1450, PostgreSQLParserRULE_option_value) + p.SetState(10776) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1052, p.GetParserRuleContext()) { + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1055, p.GetParserRuleContext()) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10739) - p.Match(PostgreSQLParserBETWEEN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10772) + p.Sconst() } case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10740) - p.Match(PostgreSQLParserBIGINT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10773) + p.Reserved_keyword() } case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(10741) - p.Bit() + p.SetState(10774) + p.Plsql_unreserved_keyword() } case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(10742) - p.Match(PostgreSQLParserBOOLEAN_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 5: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(10743) - p.Match(PostgreSQLParserCHAR_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 6: - p.EnterOuterAlt(localctx, 6) - { - p.SetState(10744) - p.Character() - } - - case 7: - p.EnterOuterAlt(localctx, 7) - { - p.SetState(10745) - p.Match(PostgreSQLParserCOALESCE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 8: - p.EnterOuterAlt(localctx, 8) - { - p.SetState(10746) - p.Match(PostgreSQLParserDEC) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 9: - p.EnterOuterAlt(localctx, 9) - { - p.SetState(10747) - p.Match(PostgreSQLParserDECIMAL_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 10: - p.EnterOuterAlt(localctx, 10) - { - p.SetState(10748) - p.Match(PostgreSQLParserEXISTS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 11: - p.EnterOuterAlt(localctx, 11) - { - p.SetState(10749) - p.Match(PostgreSQLParserEXTRACT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 12: - p.EnterOuterAlt(localctx, 12) - { - p.SetState(10750) - p.Match(PostgreSQLParserFLOAT_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 13: - p.EnterOuterAlt(localctx, 13) - { - p.SetState(10751) - p.Match(PostgreSQLParserGREATEST) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 14: - p.EnterOuterAlt(localctx, 14) - { - p.SetState(10752) - p.Match(PostgreSQLParserGROUPING) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 15: - p.EnterOuterAlt(localctx, 15) - { - p.SetState(10753) - p.Match(PostgreSQLParserINOUT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 16: - p.EnterOuterAlt(localctx, 16) - { - p.SetState(10754) - p.Match(PostgreSQLParserINT_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 17: - p.EnterOuterAlt(localctx, 17) - { - p.SetState(10755) - p.Match(PostgreSQLParserINTEGER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 18: - p.EnterOuterAlt(localctx, 18) - { - p.SetState(10756) - p.Match(PostgreSQLParserINTERVAL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 19: - p.EnterOuterAlt(localctx, 19) - { - p.SetState(10757) - p.Match(PostgreSQLParserJSON_ARRAY) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 20: - p.EnterOuterAlt(localctx, 20) - { - p.SetState(10758) - p.Match(PostgreSQLParserJSON_ARRAYAGG) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 21: - p.EnterOuterAlt(localctx, 21) - { - p.SetState(10759) - p.Match(PostgreSQLParserJSON_OBJECT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 22: - p.EnterOuterAlt(localctx, 22) - { - p.SetState(10760) - p.Match(PostgreSQLParserJSON_OBJECTAGG) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 23: - p.EnterOuterAlt(localctx, 23) - { - p.SetState(10761) - p.Match(PostgreSQLParserLEAST) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 24: - p.EnterOuterAlt(localctx, 24) - { - p.SetState(10762) - p.Match(PostgreSQLParserNATIONAL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 25: - p.EnterOuterAlt(localctx, 25) - { - p.SetState(10763) - p.Match(PostgreSQLParserNCHAR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 26: - p.EnterOuterAlt(localctx, 26) - { - p.SetState(10764) - p.Match(PostgreSQLParserNONE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 27: - p.EnterOuterAlt(localctx, 27) - { - p.SetState(10765) - p.Match(PostgreSQLParserNORMALIZE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 28: - p.EnterOuterAlt(localctx, 28) - { - p.SetState(10766) - p.Match(PostgreSQLParserNULLIF) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 29: - p.EnterOuterAlt(localctx, 29) - { - p.SetState(10767) - p.Numeric() - } - - case 30: - p.EnterOuterAlt(localctx, 30) - { - p.SetState(10768) - p.Match(PostgreSQLParserOUT_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 31: - p.EnterOuterAlt(localctx, 31) - { - p.SetState(10769) - p.Match(PostgreSQLParserOVERLAY) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 32: - p.EnterOuterAlt(localctx, 32) - { - p.SetState(10770) - p.Match(PostgreSQLParserPOSITION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 33: - p.EnterOuterAlt(localctx, 33) - { - p.SetState(10771) - p.Match(PostgreSQLParserPRECISION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10775) + p.Unreserved_keyword() } - case 34: - p.EnterOuterAlt(localctx, 34) - { - p.SetState(10772) - p.Match(PostgreSQLParserREAL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + case antlr.ATNInvalidAltNumber: + goto errorExit + } - case 35: - p.EnterOuterAlt(localctx, 35) - { - p.SetState(10773) - p.Match(PostgreSQLParserROW) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - case 36: - p.EnterOuterAlt(localctx, 36) - { - p.SetState(10774) - p.Match(PostgreSQLParserSETOF) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +// IOpt_semiContext is an interface to support dynamic dispatch. +type IOpt_semiContext interface { + antlr.ParserRuleContext - case 37: - p.EnterOuterAlt(localctx, 37) - { - p.SetState(10775) - p.Match(PostgreSQLParserSMALLINT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + // GetParser returns the parser. + GetParser() antlr.Parser - case 38: - p.EnterOuterAlt(localctx, 38) - { - p.SetState(10776) - p.Match(PostgreSQLParserSUBSTRING) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + // Getter signatures + SEMI() antlr.TerminalNode - case 39: - p.EnterOuterAlt(localctx, 39) - { - p.SetState(10777) - p.Match(PostgreSQLParserTIME) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + // IsOpt_semiContext differentiates from other interfaces. + IsOpt_semiContext() +} - case 40: - p.EnterOuterAlt(localctx, 40) - { - p.SetState(10778) - p.Match(PostgreSQLParserTIMESTAMP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +type Opt_semiContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - case 41: - p.EnterOuterAlt(localctx, 41) - { - p.SetState(10779) - p.Match(PostgreSQLParserTREAT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func NewEmptyOpt_semiContext() *Opt_semiContext { + var p = new(Opt_semiContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_semi + return p +} - case 42: - p.EnterOuterAlt(localctx, 42) - { - p.SetState(10780) - p.Match(PostgreSQLParserTRIM) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func InitEmptyOpt_semiContext(p *Opt_semiContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_semi +} - case 43: - p.EnterOuterAlt(localctx, 43) - { - p.SetState(10781) - p.Match(PostgreSQLParserVALUES) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (*Opt_semiContext) IsOpt_semiContext() {} - case 44: - p.EnterOuterAlt(localctx, 44) - { - p.SetState(10782) - p.Match(PostgreSQLParserVARCHAR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func NewOpt_semiContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_semiContext { + var p = new(Opt_semiContext) - case 45: - p.EnterOuterAlt(localctx, 45) - { - p.SetState(10783) - p.Match(PostgreSQLParserXMLATTRIBUTES) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - case 46: - p.EnterOuterAlt(localctx, 46) - { - p.SetState(10784) - p.Match(PostgreSQLParserXMLCONCAT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_opt_semi - case 47: - p.EnterOuterAlt(localctx, 47) - { - p.SetState(10785) - p.Match(PostgreSQLParserXMLELEMENT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + return p +} - case 48: - p.EnterOuterAlt(localctx, 48) - { - p.SetState(10786) - p.Match(PostgreSQLParserXMLEXISTS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) GetParser() antlr.Parser { return s.parser } - case 49: - p.EnterOuterAlt(localctx, 49) - { - p.SetState(10787) - p.Match(PostgreSQLParserXMLFOREST) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} - case 50: - p.EnterOuterAlt(localctx, 50) - { - p.SetState(10788) - p.Match(PostgreSQLParserXMLNAMESPACES) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) GetRuleContext() antlr.RuleContext { + return s +} - case 51: - p.EnterOuterAlt(localctx, 51) - { - p.SetState(10789) - p.Match(PostgreSQLParserXMLPARSE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} - case 52: - p.EnterOuterAlt(localctx, 52) - { - p.SetState(10790) - p.Match(PostgreSQLParserXMLPI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterOpt_semi(s) + } +} - case 53: - p.EnterOuterAlt(localctx, 53) - { - p.SetState(10791) - p.Match(PostgreSQLParserXMLROOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitOpt_semi(s) + } +} - case 54: - p.EnterOuterAlt(localctx, 54) - { - p.SetState(10792) - p.Match(PostgreSQLParserXMLSERIALIZE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *Opt_semiContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitOpt_semi(s) - case 55: - p.EnterOuterAlt(localctx, 55) - { - p.SetState(10793) - p.Match(PostgreSQLParserXMLTABLE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + default: + return t.VisitChildren(s) + } +} - case 56: - p.EnterOuterAlt(localctx, 56) - { - p.SetState(10794) - p.Builtin_function_name() +func (p *PostgreSQLParser) Opt_semi() (localctx IOpt_semiContext) { + localctx = NewOpt_semiContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1452, PostgreSQLParserRULE_opt_semi) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10778) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case antlr.ATNInvalidAltNumber: - goto errorExit } errorExit: @@ -173431,202 +171696,402 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IType_func_name_keywordContext is an interface to support dynamic dispatch. -type IType_func_name_keywordContext interface { +// IPl_blockContext is an interface to support dynamic dispatch. +type IPl_blockContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AUTHORIZATION() antlr.TerminalNode - BINARY() antlr.TerminalNode - COLLATION() antlr.TerminalNode - CONCURRENTLY() antlr.TerminalNode - CROSS() antlr.TerminalNode - CURRENT_SCHEMA() antlr.TerminalNode - FREEZE() antlr.TerminalNode - FULL() antlr.TerminalNode - ILIKE() antlr.TerminalNode - INNER_P() antlr.TerminalNode - IS() antlr.TerminalNode - ISNULL() antlr.TerminalNode - JOIN() antlr.TerminalNode - LIKE() antlr.TerminalNode - NATURAL() antlr.TerminalNode - NOTNULL() antlr.TerminalNode - OUTER_P() antlr.TerminalNode - OVERLAPS() antlr.TerminalNode - SIMILAR() antlr.TerminalNode - TABLESAMPLE() antlr.TerminalNode - VERBOSE() antlr.TerminalNode + Decl_sect() IDecl_sectContext + BEGIN_P() antlr.TerminalNode + Proc_sect() IProc_sectContext + END_P() antlr.TerminalNode + Exception_sect() IException_sectContext + Opt_label() IOpt_labelContext - // IsType_func_name_keywordContext differentiates from other interfaces. - IsType_func_name_keywordContext() + // IsPl_blockContext differentiates from other interfaces. + IsPl_blockContext() } -type Type_func_name_keywordContext struct { +type Pl_blockContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyType_func_name_keywordContext() *Type_func_name_keywordContext { - var p = new(Type_func_name_keywordContext) +func NewEmptyPl_blockContext() *Pl_blockContext { + var p = new(Pl_blockContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_type_func_name_keyword + p.RuleIndex = PostgreSQLParserRULE_pl_block return p } -func InitEmptyType_func_name_keywordContext(p *Type_func_name_keywordContext) { +func InitEmptyPl_blockContext(p *Pl_blockContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_type_func_name_keyword + p.RuleIndex = PostgreSQLParserRULE_pl_block } -func (*Type_func_name_keywordContext) IsType_func_name_keywordContext() {} +func (*Pl_blockContext) IsPl_blockContext() {} -func NewType_func_name_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Type_func_name_keywordContext { - var p = new(Type_func_name_keywordContext) +func NewPl_blockContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Pl_blockContext { + var p = new(Pl_blockContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_type_func_name_keyword + p.RuleIndex = PostgreSQLParserRULE_pl_block return p } -func (s *Type_func_name_keywordContext) GetParser() antlr.Parser { return s.parser } +func (s *Pl_blockContext) GetParser() antlr.Parser { return s.parser } -func (s *Type_func_name_keywordContext) AUTHORIZATION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAUTHORIZATION, 0) -} +func (s *Pl_blockContext) Decl_sect() IDecl_sectContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_sectContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Type_func_name_keywordContext) BINARY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBINARY, 0) + if t == nil { + return nil + } + + return t.(IDecl_sectContext) } -func (s *Type_func_name_keywordContext) COLLATION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLLATION, 0) +func (s *Pl_blockContext) BEGIN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBEGIN_P, 0) } -func (s *Type_func_name_keywordContext) CONCURRENTLY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONCURRENTLY, 0) +func (s *Pl_blockContext) Proc_sect() IProc_sectContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProc_sectContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IProc_sectContext) } -func (s *Type_func_name_keywordContext) CROSS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCROSS, 0) +func (s *Pl_blockContext) END_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEND_P, 0) } -func (s *Type_func_name_keywordContext) CURRENT_SCHEMA() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_SCHEMA, 0) +func (s *Pl_blockContext) Exception_sect() IException_sectContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IException_sectContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IException_sectContext) } -func (s *Type_func_name_keywordContext) FREEZE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFREEZE, 0) +func (s *Pl_blockContext) Opt_label() IOpt_labelContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_labelContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_labelContext) } -func (s *Type_func_name_keywordContext) FULL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFULL, 0) +func (s *Pl_blockContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Type_func_name_keywordContext) ILIKE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserILIKE, 0) +func (s *Pl_blockContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Type_func_name_keywordContext) INNER_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINNER_P, 0) +func (s *Pl_blockContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterPl_block(s) + } } -func (s *Type_func_name_keywordContext) IS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIS, 0) +func (s *Pl_blockContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitPl_block(s) + } } -func (s *Type_func_name_keywordContext) ISNULL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserISNULL, 0) +func (s *Pl_blockContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitPl_block(s) + + default: + return t.VisitChildren(s) + } } -func (s *Type_func_name_keywordContext) JOIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJOIN, 0) +func (p *PostgreSQLParser) Pl_block() (localctx IPl_blockContext) { + localctx = NewPl_blockContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1454, PostgreSQLParserRULE_pl_block) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10780) + p.Decl_sect() + } + { + p.SetState(10781) + p.Match(PostgreSQLParserBEGIN_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10782) + p.Proc_sect() + } + p.SetState(10784) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserEXCEPTION { + { + p.SetState(10783) + p.Exception_sect() + } + + } + { + p.SetState(10786) + p.Match(PostgreSQLParserEND_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(10788) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { + { + p.SetState(10787) + p.Opt_label() + } + + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Type_func_name_keywordContext) LIKE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLIKE, 0) +// IDecl_sectContext is an interface to support dynamic dispatch. +type IDecl_sectContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + Opt_block_label() IOpt_block_labelContext + Decl_start() IDecl_startContext + Decl_stmts() IDecl_stmtsContext + + // IsDecl_sectContext differentiates from other interfaces. + IsDecl_sectContext() } -func (s *Type_func_name_keywordContext) NATURAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNATURAL, 0) +type Decl_sectContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Type_func_name_keywordContext) NOTNULL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOTNULL, 0) +func NewEmptyDecl_sectContext() *Decl_sectContext { + var p = new(Decl_sectContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_sect + return p } -func (s *Type_func_name_keywordContext) OUTER_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOUTER_P, 0) +func InitEmptyDecl_sectContext(p *Decl_sectContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_sect } -func (s *Type_func_name_keywordContext) OVERLAPS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOVERLAPS, 0) +func (*Decl_sectContext) IsDecl_sectContext() {} + +func NewDecl_sectContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_sectContext { + var p = new(Decl_sectContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_sect + + return p } -func (s *Type_func_name_keywordContext) SIMILAR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSIMILAR, 0) +func (s *Decl_sectContext) GetParser() antlr.Parser { return s.parser } + +func (s *Decl_sectContext) Opt_block_label() IOpt_block_labelContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_block_labelContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_block_labelContext) } -func (s *Type_func_name_keywordContext) TABLESAMPLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTABLESAMPLE, 0) +func (s *Decl_sectContext) Decl_start() IDecl_startContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_startContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDecl_startContext) } -func (s *Type_func_name_keywordContext) VERBOSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVERBOSE, 0) +func (s *Decl_sectContext) Decl_stmts() IDecl_stmtsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_stmtsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDecl_stmtsContext) } -func (s *Type_func_name_keywordContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_sectContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Type_func_name_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_sectContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Type_func_name_keywordContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_sectContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterType_func_name_keyword(s) + listenerT.EnterDecl_sect(s) } } -func (s *Type_func_name_keywordContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_sectContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitType_func_name_keyword(s) + listenerT.ExitDecl_sect(s) } } -func (s *Type_func_name_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_sectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitType_func_name_keyword(s) + return t.VisitDecl_sect(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Type_func_name_keyword() (localctx IType_func_name_keywordContext) { - localctx = NewType_func_name_keywordContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1444, PostgreSQLParserRULE_type_func_name_keyword) +func (p *PostgreSQLParser) Decl_sect() (localctx IDecl_sectContext) { + localctx = NewDecl_sectContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1456, PostgreSQLParserRULE_decl_sect) var _la int p.EnterOuterAlt(localctx, 1) - { - p.SetState(10797) - _la = p.GetTokenStream().LA(1) + p.SetState(10791) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - if !(((int64((_la-125)) & ^0x3f) == 0 && ((int64(1)<<(_la-125))&7069695) != 0) || _la == PostgreSQLParserTABLESAMPLE) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + if _la == PostgreSQLParserLESS_LESS { + { + p.SetState(10790) + p.Opt_block_label() + } + + } + p.SetState(10797) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserDECLARE { + { + p.SetState(10793) + p.Decl_start() + } + p.SetState(10795) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1059, p.GetParserRuleContext()) == 1 { + { + p.SetState(10794) + p.Decl_stmts() + } + + } else if p.HasError() { // JIM + goto errorExit } + } errorExit: @@ -173642,472 +172107,567 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IReserved_keywordContext is an interface to support dynamic dispatch. -type IReserved_keywordContext interface { +// IDecl_startContext is an interface to support dynamic dispatch. +type IDecl_startContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ALL() antlr.TerminalNode - ANALYSE() antlr.TerminalNode - ANALYZE() antlr.TerminalNode - AND() antlr.TerminalNode - ANY() antlr.TerminalNode - ARRAY() antlr.TerminalNode - AS() antlr.TerminalNode - ASC() antlr.TerminalNode - ASYMMETRIC() antlr.TerminalNode - BOTH() antlr.TerminalNode - CASE() antlr.TerminalNode - CAST() antlr.TerminalNode - CHECK() antlr.TerminalNode - COLLATE() antlr.TerminalNode - COLUMN() antlr.TerminalNode - CONSTRAINT() antlr.TerminalNode - CREATE() antlr.TerminalNode - CURRENT_CATALOG() antlr.TerminalNode - CURRENT_DATE() antlr.TerminalNode - CURRENT_ROLE() antlr.TerminalNode - CURRENT_TIME() antlr.TerminalNode - CURRENT_TIMESTAMP() antlr.TerminalNode - CURRENT_USER() antlr.TerminalNode - DEFERRABLE() antlr.TerminalNode - DESC() antlr.TerminalNode - DISTINCT() antlr.TerminalNode - DO() antlr.TerminalNode - ELSE() antlr.TerminalNode - END_P() antlr.TerminalNode - EXCEPT() antlr.TerminalNode - FALSE_P() antlr.TerminalNode - FETCH() antlr.TerminalNode - FOR() antlr.TerminalNode - FOREIGN() antlr.TerminalNode - FROM() antlr.TerminalNode - GRANT() antlr.TerminalNode - GROUP_P() antlr.TerminalNode - HAVING() antlr.TerminalNode - IN_P() antlr.TerminalNode - INITIALLY() antlr.TerminalNode - INTERSECT() antlr.TerminalNode - LATERAL_P() antlr.TerminalNode - LEADING() antlr.TerminalNode - LIMIT() antlr.TerminalNode - LOCALTIME() antlr.TerminalNode - LOCALTIMESTAMP() antlr.TerminalNode - NOT() antlr.TerminalNode - NULL_P() antlr.TerminalNode - OFFSET() antlr.TerminalNode - ON() antlr.TerminalNode - ONLY() antlr.TerminalNode - OR() antlr.TerminalNode - ORDER() antlr.TerminalNode - PLACING() antlr.TerminalNode - PRIMARY() antlr.TerminalNode - REFERENCES() antlr.TerminalNode - RETURNING() antlr.TerminalNode - SELECT() antlr.TerminalNode - SESSION_USER() antlr.TerminalNode - SOME() antlr.TerminalNode - SYMMETRIC() antlr.TerminalNode - TABLE() antlr.TerminalNode - THEN() antlr.TerminalNode - TO() antlr.TerminalNode - TRAILING() antlr.TerminalNode - TRUE_P() antlr.TerminalNode - UNION() antlr.TerminalNode - UNIQUE() antlr.TerminalNode - USER() antlr.TerminalNode - USING() antlr.TerminalNode - VARIADIC() antlr.TerminalNode - WHEN() antlr.TerminalNode - WHERE() antlr.TerminalNode - WINDOW() antlr.TerminalNode - WITH() antlr.TerminalNode + DECLARE() antlr.TerminalNode - // IsReserved_keywordContext differentiates from other interfaces. - IsReserved_keywordContext() + // IsDecl_startContext differentiates from other interfaces. + IsDecl_startContext() } -type Reserved_keywordContext struct { +type Decl_startContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyReserved_keywordContext() *Reserved_keywordContext { - var p = new(Reserved_keywordContext) +func NewEmptyDecl_startContext() *Decl_startContext { + var p = new(Decl_startContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_reserved_keyword + p.RuleIndex = PostgreSQLParserRULE_decl_start return p } -func InitEmptyReserved_keywordContext(p *Reserved_keywordContext) { +func InitEmptyDecl_startContext(p *Decl_startContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_reserved_keyword + p.RuleIndex = PostgreSQLParserRULE_decl_start } -func (*Reserved_keywordContext) IsReserved_keywordContext() {} +func (*Decl_startContext) IsDecl_startContext() {} -func NewReserved_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Reserved_keywordContext { - var p = new(Reserved_keywordContext) +func NewDecl_startContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_startContext { + var p = new(Decl_startContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_reserved_keyword + p.RuleIndex = PostgreSQLParserRULE_decl_start return p } -func (s *Reserved_keywordContext) GetParser() antlr.Parser { return s.parser } +func (s *Decl_startContext) GetParser() antlr.Parser { return s.parser } -func (s *Reserved_keywordContext) ALL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALL, 0) +func (s *Decl_startContext) DECLARE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDECLARE, 0) } -func (s *Reserved_keywordContext) ANALYSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserANALYSE, 0) +func (s *Decl_startContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Reserved_keywordContext) ANALYZE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserANALYZE, 0) +func (s *Decl_startContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Reserved_keywordContext) AND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAND, 0) +func (s *Decl_startContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterDecl_start(s) + } } -func (s *Reserved_keywordContext) ANY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserANY, 0) +func (s *Decl_startContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitDecl_start(s) + } } -func (s *Reserved_keywordContext) ARRAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserARRAY, 0) -} +func (s *Decl_startContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitDecl_start(s) -func (s *Reserved_keywordContext) AS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAS, 0) + default: + return t.VisitChildren(s) + } } -func (s *Reserved_keywordContext) ASC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASC, 0) -} +func (p *PostgreSQLParser) Decl_start() (localctx IDecl_startContext) { + localctx = NewDecl_startContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1458, PostgreSQLParserRULE_decl_start) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10799) + p.Match(PostgreSQLParserDECLARE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Reserved_keywordContext) ASYMMETRIC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASYMMETRIC, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Reserved_keywordContext) BOTH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBOTH, 0) -} +// IDecl_stmtsContext is an interface to support dynamic dispatch. +type IDecl_stmtsContext interface { + antlr.ParserRuleContext -func (s *Reserved_keywordContext) CASE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCASE, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Reserved_keywordContext) CAST() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCAST, 0) -} + // Getter signatures + AllDecl_stmt() []IDecl_stmtContext + Decl_stmt(i int) IDecl_stmtContext -func (s *Reserved_keywordContext) CHECK() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHECK, 0) + // IsDecl_stmtsContext differentiates from other interfaces. + IsDecl_stmtsContext() } -func (s *Reserved_keywordContext) COLLATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLLATE, 0) +type Decl_stmtsContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Reserved_keywordContext) COLUMN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLUMN, 0) +func NewEmptyDecl_stmtsContext() *Decl_stmtsContext { + var p = new(Decl_stmtsContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_stmts + return p } -func (s *Reserved_keywordContext) CONSTRAINT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONSTRAINT, 0) +func InitEmptyDecl_stmtsContext(p *Decl_stmtsContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_stmts } -func (s *Reserved_keywordContext) CREATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCREATE, 0) -} +func (*Decl_stmtsContext) IsDecl_stmtsContext() {} -func (s *Reserved_keywordContext) CURRENT_CATALOG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_CATALOG, 0) -} +func NewDecl_stmtsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_stmtsContext { + var p = new(Decl_stmtsContext) -func (s *Reserved_keywordContext) CURRENT_DATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_DATE, 0) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *Reserved_keywordContext) CURRENT_ROLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_ROLE, 0) -} + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_stmts -func (s *Reserved_keywordContext) CURRENT_TIME() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_TIME, 0) + return p } -func (s *Reserved_keywordContext) CURRENT_TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_TIMESTAMP, 0) -} +func (s *Decl_stmtsContext) GetParser() antlr.Parser { return s.parser } -func (s *Reserved_keywordContext) CURRENT_USER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_USER, 0) -} +func (s *Decl_stmtsContext) AllDecl_stmt() []IDecl_stmtContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IDecl_stmtContext); ok { + len++ + } + } -func (s *Reserved_keywordContext) DEFERRABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFERRABLE, 0) -} + tst := make([]IDecl_stmtContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IDecl_stmtContext); ok { + tst[i] = t.(IDecl_stmtContext) + i++ + } + } -func (s *Reserved_keywordContext) DESC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDESC, 0) + return tst } -func (s *Reserved_keywordContext) DISTINCT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDISTINCT, 0) -} +func (s *Decl_stmtsContext) Decl_stmt(i int) IDecl_stmtContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_stmtContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } -func (s *Reserved_keywordContext) DO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDO, 0) -} + if t == nil { + return nil + } -func (s *Reserved_keywordContext) ELSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserELSE, 0) + return t.(IDecl_stmtContext) } -func (s *Reserved_keywordContext) END_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEND_P, 0) +func (s *Decl_stmtsContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Reserved_keywordContext) EXCEPT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCEPT, 0) +func (s *Decl_stmtsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Reserved_keywordContext) FALSE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFALSE_P, 0) +func (s *Decl_stmtsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterDecl_stmts(s) + } } -func (s *Reserved_keywordContext) FETCH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFETCH, 0) +func (s *Decl_stmtsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitDecl_stmts(s) + } } -func (s *Reserved_keywordContext) FOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOR, 0) -} +func (s *Decl_stmtsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitDecl_stmts(s) -func (s *Reserved_keywordContext) FOREIGN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOREIGN, 0) + default: + return t.VisitChildren(s) + } } -func (s *Reserved_keywordContext) FROM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFROM, 0) -} +func (p *PostgreSQLParser) Decl_stmts() (localctx IDecl_stmtsContext) { + localctx = NewDecl_stmtsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1460, PostgreSQLParserRULE_decl_stmts) + var _alt int -func (s *Reserved_keywordContext) GRANT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGRANT, 0) -} + p.EnterOuterAlt(localctx, 1) + p.SetState(10802) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = 1 + for ok := true; ok; ok = _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + switch _alt { + case 1: + { + p.SetState(10801) + p.Decl_stmt() + } -func (s *Reserved_keywordContext) GROUP_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGROUP_P, 0) -} + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } -func (s *Reserved_keywordContext) HAVING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserHAVING, 0) -} + p.SetState(10804) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1061, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + } -func (s *Reserved_keywordContext) IN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIN_P, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Reserved_keywordContext) INITIALLY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINITIALLY, 0) -} +// ILabel_declContext is an interface to support dynamic dispatch. +type ILabel_declContext interface { + antlr.ParserRuleContext -func (s *Reserved_keywordContext) INTERSECT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINTERSECT, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Reserved_keywordContext) LATERAL_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLATERAL_P, 0) -} + // Getter signatures + LESS_LESS() antlr.TerminalNode + Any_identifier() IAny_identifierContext + GREATER_GREATER() antlr.TerminalNode -func (s *Reserved_keywordContext) LEADING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLEADING, 0) + // IsLabel_declContext differentiates from other interfaces. + IsLabel_declContext() } -func (s *Reserved_keywordContext) LIMIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLIMIT, 0) +type Label_declContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Reserved_keywordContext) LOCALTIME() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOCALTIME, 0) +func NewEmptyLabel_declContext() *Label_declContext { + var p = new(Label_declContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_label_decl + return p } -func (s *Reserved_keywordContext) LOCALTIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOCALTIMESTAMP, 0) +func InitEmptyLabel_declContext(p *Label_declContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_label_decl } -func (s *Reserved_keywordContext) NOT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOT, 0) -} +func (*Label_declContext) IsLabel_declContext() {} -func (s *Reserved_keywordContext) NULL_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNULL_P, 0) -} +func NewLabel_declContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Label_declContext { + var p = new(Label_declContext) -func (s *Reserved_keywordContext) OFFSET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOFFSET, 0) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *Reserved_keywordContext) ON() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserON, 0) -} + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_label_decl -func (s *Reserved_keywordContext) ONLY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserONLY, 0) + return p } -func (s *Reserved_keywordContext) OR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOR, 0) -} +func (s *Label_declContext) GetParser() antlr.Parser { return s.parser } -func (s *Reserved_keywordContext) ORDER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserORDER, 0) +func (s *Label_declContext) LESS_LESS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLESS_LESS, 0) } -func (s *Reserved_keywordContext) PLACING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPLACING, 0) -} +func (s *Label_declContext) Any_identifier() IAny_identifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAny_identifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Reserved_keywordContext) PRIMARY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRIMARY, 0) -} + if t == nil { + return nil + } -func (s *Reserved_keywordContext) REFERENCES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREFERENCES, 0) + return t.(IAny_identifierContext) } -func (s *Reserved_keywordContext) RETURNING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRETURNING, 0) +func (s *Label_declContext) GREATER_GREATER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGREATER_GREATER, 0) } -func (s *Reserved_keywordContext) SELECT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSELECT, 0) +func (s *Label_declContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Reserved_keywordContext) SESSION_USER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSESSION_USER, 0) +func (s *Label_declContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Reserved_keywordContext) SOME() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSOME, 0) +func (s *Label_declContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterLabel_decl(s) + } } -func (s *Reserved_keywordContext) SYMMETRIC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSYMMETRIC, 0) +func (s *Label_declContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitLabel_decl(s) + } } -func (s *Reserved_keywordContext) TABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTABLE, 0) -} +func (s *Label_declContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitLabel_decl(s) -func (s *Reserved_keywordContext) THEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTHEN, 0) + default: + return t.VisitChildren(s) + } } -func (s *Reserved_keywordContext) TO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO, 0) -} +func (p *PostgreSQLParser) Label_decl() (localctx ILabel_declContext) { + localctx = NewLabel_declContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1462, PostgreSQLParserRULE_label_decl) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10806) + p.Match(PostgreSQLParserLESS_LESS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10807) + p.Any_identifier() + } + { + p.SetState(10808) + p.Match(PostgreSQLParserGREATER_GREATER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Reserved_keywordContext) TRAILING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRAILING, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Reserved_keywordContext) TRUE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRUE_P, 0) -} +// IDecl_stmtContext is an interface to support dynamic dispatch. +type IDecl_stmtContext interface { + antlr.ParserRuleContext -func (s *Reserved_keywordContext) UNION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNION, 0) + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + Decl_statement() IDecl_statementContext + DECLARE() antlr.TerminalNode + Label_decl() ILabel_declContext + + // IsDecl_stmtContext differentiates from other interfaces. + IsDecl_stmtContext() } -func (s *Reserved_keywordContext) UNIQUE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNIQUE, 0) +type Decl_stmtContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Reserved_keywordContext) USER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSER, 0) +func NewEmptyDecl_stmtContext() *Decl_stmtContext { + var p = new(Decl_stmtContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_stmt + return p } -func (s *Reserved_keywordContext) USING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSING, 0) +func InitEmptyDecl_stmtContext(p *Decl_stmtContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_stmt } -func (s *Reserved_keywordContext) VARIADIC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVARIADIC, 0) +func (*Decl_stmtContext) IsDecl_stmtContext() {} + +func NewDecl_stmtContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_stmtContext { + var p = new(Decl_stmtContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_stmt + + return p } -func (s *Reserved_keywordContext) WHEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHEN, 0) +func (s *Decl_stmtContext) GetParser() antlr.Parser { return s.parser } + +func (s *Decl_stmtContext) Decl_statement() IDecl_statementContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_statementContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDecl_statementContext) } -func (s *Reserved_keywordContext) WHERE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHERE, 0) +func (s *Decl_stmtContext) DECLARE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDECLARE, 0) } -func (s *Reserved_keywordContext) WINDOW() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWINDOW, 0) -} +func (s *Decl_stmtContext) Label_decl() ILabel_declContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILabel_declContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Reserved_keywordContext) WITH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWITH, 0) + if t == nil { + return nil + } + + return t.(ILabel_declContext) } -func (s *Reserved_keywordContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_stmtContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Reserved_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_stmtContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Reserved_keywordContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_stmtContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterReserved_keyword(s) + listenerT.EnterDecl_stmt(s) } } -func (s *Reserved_keywordContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_stmtContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitReserved_keyword(s) + listenerT.ExitDecl_stmt(s) } } -func (s *Reserved_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_stmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitReserved_keyword(s) + return t.VisitDecl_stmt(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Reserved_keyword() (localctx IReserved_keywordContext) { - localctx = NewReserved_keywordContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1446, PostgreSQLParserRULE_reserved_keyword) - var _la int +func (p *PostgreSQLParser) Decl_stmt() (localctx IDecl_stmtContext) { + localctx = NewDecl_stmtContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1464, PostgreSQLParserRULE_decl_stmt) + p.SetState(10813) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10799) - _la = p.GetTokenStream().LA(1) + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1062, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10810) + p.Decl_statement() + } - if !(((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007200328482816) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&4398046510975) != 0) || _la == PostgreSQLParserEND_P) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(10811) + p.Match(PostgreSQLParserDECLARE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 3: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(10812) + p.Label_decl() } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -174123,727 +172683,1020 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IBuiltin_function_nameContext is an interface to support dynamic dispatch. -type IBuiltin_function_nameContext interface { +// IDecl_statementContext is an interface to support dynamic dispatch. +type IDecl_statementContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - XMLCOMMENT() antlr.TerminalNode - XML_IS_WELL_FORMED() antlr.TerminalNode - XML_IS_WELL_FORMED_DOCUMENT() antlr.TerminalNode - XML_IS_WELL_FORMED_CONTENT() antlr.TerminalNode - XMLAGG() antlr.TerminalNode - XPATH() antlr.TerminalNode - XPATH_EXISTS() antlr.TerminalNode - ABS() antlr.TerminalNode - CBRT() antlr.TerminalNode - CEIL() antlr.TerminalNode - CEILING() antlr.TerminalNode - DEGREES() antlr.TerminalNode - DIV() antlr.TerminalNode - EXP() antlr.TerminalNode - ENCODE() antlr.TerminalNode - FACTORIAL() antlr.TerminalNode - FLOOR() antlr.TerminalNode - GCD() antlr.TerminalNode - LCM() antlr.TerminalNode - LN() antlr.TerminalNode - LOG() antlr.TerminalNode - LOG10() antlr.TerminalNode - MIN_SCALE() antlr.TerminalNode - MOD() antlr.TerminalNode - PI() antlr.TerminalNode - POWER() antlr.TerminalNode - RADIANS() antlr.TerminalNode - ROUND() antlr.TerminalNode - SCALE() antlr.TerminalNode - SIGN() antlr.TerminalNode - SQRT() antlr.TerminalNode - TRIM_SCALE() antlr.TerminalNode - TRUNC() antlr.TerminalNode - WIDTH_BUCKET() antlr.TerminalNode - RANDOM() antlr.TerminalNode - SETSEED() antlr.TerminalNode - ACOS() antlr.TerminalNode - ACOSD() antlr.TerminalNode - ACOSH() antlr.TerminalNode - ASIN() antlr.TerminalNode - ASIND() antlr.TerminalNode - ASINH() antlr.TerminalNode - ATAN() antlr.TerminalNode - ATAND() antlr.TerminalNode - ATANH() antlr.TerminalNode - ATAN2() antlr.TerminalNode - ATAN2D() antlr.TerminalNode - COS() antlr.TerminalNode - COSD() antlr.TerminalNode - COSH() antlr.TerminalNode - COT() antlr.TerminalNode - COTD() antlr.TerminalNode - SIN() antlr.TerminalNode - SIND() antlr.TerminalNode - SINH() antlr.TerminalNode - TAN() antlr.TerminalNode - TAND() antlr.TerminalNode - TANH() antlr.TerminalNode - BIT_LENGTH() antlr.TerminalNode - CHAR_LENGTH() antlr.TerminalNode - CHARACTER_LENGTH() antlr.TerminalNode - LOWER() antlr.TerminalNode - OCTET_LENGTH() antlr.TerminalNode - UPPER() antlr.TerminalNode - ASCII() antlr.TerminalNode - BTRIM() antlr.TerminalNode - CHR() antlr.TerminalNode - CONCAT() antlr.TerminalNode - CONCAT_WS() antlr.TerminalNode - FORMAT() antlr.TerminalNode - INITCAP() antlr.TerminalNode - LENGTH() antlr.TerminalNode - LPAD() antlr.TerminalNode - LTRIM() antlr.TerminalNode - MD5() antlr.TerminalNode - PARSE_IDENT() antlr.TerminalNode - PG_CLIENT_ENCODING() antlr.TerminalNode - QUOTE_IDENT() antlr.TerminalNode - QUOTE_LITERAL() antlr.TerminalNode - QUOTE_NULLABLE() antlr.TerminalNode - REGEXP_COUNT() antlr.TerminalNode - REGEXP_INSTR() antlr.TerminalNode - REGEXP_LIKE() antlr.TerminalNode - REGEXP_MATCH() antlr.TerminalNode - REGEXP_MATCHES() antlr.TerminalNode - REGEXP_REPLACE() antlr.TerminalNode - REGEXP_SPLIT_TO_ARRAY() antlr.TerminalNode - REGEXP_SPLIT_TO_TABLE() antlr.TerminalNode - REGEXP_SUBSTR() antlr.TerminalNode - REPEAT() antlr.TerminalNode - REPLACE() antlr.TerminalNode - REVERSE() antlr.TerminalNode - RPAD() antlr.TerminalNode - RTRIM() antlr.TerminalNode - SPLIT_PART() antlr.TerminalNode - STARTS_WITH() antlr.TerminalNode - STRING_TO_ARRAY() antlr.TerminalNode - STRING_TO_TABLE() antlr.TerminalNode - STRPOS() antlr.TerminalNode - SUBSTR() antlr.TerminalNode - TO_ASCII() antlr.TerminalNode - TO_HEX() antlr.TerminalNode - TRANSLATE() antlr.TerminalNode - UNISTR() antlr.TerminalNode - AGE() antlr.TerminalNode - DATE_BIN() antlr.TerminalNode - DATE_PART() antlr.TerminalNode - DATE_TRUNC() antlr.TerminalNode - ISFINITE() antlr.TerminalNode - JUSTIFY_DAYS() antlr.TerminalNode - JUSTIFY_HOURS() antlr.TerminalNode - JUSTIFY_INTERVAL() antlr.TerminalNode - MAKE_DATE() antlr.TerminalNode - MAKE_INTERVAL() antlr.TerminalNode - MAKE_TIME() antlr.TerminalNode - MAKE_TIMESTAMP() antlr.TerminalNode - MAKE_TIMESTAMPTZ() antlr.TerminalNode - CLOCK_TIMESTAMP() antlr.TerminalNode - NOW() antlr.TerminalNode - STATEMENT_TIMESTAMP() antlr.TerminalNode - TIMEOFDAY() antlr.TerminalNode - TRANSACTION_TIMESTAMP() antlr.TerminalNode - TO_TIMESTAMP() antlr.TerminalNode - TO_CHAR() antlr.TerminalNode - TO_DATE() antlr.TerminalNode - TO_NUMBER() antlr.TerminalNode + Decl_varname() IDecl_varnameContext + SEMI() antlr.TerminalNode + ALIAS() antlr.TerminalNode + FOR() antlr.TerminalNode + Decl_aliasitem() IDecl_aliasitemContext + Decl_datatype() IDecl_datatypeContext + CURSOR() antlr.TerminalNode + Decl_is_for() IDecl_is_forContext + Decl_cursor_query() IDecl_cursor_queryContext + Decl_const() IDecl_constContext + Decl_collate() IDecl_collateContext + Decl_notnull() IDecl_notnullContext + Decl_defval() IDecl_defvalContext + Opt_scrollable() IOpt_scrollableContext + Decl_cursor_args() IDecl_cursor_argsContext - // IsBuiltin_function_nameContext differentiates from other interfaces. - IsBuiltin_function_nameContext() + // IsDecl_statementContext differentiates from other interfaces. + IsDecl_statementContext() } -type Builtin_function_nameContext struct { +type Decl_statementContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyBuiltin_function_nameContext() *Builtin_function_nameContext { - var p = new(Builtin_function_nameContext) +func NewEmptyDecl_statementContext() *Decl_statementContext { + var p = new(Decl_statementContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_builtin_function_name + p.RuleIndex = PostgreSQLParserRULE_decl_statement return p } -func InitEmptyBuiltin_function_nameContext(p *Builtin_function_nameContext) { +func InitEmptyDecl_statementContext(p *Decl_statementContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_builtin_function_name + p.RuleIndex = PostgreSQLParserRULE_decl_statement } -func (*Builtin_function_nameContext) IsBuiltin_function_nameContext() {} +func (*Decl_statementContext) IsDecl_statementContext() {} -func NewBuiltin_function_nameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Builtin_function_nameContext { - var p = new(Builtin_function_nameContext) +func NewDecl_statementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_statementContext { + var p = new(Decl_statementContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_builtin_function_name + p.RuleIndex = PostgreSQLParserRULE_decl_statement return p } -func (s *Builtin_function_nameContext) GetParser() antlr.Parser { return s.parser } +func (s *Decl_statementContext) GetParser() antlr.Parser { return s.parser } -func (s *Builtin_function_nameContext) XMLCOMMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLCOMMENT, 0) -} +func (s *Decl_statementContext) Decl_varname() IDecl_varnameContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_varnameContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) XML_IS_WELL_FORMED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXML_IS_WELL_FORMED, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) XML_IS_WELL_FORMED_DOCUMENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, 0) + return t.(IDecl_varnameContext) } -func (s *Builtin_function_nameContext) XML_IS_WELL_FORMED_CONTENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, 0) +func (s *Decl_statementContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Builtin_function_nameContext) XMLAGG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXMLAGG, 0) +func (s *Decl_statementContext) ALIAS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALIAS, 0) } -func (s *Builtin_function_nameContext) XPATH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXPATH, 0) +func (s *Decl_statementContext) FOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOR, 0) } -func (s *Builtin_function_nameContext) XPATH_EXISTS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserXPATH_EXISTS, 0) -} +func (s *Decl_statementContext) Decl_aliasitem() IDecl_aliasitemContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_aliasitemContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) ABS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserABS, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) CBRT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCBRT, 0) + return t.(IDecl_aliasitemContext) } -func (s *Builtin_function_nameContext) CEIL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCEIL, 0) -} +func (s *Decl_statementContext) Decl_datatype() IDecl_datatypeContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_datatypeContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) CEILING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCEILING, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) DEGREES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEGREES, 0) + return t.(IDecl_datatypeContext) } -func (s *Builtin_function_nameContext) DIV() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDIV, 0) +func (s *Decl_statementContext) CURSOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURSOR, 0) } -func (s *Builtin_function_nameContext) EXP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXP, 0) -} +func (s *Decl_statementContext) Decl_is_for() IDecl_is_forContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_is_forContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) ENCODE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserENCODE, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) FACTORIAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFACTORIAL, 0) + return t.(IDecl_is_forContext) } -func (s *Builtin_function_nameContext) FLOOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFLOOR, 0) -} +func (s *Decl_statementContext) Decl_cursor_query() IDecl_cursor_queryContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_cursor_queryContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) GCD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGCD, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) LCM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLCM, 0) + return t.(IDecl_cursor_queryContext) } -func (s *Builtin_function_nameContext) LN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLN, 0) -} +func (s *Decl_statementContext) Decl_const() IDecl_constContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_constContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) LOG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOG, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) LOG10() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOG10, 0) + return t.(IDecl_constContext) } -func (s *Builtin_function_nameContext) MIN_SCALE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMIN_SCALE, 0) -} +func (s *Decl_statementContext) Decl_collate() IDecl_collateContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_collateContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) MOD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMOD, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) PI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPI, 0) + return t.(IDecl_collateContext) } -func (s *Builtin_function_nameContext) POWER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPOWER, 0) -} +func (s *Decl_statementContext) Decl_notnull() IDecl_notnullContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_notnullContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) RADIANS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRADIANS, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) ROUND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROUND, 0) + return t.(IDecl_notnullContext) } -func (s *Builtin_function_nameContext) SCALE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCALE, 0) -} +func (s *Decl_statementContext) Decl_defval() IDecl_defvalContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_defvalContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) SIGN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSIGN, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) SQRT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSQRT, 0) + return t.(IDecl_defvalContext) } -func (s *Builtin_function_nameContext) TRIM_SCALE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRIM_SCALE, 0) -} +func (s *Decl_statementContext) Opt_scrollable() IOpt_scrollableContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_scrollableContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) TRUNC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRUNC, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) WIDTH_BUCKET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWIDTH_BUCKET, 0) + return t.(IOpt_scrollableContext) } -func (s *Builtin_function_nameContext) RANDOM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRANDOM, 0) -} +func (s *Decl_statementContext) Decl_cursor_args() IDecl_cursor_argsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_cursor_argsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Builtin_function_nameContext) SETSEED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSETSEED, 0) -} + if t == nil { + return nil + } -func (s *Builtin_function_nameContext) ACOS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserACOS, 0) + return t.(IDecl_cursor_argsContext) } -func (s *Builtin_function_nameContext) ACOSD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserACOSD, 0) +func (s *Decl_statementContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Builtin_function_nameContext) ACOSH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserACOSH, 0) +func (s *Decl_statementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Builtin_function_nameContext) ASIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASIN, 0) +func (s *Decl_statementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterDecl_statement(s) + } } -func (s *Builtin_function_nameContext) ASIND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASIND, 0) +func (s *Decl_statementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitDecl_statement(s) + } } -func (s *Builtin_function_nameContext) ASINH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASINH, 0) -} +func (s *Decl_statementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitDecl_statement(s) -func (s *Builtin_function_nameContext) ATAN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATAN, 0) + default: + return t.VisitChildren(s) + } } -func (s *Builtin_function_nameContext) ATAND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATAND, 0) -} +func (p *PostgreSQLParser) Decl_statement() (localctx IDecl_statementContext) { + localctx = NewDecl_statementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1466, PostgreSQLParserRULE_decl_statement) + var _la int -func (s *Builtin_function_nameContext) ATANH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATANH, 0) -} + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10815) + p.Decl_varname() + } + p.SetState(10842) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } -func (s *Builtin_function_nameContext) ATAN2() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATAN2, 0) -} + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1069, p.GetParserRuleContext()) { + case 1: + { + p.SetState(10816) + p.Match(PostgreSQLParserALIAS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10817) + p.Match(PostgreSQLParserFOR) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10818) + p.Decl_aliasitem() + } -func (s *Builtin_function_nameContext) ATAN2D() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserATAN2D, 0) -} + case 2: + p.SetState(10820) + p.GetErrorHandler().Sync(p) -func (s *Builtin_function_nameContext) COS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOS, 0) -} + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1063, p.GetParserRuleContext()) == 1 { + { + p.SetState(10819) + p.Decl_const() + } -func (s *Builtin_function_nameContext) COSD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOSD, 0) -} + } else if p.HasError() { // JIM + goto errorExit + } + { + p.SetState(10822) + p.Decl_datatype() + } + p.SetState(10824) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Builtin_function_nameContext) COSH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOSH, 0) -} + if _la == PostgreSQLParserCOLLATE { + { + p.SetState(10823) + p.Decl_collate() + } -func (s *Builtin_function_nameContext) COT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOT, 0) -} + } + p.SetState(10827) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Builtin_function_nameContext) COTD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOTD, 0) -} + if _la == PostgreSQLParserNOT { + { + p.SetState(10826) + p.Decl_notnull() + } -func (s *Builtin_function_nameContext) SIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSIN, 0) -} + } + p.SetState(10830) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Builtin_function_nameContext) SIND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSIND, 0) -} + if _la == PostgreSQLParserDEFAULT || _la == PostgreSQLParserEQUAL || _la == PostgreSQLParserCOLON_EQUALS { + { + p.SetState(10829) + p.Decl_defval() + } -func (s *Builtin_function_nameContext) SINH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSINH, 0) -} + } -func (s *Builtin_function_nameContext) TAN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTAN, 0) -} + case 3: + p.SetState(10833) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Builtin_function_nameContext) TAND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTAND, 0) -} + if _la == PostgreSQLParserNO || _la == PostgreSQLParserSCROLL { + { + p.SetState(10832) + p.Opt_scrollable() + } -func (s *Builtin_function_nameContext) TANH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTANH, 0) -} + } + { + p.SetState(10835) + p.Match(PostgreSQLParserCURSOR) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(10837) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *Builtin_function_nameContext) BIT_LENGTH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBIT_LENGTH, 0) -} + if _la == PostgreSQLParserOPEN_PAREN { + { + p.SetState(10836) + p.Decl_cursor_args() + } -func (s *Builtin_function_nameContext) CHAR_LENGTH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHAR_LENGTH, 0) -} + } + { + p.SetState(10839) + p.Decl_is_for() + } + { + p.SetState(10840) + p.Decl_cursor_query() + } -func (s *Builtin_function_nameContext) CHARACTER_LENGTH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHARACTER_LENGTH, 0) -} + case antlr.ATNInvalidAltNumber: + goto errorExit + } + { + p.SetState(10844) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Builtin_function_nameContext) LOWER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOWER, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Builtin_function_nameContext) OCTET_LENGTH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOCTET_LENGTH, 0) -} +// IOpt_scrollableContext is an interface to support dynamic dispatch. +type IOpt_scrollableContext interface { + antlr.ParserRuleContext -func (s *Builtin_function_nameContext) UPPER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUPPER, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Builtin_function_nameContext) ASCII() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASCII, 0) -} + // Getter signatures + NO() antlr.TerminalNode + SCROLL() antlr.TerminalNode -func (s *Builtin_function_nameContext) BTRIM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBTRIM, 0) + // IsOpt_scrollableContext differentiates from other interfaces. + IsOpt_scrollableContext() } -func (s *Builtin_function_nameContext) CHR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHR, 0) +type Opt_scrollableContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Builtin_function_nameContext) CONCAT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONCAT, 0) +func NewEmptyOpt_scrollableContext() *Opt_scrollableContext { + var p = new(Opt_scrollableContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_scrollable + return p } -func (s *Builtin_function_nameContext) CONCAT_WS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONCAT_WS, 0) +func InitEmptyOpt_scrollableContext(p *Opt_scrollableContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_scrollable } -func (s *Builtin_function_nameContext) FORMAT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFORMAT, 0) -} +func (*Opt_scrollableContext) IsOpt_scrollableContext() {} -func (s *Builtin_function_nameContext) INITCAP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINITCAP, 0) -} +func NewOpt_scrollableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_scrollableContext { + var p = new(Opt_scrollableContext) -func (s *Builtin_function_nameContext) LENGTH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLENGTH, 0) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *Builtin_function_nameContext) LPAD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLPAD, 0) -} + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_opt_scrollable -func (s *Builtin_function_nameContext) LTRIM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLTRIM, 0) + return p } -func (s *Builtin_function_nameContext) MD5() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMD5, 0) -} +func (s *Opt_scrollableContext) GetParser() antlr.Parser { return s.parser } -func (s *Builtin_function_nameContext) PARSE_IDENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARSE_IDENT, 0) +func (s *Opt_scrollableContext) NO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNO, 0) } -func (s *Builtin_function_nameContext) PG_CLIENT_ENCODING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPG_CLIENT_ENCODING, 0) +func (s *Opt_scrollableContext) SCROLL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCROLL, 0) } -func (s *Builtin_function_nameContext) QUOTE_IDENT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserQUOTE_IDENT, 0) +func (s *Opt_scrollableContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Builtin_function_nameContext) QUOTE_LITERAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserQUOTE_LITERAL, 0) +func (s *Opt_scrollableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Builtin_function_nameContext) QUOTE_NULLABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserQUOTE_NULLABLE, 0) +func (s *Opt_scrollableContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterOpt_scrollable(s) + } } -func (s *Builtin_function_nameContext) REGEXP_COUNT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_COUNT, 0) +func (s *Opt_scrollableContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitOpt_scrollable(s) + } } -func (s *Builtin_function_nameContext) REGEXP_INSTR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_INSTR, 0) -} +func (s *Opt_scrollableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitOpt_scrollable(s) -func (s *Builtin_function_nameContext) REGEXP_LIKE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_LIKE, 0) + default: + return t.VisitChildren(s) + } } -func (s *Builtin_function_nameContext) REGEXP_MATCH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_MATCH, 0) -} +func (p *PostgreSQLParser) Opt_scrollable() (localctx IOpt_scrollableContext) { + localctx = NewOpt_scrollableContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1468, PostgreSQLParserRULE_opt_scrollable) + p.SetState(10849) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } -func (s *Builtin_function_nameContext) REGEXP_MATCHES() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_MATCHES, 0) -} + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserNO: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10846) + p.Match(PostgreSQLParserNO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10847) + p.Match(PostgreSQLParserSCROLL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Builtin_function_nameContext) REGEXP_REPLACE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_REPLACE, 0) -} + case PostgreSQLParserSCROLL: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(10848) + p.Match(PostgreSQLParserSCROLL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *Builtin_function_nameContext) REGEXP_SPLIT_TO_ARRAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, 0) -} + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } -func (s *Builtin_function_nameContext) REGEXP_SPLIT_TO_TABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_SPLIT_TO_TABLE, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Builtin_function_nameContext) REGEXP_SUBSTR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREGEXP_SUBSTR, 0) -} +// IDecl_cursor_queryContext is an interface to support dynamic dispatch. +type IDecl_cursor_queryContext interface { + antlr.ParserRuleContext -func (s *Builtin_function_nameContext) REPEAT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREPEAT, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *Builtin_function_nameContext) REPLACE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREPLACE, 0) -} + // Getter signatures + Selectstmt() ISelectstmtContext -func (s *Builtin_function_nameContext) REVERSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREVERSE, 0) + // IsDecl_cursor_queryContext differentiates from other interfaces. + IsDecl_cursor_queryContext() } -func (s *Builtin_function_nameContext) RPAD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRPAD, 0) +type Decl_cursor_queryContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Builtin_function_nameContext) RTRIM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRTRIM, 0) +func NewEmptyDecl_cursor_queryContext() *Decl_cursor_queryContext { + var p = new(Decl_cursor_queryContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_query + return p } -func (s *Builtin_function_nameContext) SPLIT_PART() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSPLIT_PART, 0) +func InitEmptyDecl_cursor_queryContext(p *Decl_cursor_queryContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_query } -func (s *Builtin_function_nameContext) STARTS_WITH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTARTS_WITH, 0) +func (*Decl_cursor_queryContext) IsDecl_cursor_queryContext() {} + +func NewDecl_cursor_queryContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_queryContext { + var p = new(Decl_cursor_queryContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_query + + return p } -func (s *Builtin_function_nameContext) STRING_TO_ARRAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRING_TO_ARRAY, 0) +func (s *Decl_cursor_queryContext) GetParser() antlr.Parser { return s.parser } + +func (s *Decl_cursor_queryContext) Selectstmt() ISelectstmtContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISelectstmtContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ISelectstmtContext) } -func (s *Builtin_function_nameContext) STRING_TO_TABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRING_TO_TABLE, 0) +func (s *Decl_cursor_queryContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Builtin_function_nameContext) STRPOS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRPOS, 0) +func (s *Decl_cursor_queryContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Builtin_function_nameContext) SUBSTR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSUBSTR, 0) +func (s *Decl_cursor_queryContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterDecl_cursor_query(s) + } } -func (s *Builtin_function_nameContext) TO_ASCII() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO_ASCII, 0) +func (s *Decl_cursor_queryContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitDecl_cursor_query(s) + } } -func (s *Builtin_function_nameContext) TO_HEX() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO_HEX, 0) +func (s *Decl_cursor_queryContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitDecl_cursor_query(s) + + default: + return t.VisitChildren(s) + } } -func (s *Builtin_function_nameContext) TRANSLATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRANSLATE, 0) +func (p *PostgreSQLParser) Decl_cursor_query() (localctx IDecl_cursor_queryContext) { + localctx = NewDecl_cursor_queryContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1470, PostgreSQLParserRULE_decl_cursor_query) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10851) + p.Selectstmt() + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Builtin_function_nameContext) UNISTR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUNISTR, 0) +// IDecl_cursor_argsContext is an interface to support dynamic dispatch. +type IDecl_cursor_argsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + OPEN_PAREN() antlr.TerminalNode + Decl_cursor_arglist() IDecl_cursor_arglistContext + CLOSE_PAREN() antlr.TerminalNode + + // IsDecl_cursor_argsContext differentiates from other interfaces. + IsDecl_cursor_argsContext() } -func (s *Builtin_function_nameContext) AGE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAGE, 0) +type Decl_cursor_argsContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Builtin_function_nameContext) DATE_BIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDATE_BIN, 0) +func NewEmptyDecl_cursor_argsContext() *Decl_cursor_argsContext { + var p = new(Decl_cursor_argsContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_args + return p } -func (s *Builtin_function_nameContext) DATE_PART() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDATE_PART, 0) +func InitEmptyDecl_cursor_argsContext(p *Decl_cursor_argsContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_args } -func (s *Builtin_function_nameContext) DATE_TRUNC() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDATE_TRUNC, 0) +func (*Decl_cursor_argsContext) IsDecl_cursor_argsContext() {} + +func NewDecl_cursor_argsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_argsContext { + var p = new(Decl_cursor_argsContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_args + + return p } -func (s *Builtin_function_nameContext) ISFINITE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserISFINITE, 0) +func (s *Decl_cursor_argsContext) GetParser() antlr.Parser { return s.parser } + +func (s *Decl_cursor_argsContext) OPEN_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) } -func (s *Builtin_function_nameContext) JUSTIFY_DAYS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJUSTIFY_DAYS, 0) +func (s *Decl_cursor_argsContext) Decl_cursor_arglist() IDecl_cursor_arglistContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_cursor_arglistContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDecl_cursor_arglistContext) } -func (s *Builtin_function_nameContext) JUSTIFY_HOURS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJUSTIFY_HOURS, 0) +func (s *Decl_cursor_argsContext) CLOSE_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) } -func (s *Builtin_function_nameContext) JUSTIFY_INTERVAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserJUSTIFY_INTERVAL, 0) +func (s *Decl_cursor_argsContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Builtin_function_nameContext) MAKE_DATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAKE_DATE, 0) +func (s *Decl_cursor_argsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Builtin_function_nameContext) MAKE_INTERVAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAKE_INTERVAL, 0) +func (s *Decl_cursor_argsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterDecl_cursor_args(s) + } } -func (s *Builtin_function_nameContext) MAKE_TIME() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAKE_TIME, 0) +func (s *Decl_cursor_argsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitDecl_cursor_args(s) + } } -func (s *Builtin_function_nameContext) MAKE_TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAKE_TIMESTAMP, 0) +func (s *Decl_cursor_argsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitDecl_cursor_args(s) + + default: + return t.VisitChildren(s) + } } -func (s *Builtin_function_nameContext) MAKE_TIMESTAMPTZ() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMAKE_TIMESTAMPTZ, 0) +func (p *PostgreSQLParser) Decl_cursor_args() (localctx IDecl_cursor_argsContext) { + localctx = NewDecl_cursor_argsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1472, PostgreSQLParserRULE_decl_cursor_args) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10853) + p.Match(PostgreSQLParserOPEN_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10854) + p.Decl_cursor_arglist() + } + { + p.SetState(10855) + p.Match(PostgreSQLParserCLOSE_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Builtin_function_nameContext) CLOCK_TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOCK_TIMESTAMP, 0) +// IDecl_cursor_arglistContext is an interface to support dynamic dispatch. +type IDecl_cursor_arglistContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + AllDecl_cursor_arg() []IDecl_cursor_argContext + Decl_cursor_arg(i int) IDecl_cursor_argContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode + + // IsDecl_cursor_arglistContext differentiates from other interfaces. + IsDecl_cursor_arglistContext() } -func (s *Builtin_function_nameContext) NOW() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOW, 0) +type Decl_cursor_arglistContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Builtin_function_nameContext) STATEMENT_TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTATEMENT_TIMESTAMP, 0) +func NewEmptyDecl_cursor_arglistContext() *Decl_cursor_arglistContext { + var p = new(Decl_cursor_arglistContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arglist + return p } -func (s *Builtin_function_nameContext) TIMEOFDAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTIMEOFDAY, 0) +func InitEmptyDecl_cursor_arglistContext(p *Decl_cursor_arglistContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arglist } -func (s *Builtin_function_nameContext) TRANSACTION_TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTRANSACTION_TIMESTAMP, 0) +func (*Decl_cursor_arglistContext) IsDecl_cursor_arglistContext() {} + +func NewDecl_cursor_arglistContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_arglistContext { + var p = new(Decl_cursor_arglistContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arglist + + return p } -func (s *Builtin_function_nameContext) TO_TIMESTAMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO_TIMESTAMP, 0) +func (s *Decl_cursor_arglistContext) GetParser() antlr.Parser { return s.parser } + +func (s *Decl_cursor_arglistContext) AllDecl_cursor_arg() []IDecl_cursor_argContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IDecl_cursor_argContext); ok { + len++ + } + } + + tst := make([]IDecl_cursor_argContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IDecl_cursor_argContext); ok { + tst[i] = t.(IDecl_cursor_argContext) + i++ + } + } + + return tst } -func (s *Builtin_function_nameContext) TO_CHAR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO_CHAR, 0) +func (s *Decl_cursor_arglistContext) Decl_cursor_arg(i int) IDecl_cursor_argContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_cursor_argContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IDecl_cursor_argContext) } -func (s *Builtin_function_nameContext) TO_DATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO_DATE, 0) +func (s *Decl_cursor_arglistContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) } -func (s *Builtin_function_nameContext) TO_NUMBER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO_NUMBER, 0) +func (s *Decl_cursor_arglistContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) } -func (s *Builtin_function_nameContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_cursor_arglistContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Builtin_function_nameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_cursor_arglistContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Builtin_function_nameContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_cursor_arglistContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterBuiltin_function_name(s) + listenerT.EnterDecl_cursor_arglist(s) } } -func (s *Builtin_function_nameContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_cursor_arglistContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitBuiltin_function_name(s) + listenerT.ExitDecl_cursor_arglist(s) } } -func (s *Builtin_function_nameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_cursor_arglistContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitBuiltin_function_name(s) + return t.VisitDecl_cursor_arglist(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Builtin_function_name() (localctx IBuiltin_function_nameContext) { - localctx = NewBuiltin_function_nameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1448, PostgreSQLParserRULE_builtin_function_name) +func (p *PostgreSQLParser) Decl_cursor_arglist() (localctx IDecl_cursor_arglistContext) { + localctx = NewDecl_cursor_arglistContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1474, PostgreSQLParserRULE_decl_cursor_arglist) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10801) - _la = p.GetTokenStream().LA(1) + p.SetState(10857) + p.Decl_cursor_arg() + } + p.SetState(10862) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserREPLACE || ((int64((_la-439)) & ^0x3f) == 0 && ((int64(1)<<(_la-439))&127) != 0) || ((int64((_la-525)) & ^0x3f) == 0 && ((int64(1)<<(_la-525))&-130559) != 0) || ((int64((_la-589)) & ^0x3f) == 0 && ((int64(1)<<(_la-589))&-1) != 0) || ((int64((_la-653)) & ^0x3f) == 0 && ((int64(1)<<(_la-653))&31) != 0)) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + for _la == PostgreSQLParserCOMMA { + { + p.SetState(10858) + p.Match(PostgreSQLParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10859) + p.Decl_cursor_arg() + } + + p.SetState(10864) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -174859,74 +173712,57 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IPl_functionContext is an interface to support dynamic dispatch. -type IPl_functionContext interface { +// IDecl_cursor_argContext is an interface to support dynamic dispatch. +type IDecl_cursor_argContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Comp_options() IComp_optionsContext - Pl_block() IPl_blockContext - Opt_semi() IOpt_semiContext + Decl_varname() IDecl_varnameContext + Decl_datatype() IDecl_datatypeContext - // IsPl_functionContext differentiates from other interfaces. - IsPl_functionContext() + // IsDecl_cursor_argContext differentiates from other interfaces. + IsDecl_cursor_argContext() } -type Pl_functionContext struct { +type Decl_cursor_argContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyPl_functionContext() *Pl_functionContext { - var p = new(Pl_functionContext) +func NewEmptyDecl_cursor_argContext() *Decl_cursor_argContext { + var p = new(Decl_cursor_argContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_pl_function + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arg return p } -func InitEmptyPl_functionContext(p *Pl_functionContext) { +func InitEmptyDecl_cursor_argContext(p *Decl_cursor_argContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_pl_function + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arg } -func (*Pl_functionContext) IsPl_functionContext() {} +func (*Decl_cursor_argContext) IsDecl_cursor_argContext() {} -func NewPl_functionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Pl_functionContext { - var p = new(Pl_functionContext) +func NewDecl_cursor_argContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_argContext { + var p = new(Decl_cursor_argContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_pl_function + p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arg return p } -func (s *Pl_functionContext) GetParser() antlr.Parser { return s.parser } - -func (s *Pl_functionContext) Comp_options() IComp_optionsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IComp_optionsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IComp_optionsContext) -} +func (s *Decl_cursor_argContext) GetParser() antlr.Parser { return s.parser } -func (s *Pl_functionContext) Pl_block() IPl_blockContext { +func (s *Decl_cursor_argContext) Decl_varname() IDecl_varnameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPl_blockContext); ok { + if _, ok := ctx.(IDecl_varnameContext); ok { t = ctx.(antlr.RuleContext) break } @@ -174936,13 +173772,13 @@ func (s *Pl_functionContext) Pl_block() IPl_blockContext { return nil } - return t.(IPl_blockContext) + return t.(IDecl_varnameContext) } -func (s *Pl_functionContext) Opt_semi() IOpt_semiContext { +func (s *Decl_cursor_argContext) Decl_datatype() IDecl_datatypeContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_semiContext); ok { + if _, ok := ctx.(IDecl_datatypeContext); ok { t = ctx.(antlr.RuleContext) break } @@ -174952,66 +173788,50 @@ func (s *Pl_functionContext) Opt_semi() IOpt_semiContext { return nil } - return t.(IOpt_semiContext) + return t.(IDecl_datatypeContext) } -func (s *Pl_functionContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_cursor_argContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Pl_functionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_cursor_argContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Pl_functionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_cursor_argContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterPl_function(s) + listenerT.EnterDecl_cursor_arg(s) } } -func (s *Pl_functionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_cursor_argContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitPl_function(s) + listenerT.ExitDecl_cursor_arg(s) } } -func (s *Pl_functionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_cursor_argContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitPl_function(s) + return t.VisitDecl_cursor_arg(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Pl_function() (localctx IPl_functionContext) { - localctx = NewPl_functionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1450, PostgreSQLParserRULE_pl_function) - var _la int - +func (p *PostgreSQLParser) Decl_cursor_arg() (localctx IDecl_cursor_argContext) { + localctx = NewDecl_cursor_argContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1476, PostgreSQLParserRULE_decl_cursor_arg) p.EnterOuterAlt(localctx, 1) { - p.SetState(10803) - p.Comp_options() + p.SetState(10865) + p.Decl_varname() } { - p.SetState(10804) - p.Pl_block() - } - p.SetState(10806) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserSEMI { - { - p.SetState(10805) - p.Opt_semi() - } - + p.SetState(10866) + p.Decl_datatype() } errorExit: @@ -175027,149 +173847,107 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IComp_optionsContext is an interface to support dynamic dispatch. -type IComp_optionsContext interface { +// IDecl_is_forContext is an interface to support dynamic dispatch. +type IDecl_is_forContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllComp_option() []IComp_optionContext - Comp_option(i int) IComp_optionContext + IS() antlr.TerminalNode + FOR() antlr.TerminalNode - // IsComp_optionsContext differentiates from other interfaces. - IsComp_optionsContext() + // IsDecl_is_forContext differentiates from other interfaces. + IsDecl_is_forContext() } -type Comp_optionsContext struct { +type Decl_is_forContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyComp_optionsContext() *Comp_optionsContext { - var p = new(Comp_optionsContext) +func NewEmptyDecl_is_forContext() *Decl_is_forContext { + var p = new(Decl_is_forContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_comp_options + p.RuleIndex = PostgreSQLParserRULE_decl_is_for return p } -func InitEmptyComp_optionsContext(p *Comp_optionsContext) { +func InitEmptyDecl_is_forContext(p *Decl_is_forContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_comp_options + p.RuleIndex = PostgreSQLParserRULE_decl_is_for } -func (*Comp_optionsContext) IsComp_optionsContext() {} - -func NewComp_optionsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Comp_optionsContext { - var p = new(Comp_optionsContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_comp_options - - return p -} +func (*Decl_is_forContext) IsDecl_is_forContext() {} -func (s *Comp_optionsContext) GetParser() antlr.Parser { return s.parser } +func NewDecl_is_forContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_is_forContext { + var p = new(Decl_is_forContext) -func (s *Comp_optionsContext) AllComp_option() []IComp_optionContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IComp_optionContext); ok { - len++ - } - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - tst := make([]IComp_optionContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IComp_optionContext); ok { - tst[i] = t.(IComp_optionContext) - i++ - } - } + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_is_for - return tst + return p } -func (s *Comp_optionsContext) Comp_option(i int) IComp_optionContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IComp_optionContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ - } - } +func (s *Decl_is_forContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *Decl_is_forContext) IS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIS, 0) +} - return t.(IComp_optionContext) +func (s *Decl_is_forContext) FOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOR, 0) } -func (s *Comp_optionsContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_is_forContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Comp_optionsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_is_forContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Comp_optionsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_is_forContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterComp_options(s) + listenerT.EnterDecl_is_for(s) } } -func (s *Comp_optionsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_is_forContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitComp_options(s) + listenerT.ExitDecl_is_for(s) } } -func (s *Comp_optionsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_is_forContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitComp_options(s) + return t.VisitDecl_is_for(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Comp_options() (localctx IComp_optionsContext) { - localctx = NewComp_optionsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1452, PostgreSQLParserRULE_comp_options) +func (p *PostgreSQLParser) Decl_is_for() (localctx IDecl_is_forContext) { + localctx = NewDecl_is_forContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1478, PostgreSQLParserRULE_decl_is_for) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(10811) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == PostgreSQLParserOperator { - { - p.SetState(10808) - p.Comp_option() - } + { + p.SetState(10868) + _la = p.GetTokenStream().LA(1) - p.SetState(10813) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + if !(_la == PostgreSQLParserFOR || _la == PostgreSQLParserIS) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -175185,92 +173963,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IComp_optionContext is an interface to support dynamic dispatch. -type IComp_optionContext interface { +// IDecl_aliasitemContext is an interface to support dynamic dispatch. +type IDecl_aliasitemContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Sharp() ISharpContext - OPTION() antlr.TerminalNode - DUMP() antlr.TerminalNode - PRINT_STRICT_PARAMS() antlr.TerminalNode - Option_value() IOption_valueContext - VARIABLE_CONFLICT() antlr.TerminalNode - ERROR() antlr.TerminalNode - USE_VARIABLE() antlr.TerminalNode - USE_COLUMN() antlr.TerminalNode + PARAM() antlr.TerminalNode + Colid() IColidContext - // IsComp_optionContext differentiates from other interfaces. - IsComp_optionContext() + // IsDecl_aliasitemContext differentiates from other interfaces. + IsDecl_aliasitemContext() } -type Comp_optionContext struct { +type Decl_aliasitemContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyComp_optionContext() *Comp_optionContext { - var p = new(Comp_optionContext) +func NewEmptyDecl_aliasitemContext() *Decl_aliasitemContext { + var p = new(Decl_aliasitemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_comp_option + p.RuleIndex = PostgreSQLParserRULE_decl_aliasitem return p } -func InitEmptyComp_optionContext(p *Comp_optionContext) { +func InitEmptyDecl_aliasitemContext(p *Decl_aliasitemContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_comp_option + p.RuleIndex = PostgreSQLParserRULE_decl_aliasitem } -func (*Comp_optionContext) IsComp_optionContext() {} +func (*Decl_aliasitemContext) IsDecl_aliasitemContext() {} -func NewComp_optionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Comp_optionContext { - var p = new(Comp_optionContext) +func NewDecl_aliasitemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_aliasitemContext { + var p = new(Decl_aliasitemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_comp_option + p.RuleIndex = PostgreSQLParserRULE_decl_aliasitem return p } -func (s *Comp_optionContext) GetParser() antlr.Parser { return s.parser } - -func (s *Comp_optionContext) Sharp() ISharpContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISharpContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISharpContext) -} - -func (s *Comp_optionContext) OPTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPTION, 0) -} - -func (s *Comp_optionContext) DUMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDUMP, 0) -} +func (s *Decl_aliasitemContext) GetParser() antlr.Parser { return s.parser } -func (s *Comp_optionContext) PRINT_STRICT_PARAMS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRINT_STRICT_PARAMS, 0) +func (s *Decl_aliasitemContext) PARAM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARAM, 0) } -func (s *Comp_optionContext) Option_value() IOption_valueContext { +func (s *Decl_aliasitemContext) Colid() IColidContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOption_valueContext); ok { + if _, ok := ctx.(IColidContext); ok { t = ctx.(antlr.RuleContext) break } @@ -175280,177 +174027,69 @@ func (s *Comp_optionContext) Option_value() IOption_valueContext { return nil } - return t.(IOption_valueContext) -} - -func (s *Comp_optionContext) VARIABLE_CONFLICT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVARIABLE_CONFLICT, 0) -} - -func (s *Comp_optionContext) ERROR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserERROR, 0) -} - -func (s *Comp_optionContext) USE_VARIABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSE_VARIABLE, 0) -} - -func (s *Comp_optionContext) USE_COLUMN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSE_COLUMN, 0) + return t.(IColidContext) } -func (s *Comp_optionContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_aliasitemContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Comp_optionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_aliasitemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Comp_optionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_aliasitemContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterComp_option(s) + listenerT.EnterDecl_aliasitem(s) } } -func (s *Comp_optionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_aliasitemContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitComp_option(s) + listenerT.ExitDecl_aliasitem(s) } } -func (s *Comp_optionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_aliasitemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitComp_option(s) + return t.VisitDecl_aliasitem(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Comp_option() (localctx IComp_optionContext) { - localctx = NewComp_optionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1454, PostgreSQLParserRULE_comp_option) - p.SetState(10834) +func (p *PostgreSQLParser) Decl_aliasitem() (localctx IDecl_aliasitemContext) { + localctx = NewDecl_aliasitemContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1480, PostgreSQLParserRULE_decl_aliasitem) + p.SetState(10872) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1055, p.GetParserRuleContext()) { - case 1: + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserPARAM: p.EnterOuterAlt(localctx, 1) { - p.SetState(10814) - p.Sharp() - } - { - p.SetState(10815) - p.Match(PostgreSQLParserOPTION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10816) - p.Match(PostgreSQLParserDUMP) + p.SetState(10870) + p.Match(PostgreSQLParserPARAM) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case 2: + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: p.EnterOuterAlt(localctx, 2) { - p.SetState(10818) - p.Sharp() - } - { - p.SetState(10819) - p.Match(PostgreSQLParserPRINT_STRICT_PARAMS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10820) - p.Option_value() - } - - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(10822) - p.Sharp() - } - { - p.SetState(10823) - p.Match(PostgreSQLParserVARIABLE_CONFLICT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10824) - p.Match(PostgreSQLParserERROR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 4: - p.EnterOuterAlt(localctx, 4) - { - p.SetState(10826) - p.Sharp() - } - { - p.SetState(10827) - p.Match(PostgreSQLParserVARIABLE_CONFLICT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10828) - p.Match(PostgreSQLParserUSE_VARIABLE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 5: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(10830) - p.Sharp() - } - { - p.SetState(10831) - p.Match(PostgreSQLParserVARIABLE_CONFLICT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10832) - p.Match(PostgreSQLParserUSE_COLUMN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10871) + p.Colid() } - case antlr.ATNInvalidAltNumber: + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } @@ -175467,97 +174106,105 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ISharpContext is an interface to support dynamic dispatch. -type ISharpContext interface { +// IDecl_varnameContext is an interface to support dynamic dispatch. +type IDecl_varnameContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Operator() antlr.TerminalNode + Any_identifier() IAny_identifierContext - // IsSharpContext differentiates from other interfaces. - IsSharpContext() + // IsDecl_varnameContext differentiates from other interfaces. + IsDecl_varnameContext() } -type SharpContext struct { +type Decl_varnameContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptySharpContext() *SharpContext { - var p = new(SharpContext) +func NewEmptyDecl_varnameContext() *Decl_varnameContext { + var p = new(Decl_varnameContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_sharp + p.RuleIndex = PostgreSQLParserRULE_decl_varname return p } -func InitEmptySharpContext(p *SharpContext) { +func InitEmptyDecl_varnameContext(p *Decl_varnameContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_sharp + p.RuleIndex = PostgreSQLParserRULE_decl_varname } -func (*SharpContext) IsSharpContext() {} +func (*Decl_varnameContext) IsDecl_varnameContext() {} -func NewSharpContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SharpContext { - var p = new(SharpContext) +func NewDecl_varnameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_varnameContext { + var p = new(Decl_varnameContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_sharp + p.RuleIndex = PostgreSQLParserRULE_decl_varname return p } -func (s *SharpContext) GetParser() antlr.Parser { return s.parser } +func (s *Decl_varnameContext) GetParser() antlr.Parser { return s.parser } -func (s *SharpContext) Operator() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOperator, 0) +func (s *Decl_varnameContext) Any_identifier() IAny_identifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAny_identifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IAny_identifierContext) } -func (s *SharpContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_varnameContext) GetRuleContext() antlr.RuleContext { return s } -func (s *SharpContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_varnameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *SharpContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_varnameContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterSharp(s) + listenerT.EnterDecl_varname(s) } } -func (s *SharpContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_varnameContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitSharp(s) + listenerT.ExitDecl_varname(s) } } -func (s *SharpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_varnameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitSharp(s) + return t.VisitDecl_varname(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Sharp() (localctx ISharpContext) { - localctx = NewSharpContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1456, PostgreSQLParserRULE_sharp) +func (p *PostgreSQLParser) Decl_varname() (localctx IDecl_varnameContext) { + localctx = NewDecl_varnameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1482, PostgreSQLParserRULE_decl_varname) p.EnterOuterAlt(localctx, 1) { - p.SetState(10836) - p.Match(PostgreSQLParserOperator) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10874) + p.Any_identifier() } errorExit: @@ -175573,189 +174220,97 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOption_valueContext is an interface to support dynamic dispatch. -type IOption_valueContext interface { +// IDecl_constContext is an interface to support dynamic dispatch. +type IDecl_constContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Sconst() ISconstContext - Reserved_keyword() IReserved_keywordContext - Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext - Unreserved_keyword() IUnreserved_keywordContext + CONSTANT() antlr.TerminalNode - // IsOption_valueContext differentiates from other interfaces. - IsOption_valueContext() + // IsDecl_constContext differentiates from other interfaces. + IsDecl_constContext() } -type Option_valueContext struct { +type Decl_constContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOption_valueContext() *Option_valueContext { - var p = new(Option_valueContext) +func NewEmptyDecl_constContext() *Decl_constContext { + var p = new(Decl_constContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_option_value + p.RuleIndex = PostgreSQLParserRULE_decl_const return p } -func InitEmptyOption_valueContext(p *Option_valueContext) { +func InitEmptyDecl_constContext(p *Decl_constContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_option_value + p.RuleIndex = PostgreSQLParserRULE_decl_const } -func (*Option_valueContext) IsOption_valueContext() {} +func (*Decl_constContext) IsDecl_constContext() {} -func NewOption_valueContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Option_valueContext { - var p = new(Option_valueContext) +func NewDecl_constContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_constContext { + var p = new(Decl_constContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_option_value + p.RuleIndex = PostgreSQLParserRULE_decl_const return p } -func (s *Option_valueContext) GetParser() antlr.Parser { return s.parser } - -func (s *Option_valueContext) Sconst() ISconstContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISconstContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISconstContext) -} - -func (s *Option_valueContext) Reserved_keyword() IReserved_keywordContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IReserved_keywordContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IReserved_keywordContext) -} - -func (s *Option_valueContext) Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPlsql_unreserved_keywordContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IPlsql_unreserved_keywordContext) -} - -func (s *Option_valueContext) Unreserved_keyword() IUnreserved_keywordContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IUnreserved_keywordContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Decl_constContext) GetParser() antlr.Parser { return s.parser } - return t.(IUnreserved_keywordContext) +func (s *Decl_constContext) CONSTANT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONSTANT, 0) } -func (s *Option_valueContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_constContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Option_valueContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_constContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Option_valueContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_constContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOption_value(s) + listenerT.EnterDecl_const(s) } } -func (s *Option_valueContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_constContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOption_value(s) + listenerT.ExitDecl_const(s) } } -func (s *Option_valueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_constContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOption_value(s) + return t.VisitDecl_const(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Option_value() (localctx IOption_valueContext) { - localctx = NewOption_valueContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1458, PostgreSQLParserRULE_option_value) - p.SetState(10842) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1056, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10838) - p.Sconst() - } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(10839) - p.Reserved_keyword() - } - - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(10840) - p.Plsql_unreserved_keyword() - } - - case 4: - p.EnterOuterAlt(localctx, 4) - { - p.SetState(10841) - p.Unreserved_keyword() +func (p *PostgreSQLParser) Decl_const() (localctx IDecl_constContext) { + localctx = NewDecl_constContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1484, PostgreSQLParserRULE_decl_const) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10876) + p.Match(PostgreSQLParserCONSTANT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case antlr.ATNInvalidAltNumber: - goto errorExit } errorExit: @@ -175771,97 +174326,105 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_semiContext is an interface to support dynamic dispatch. -type IOpt_semiContext interface { +// IDecl_datatypeContext is an interface to support dynamic dispatch. +type IDecl_datatypeContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - SEMI() antlr.TerminalNode + Typename() ITypenameContext - // IsOpt_semiContext differentiates from other interfaces. - IsOpt_semiContext() + // IsDecl_datatypeContext differentiates from other interfaces. + IsDecl_datatypeContext() } -type Opt_semiContext struct { +type Decl_datatypeContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_semiContext() *Opt_semiContext { - var p = new(Opt_semiContext) +func NewEmptyDecl_datatypeContext() *Decl_datatypeContext { + var p = new(Decl_datatypeContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_semi + p.RuleIndex = PostgreSQLParserRULE_decl_datatype return p } -func InitEmptyOpt_semiContext(p *Opt_semiContext) { +func InitEmptyDecl_datatypeContext(p *Decl_datatypeContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_semi + p.RuleIndex = PostgreSQLParserRULE_decl_datatype } -func (*Opt_semiContext) IsOpt_semiContext() {} +func (*Decl_datatypeContext) IsDecl_datatypeContext() {} -func NewOpt_semiContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_semiContext { - var p = new(Opt_semiContext) +func NewDecl_datatypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_datatypeContext { + var p = new(Decl_datatypeContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_semi + p.RuleIndex = PostgreSQLParserRULE_decl_datatype return p } -func (s *Opt_semiContext) GetParser() antlr.Parser { return s.parser } +func (s *Decl_datatypeContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_semiContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Decl_datatypeContext) Typename() ITypenameContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ITypenameContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ITypenameContext) } -func (s *Opt_semiContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_datatypeContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_semiContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_datatypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_semiContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_datatypeContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_semi(s) + listenerT.EnterDecl_datatype(s) } } -func (s *Opt_semiContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_datatypeContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_semi(s) + listenerT.ExitDecl_datatype(s) } } -func (s *Opt_semiContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_datatypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_semi(s) + return t.VisitDecl_datatype(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_semi() (localctx IOpt_semiContext) { - localctx = NewOpt_semiContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1460, PostgreSQLParserRULE_opt_semi) +func (p *PostgreSQLParser) Decl_datatype() (localctx IDecl_datatypeContext) { + localctx = NewDecl_datatypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1486, PostgreSQLParserRULE_decl_datatype) p.EnterOuterAlt(localctx, 1) { - p.SetState(10844) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10878) + p.Typename() } errorExit: @@ -175877,117 +174440,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IPl_blockContext is an interface to support dynamic dispatch. -type IPl_blockContext interface { +// IDecl_collateContext is an interface to support dynamic dispatch. +type IDecl_collateContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Decl_sect() IDecl_sectContext - BEGIN_P() antlr.TerminalNode - Proc_sect() IProc_sectContext - END_P() antlr.TerminalNode - Exception_sect() IException_sectContext - Opt_label() IOpt_labelContext + COLLATE() antlr.TerminalNode + Any_name() IAny_nameContext - // IsPl_blockContext differentiates from other interfaces. - IsPl_blockContext() + // IsDecl_collateContext differentiates from other interfaces. + IsDecl_collateContext() } -type Pl_blockContext struct { +type Decl_collateContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyPl_blockContext() *Pl_blockContext { - var p = new(Pl_blockContext) +func NewEmptyDecl_collateContext() *Decl_collateContext { + var p = new(Decl_collateContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_pl_block + p.RuleIndex = PostgreSQLParserRULE_decl_collate return p } -func InitEmptyPl_blockContext(p *Pl_blockContext) { +func InitEmptyDecl_collateContext(p *Decl_collateContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_pl_block + p.RuleIndex = PostgreSQLParserRULE_decl_collate } -func (*Pl_blockContext) IsPl_blockContext() {} +func (*Decl_collateContext) IsDecl_collateContext() {} -func NewPl_blockContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Pl_blockContext { - var p = new(Pl_blockContext) +func NewDecl_collateContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_collateContext { + var p = new(Decl_collateContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_pl_block + p.RuleIndex = PostgreSQLParserRULE_decl_collate return p } -func (s *Pl_blockContext) GetParser() antlr.Parser { return s.parser } - -func (s *Pl_blockContext) Decl_sect() IDecl_sectContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_sectContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IDecl_sectContext) -} - -func (s *Pl_blockContext) BEGIN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBEGIN_P, 0) -} - -func (s *Pl_blockContext) Proc_sect() IProc_sectContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IProc_sectContext) -} - -func (s *Pl_blockContext) END_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEND_P, 0) -} - -func (s *Pl_blockContext) Exception_sect() IException_sectContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IException_sectContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Decl_collateContext) GetParser() antlr.Parser { return s.parser } - return t.(IException_sectContext) +func (s *Decl_collateContext) COLLATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLLATE, 0) } -func (s *Pl_blockContext) Opt_label() IOpt_labelContext { +func (s *Decl_collateContext) Any_name() IAny_nameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_labelContext); ok { + if _, ok := ctx.(IAny_nameContext); ok { t = ctx.(antlr.RuleContext) break } @@ -175997,96 +174504,54 @@ func (s *Pl_blockContext) Opt_label() IOpt_labelContext { return nil } - return t.(IOpt_labelContext) + return t.(IAny_nameContext) } -func (s *Pl_blockContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_collateContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Pl_blockContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_collateContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Pl_blockContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_collateContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterPl_block(s) + listenerT.EnterDecl_collate(s) } } -func (s *Pl_blockContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_collateContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitPl_block(s) + listenerT.ExitDecl_collate(s) } } -func (s *Pl_blockContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_collateContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitPl_block(s) + return t.VisitDecl_collate(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Pl_block() (localctx IPl_blockContext) { - localctx = NewPl_blockContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1462, PostgreSQLParserRULE_pl_block) - var _la int - +func (p *PostgreSQLParser) Decl_collate() (localctx IDecl_collateContext) { + localctx = NewDecl_collateContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1488, PostgreSQLParserRULE_decl_collate) p.EnterOuterAlt(localctx, 1) { - p.SetState(10846) - p.Decl_sect() - } - { - p.SetState(10847) - p.Match(PostgreSQLParserBEGIN_P) + p.SetState(10880) + p.Match(PostgreSQLParserCOLLATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10848) - p.Proc_sect() - } - p.SetState(10850) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserEXCEPTION { - { - p.SetState(10849) - p.Exception_sect() - } - - } - { - p.SetState(10852) - p.Match(PostgreSQLParserEND_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(10854) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { - { - p.SetState(10853) - p.Opt_label() - } - + p.SetState(10881) + p.Any_name() } errorExit: @@ -176102,177 +174567,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_sectContext is an interface to support dynamic dispatch. -type IDecl_sectContext interface { +// IDecl_notnullContext is an interface to support dynamic dispatch. +type IDecl_notnullContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Opt_block_label() IOpt_block_labelContext - Decl_start() IDecl_startContext - Decl_stmts() IDecl_stmtsContext + NOT() antlr.TerminalNode + NULL_P() antlr.TerminalNode - // IsDecl_sectContext differentiates from other interfaces. - IsDecl_sectContext() + // IsDecl_notnullContext differentiates from other interfaces. + IsDecl_notnullContext() } -type Decl_sectContext struct { +type Decl_notnullContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_sectContext() *Decl_sectContext { - var p = new(Decl_sectContext) +func NewEmptyDecl_notnullContext() *Decl_notnullContext { + var p = new(Decl_notnullContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_sect + p.RuleIndex = PostgreSQLParserRULE_decl_notnull return p } -func InitEmptyDecl_sectContext(p *Decl_sectContext) { +func InitEmptyDecl_notnullContext(p *Decl_notnullContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_sect + p.RuleIndex = PostgreSQLParserRULE_decl_notnull } -func (*Decl_sectContext) IsDecl_sectContext() {} +func (*Decl_notnullContext) IsDecl_notnullContext() {} -func NewDecl_sectContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_sectContext { - var p = new(Decl_sectContext) +func NewDecl_notnullContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_notnullContext { + var p = new(Decl_notnullContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_sect + p.RuleIndex = PostgreSQLParserRULE_decl_notnull return p } -func (s *Decl_sectContext) GetParser() antlr.Parser { return s.parser } - -func (s *Decl_sectContext) Opt_block_label() IOpt_block_labelContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_block_labelContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_block_labelContext) -} - -func (s *Decl_sectContext) Decl_start() IDecl_startContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_startContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Decl_notnullContext) GetParser() antlr.Parser { return s.parser } - return t.(IDecl_startContext) +func (s *Decl_notnullContext) NOT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOT, 0) } -func (s *Decl_sectContext) Decl_stmts() IDecl_stmtsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_stmtsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IDecl_stmtsContext) +func (s *Decl_notnullContext) NULL_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNULL_P, 0) } -func (s *Decl_sectContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_notnullContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_sectContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_notnullContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_sectContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_notnullContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_sect(s) + listenerT.EnterDecl_notnull(s) } } -func (s *Decl_sectContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_notnullContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_sect(s) + listenerT.ExitDecl_notnull(s) } } -func (s *Decl_sectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_notnullContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_sect(s) + return t.VisitDecl_notnull(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_sect() (localctx IDecl_sectContext) { - localctx = NewDecl_sectContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1464, PostgreSQLParserRULE_decl_sect) - var _la int - +func (p *PostgreSQLParser) Decl_notnull() (localctx IDecl_notnullContext) { + localctx = NewDecl_notnullContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1490, PostgreSQLParserRULE_decl_notnull) p.EnterOuterAlt(localctx, 1) - p.SetState(10857) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserLESS_LESS { - { - p.SetState(10856) - p.Opt_block_label() + { + p.SetState(10883) + p.Match(PostgreSQLParserNOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - } - p.SetState(10863) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserDECLARE { - { - p.SetState(10859) - p.Decl_start() - } - p.SetState(10861) - p.GetErrorHandler().Sync(p) - - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1060, p.GetParserRuleContext()) == 1 { - { - p.SetState(10860) - p.Decl_stmts() - } - - } else if p.HasError() { // JIM + { + p.SetState(10884) + p.Match(PostgreSQLParserNULL_P) + if p.HasError() { + // Recognition error - abort rule goto errorExit } - } errorExit: @@ -176288,97 +174686,126 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_startContext is an interface to support dynamic dispatch. -type IDecl_startContext interface { +// IDecl_defvalContext is an interface to support dynamic dispatch. +type IDecl_defvalContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DECLARE() antlr.TerminalNode + Decl_defkey() IDecl_defkeyContext + Sql_expression() ISql_expressionContext - // IsDecl_startContext differentiates from other interfaces. - IsDecl_startContext() + // IsDecl_defvalContext differentiates from other interfaces. + IsDecl_defvalContext() } -type Decl_startContext struct { +type Decl_defvalContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_startContext() *Decl_startContext { - var p = new(Decl_startContext) +func NewEmptyDecl_defvalContext() *Decl_defvalContext { + var p = new(Decl_defvalContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_start + p.RuleIndex = PostgreSQLParserRULE_decl_defval return p } -func InitEmptyDecl_startContext(p *Decl_startContext) { +func InitEmptyDecl_defvalContext(p *Decl_defvalContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_start + p.RuleIndex = PostgreSQLParserRULE_decl_defval } -func (*Decl_startContext) IsDecl_startContext() {} +func (*Decl_defvalContext) IsDecl_defvalContext() {} -func NewDecl_startContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_startContext { - var p = new(Decl_startContext) +func NewDecl_defvalContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_defvalContext { + var p = new(Decl_defvalContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_start + p.RuleIndex = PostgreSQLParserRULE_decl_defval return p } -func (s *Decl_startContext) GetParser() antlr.Parser { return s.parser } +func (s *Decl_defvalContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_startContext) DECLARE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDECLARE, 0) +func (s *Decl_defvalContext) Decl_defkey() IDecl_defkeyContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecl_defkeyContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDecl_defkeyContext) } -func (s *Decl_startContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_defvalContext) Sql_expression() ISql_expressionContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISql_expressionContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ISql_expressionContext) +} + +func (s *Decl_defvalContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_startContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_defvalContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_startContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_defvalContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_start(s) + listenerT.EnterDecl_defval(s) } } -func (s *Decl_startContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_defvalContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_start(s) + listenerT.ExitDecl_defval(s) } } -func (s *Decl_startContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_defvalContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_start(s) + return t.VisitDecl_defval(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_start() (localctx IDecl_startContext) { - localctx = NewDecl_startContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1466, PostgreSQLParserRULE_decl_start) +func (p *PostgreSQLParser) Decl_defval() (localctx IDecl_defvalContext) { + localctx = NewDecl_defvalContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1492, PostgreSQLParserRULE_decl_defval) p.EnterOuterAlt(localctx, 1) { - p.SetState(10865) - p.Match(PostgreSQLParserDECLARE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10886) + p.Decl_defkey() + } + { + p.SetState(10887) + p.Sql_expression() } errorExit: @@ -176394,84 +174821,59 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_stmtsContext is an interface to support dynamic dispatch. -type IDecl_stmtsContext interface { +// IDecl_defkeyContext is an interface to support dynamic dispatch. +type IDecl_defkeyContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllDecl_stmt() []IDecl_stmtContext - Decl_stmt(i int) IDecl_stmtContext + Assign_operator() IAssign_operatorContext + DEFAULT() antlr.TerminalNode - // IsDecl_stmtsContext differentiates from other interfaces. - IsDecl_stmtsContext() + // IsDecl_defkeyContext differentiates from other interfaces. + IsDecl_defkeyContext() } -type Decl_stmtsContext struct { +type Decl_defkeyContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_stmtsContext() *Decl_stmtsContext { - var p = new(Decl_stmtsContext) +func NewEmptyDecl_defkeyContext() *Decl_defkeyContext { + var p = new(Decl_defkeyContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_stmts + p.RuleIndex = PostgreSQLParserRULE_decl_defkey return p } -func InitEmptyDecl_stmtsContext(p *Decl_stmtsContext) { +func InitEmptyDecl_defkeyContext(p *Decl_defkeyContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_stmts + p.RuleIndex = PostgreSQLParserRULE_decl_defkey } -func (*Decl_stmtsContext) IsDecl_stmtsContext() {} - -func NewDecl_stmtsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_stmtsContext { - var p = new(Decl_stmtsContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_stmts - - return p -} +func (*Decl_defkeyContext) IsDecl_defkeyContext() {} -func (s *Decl_stmtsContext) GetParser() antlr.Parser { return s.parser } +func NewDecl_defkeyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_defkeyContext { + var p = new(Decl_defkeyContext) -func (s *Decl_stmtsContext) AllDecl_stmt() []IDecl_stmtContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IDecl_stmtContext); ok { - len++ - } - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - tst := make([]IDecl_stmtContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IDecl_stmtContext); ok { - tst[i] = t.(IDecl_stmtContext) - i++ - } - } + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_decl_defkey - return tst + return p } -func (s *Decl_stmtsContext) Decl_stmt(i int) IDecl_stmtContext { +func (s *Decl_defkeyContext) GetParser() antlr.Parser { return s.parser } + +func (s *Decl_defkeyContext) Assign_operator() IAssign_operatorContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_stmtContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IAssign_operatorContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -176479,70 +174881,74 @@ func (s *Decl_stmtsContext) Decl_stmt(i int) IDecl_stmtContext { return nil } - return t.(IDecl_stmtContext) + return t.(IAssign_operatorContext) } -func (s *Decl_stmtsContext) GetRuleContext() antlr.RuleContext { +func (s *Decl_defkeyContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFAULT, 0) +} + +func (s *Decl_defkeyContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_stmtsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decl_defkeyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_stmtsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decl_defkeyContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_stmts(s) + listenerT.EnterDecl_defkey(s) } } -func (s *Decl_stmtsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decl_defkeyContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_stmts(s) + listenerT.ExitDecl_defkey(s) } } -func (s *Decl_stmtsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decl_defkeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_stmts(s) + return t.VisitDecl_defkey(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_stmts() (localctx IDecl_stmtsContext) { - localctx = NewDecl_stmtsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1468, PostgreSQLParserRULE_decl_stmts) - var _alt int - - p.EnterOuterAlt(localctx, 1) - p.SetState(10868) +func (p *PostgreSQLParser) Decl_defkey() (localctx IDecl_defkeyContext) { + localctx = NewDecl_defkeyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1494, PostgreSQLParserRULE_decl_defkey) + p.SetState(10891) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _alt = 1 - for ok := true; ok; ok = _alt != 2 && _alt != antlr.ATNInvalidAltNumber { - switch _alt { - case 1: - { - p.SetState(10867) - p.Decl_stmt() - } - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserEQUAL, PostgreSQLParserCOLON_EQUALS: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10889) + p.Assign_operator() } - p.SetState(10870) - p.GetErrorHandler().Sync(p) - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1062, p.GetParserRuleContext()) - if p.HasError() { - goto errorExit + case PostgreSQLParserDEFAULT: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(10890) + p.Match(PostgreSQLParserDEFAULT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } errorExit: @@ -176558,130 +174964,106 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ILabel_declContext is an interface to support dynamic dispatch. -type ILabel_declContext interface { +// IAssign_operatorContext is an interface to support dynamic dispatch. +type IAssign_operatorContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - LESS_LESS() antlr.TerminalNode - Any_identifier() IAny_identifierContext - GREATER_GREATER() antlr.TerminalNode + EQUAL() antlr.TerminalNode + COLON_EQUALS() antlr.TerminalNode - // IsLabel_declContext differentiates from other interfaces. - IsLabel_declContext() + // IsAssign_operatorContext differentiates from other interfaces. + IsAssign_operatorContext() } -type Label_declContext struct { +type Assign_operatorContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyLabel_declContext() *Label_declContext { - var p = new(Label_declContext) +func NewEmptyAssign_operatorContext() *Assign_operatorContext { + var p = new(Assign_operatorContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_label_decl + p.RuleIndex = PostgreSQLParserRULE_assign_operator return p } -func InitEmptyLabel_declContext(p *Label_declContext) { +func InitEmptyAssign_operatorContext(p *Assign_operatorContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_label_decl + p.RuleIndex = PostgreSQLParserRULE_assign_operator } -func (*Label_declContext) IsLabel_declContext() {} +func (*Assign_operatorContext) IsAssign_operatorContext() {} -func NewLabel_declContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Label_declContext { - var p = new(Label_declContext) +func NewAssign_operatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Assign_operatorContext { + var p = new(Assign_operatorContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_label_decl + p.RuleIndex = PostgreSQLParserRULE_assign_operator return p } -func (s *Label_declContext) GetParser() antlr.Parser { return s.parser } - -func (s *Label_declContext) LESS_LESS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLESS_LESS, 0) -} - -func (s *Label_declContext) Any_identifier() IAny_identifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_identifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Assign_operatorContext) GetParser() antlr.Parser { return s.parser } - return t.(IAny_identifierContext) +func (s *Assign_operatorContext) EQUAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEQUAL, 0) } -func (s *Label_declContext) GREATER_GREATER() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGREATER_GREATER, 0) +func (s *Assign_operatorContext) COLON_EQUALS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLON_EQUALS, 0) } -func (s *Label_declContext) GetRuleContext() antlr.RuleContext { +func (s *Assign_operatorContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Label_declContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Assign_operatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Label_declContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Assign_operatorContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterLabel_decl(s) + listenerT.EnterAssign_operator(s) } } -func (s *Label_declContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Assign_operatorContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitLabel_decl(s) + listenerT.ExitAssign_operator(s) } } -func (s *Label_declContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Assign_operatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitLabel_decl(s) + return t.VisitAssign_operator(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Label_decl() (localctx ILabel_declContext) { - localctx = NewLabel_declContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1470, PostgreSQLParserRULE_label_decl) +func (p *PostgreSQLParser) Assign_operator() (localctx IAssign_operatorContext) { + localctx = NewAssign_operatorContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1496, PostgreSQLParserRULE_assign_operator) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(10872) - p.Match(PostgreSQLParserLESS_LESS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10873) - p.Any_identifier() - } - { - p.SetState(10874) - p.Match(PostgreSQLParserGREATER_GREATER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(10893) + _la = p.GetTokenStream().LA(1) + + if !(_la == PostgreSQLParserEQUAL || _la == PostgreSQLParserCOLON_EQUALS) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } @@ -176698,80 +175080,84 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_stmtContext is an interface to support dynamic dispatch. -type IDecl_stmtContext interface { +// IProc_sectContext is an interface to support dynamic dispatch. +type IProc_sectContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Decl_statement() IDecl_statementContext - DECLARE() antlr.TerminalNode - Label_decl() ILabel_declContext + AllProc_stmt() []IProc_stmtContext + Proc_stmt(i int) IProc_stmtContext - // IsDecl_stmtContext differentiates from other interfaces. - IsDecl_stmtContext() + // IsProc_sectContext differentiates from other interfaces. + IsProc_sectContext() } -type Decl_stmtContext struct { +type Proc_sectContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_stmtContext() *Decl_stmtContext { - var p = new(Decl_stmtContext) +func NewEmptyProc_sectContext() *Proc_sectContext { + var p = new(Proc_sectContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_stmt + p.RuleIndex = PostgreSQLParserRULE_proc_sect return p } -func InitEmptyDecl_stmtContext(p *Decl_stmtContext) { +func InitEmptyProc_sectContext(p *Proc_sectContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_stmt + p.RuleIndex = PostgreSQLParserRULE_proc_sect } -func (*Decl_stmtContext) IsDecl_stmtContext() {} +func (*Proc_sectContext) IsProc_sectContext() {} -func NewDecl_stmtContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_stmtContext { - var p = new(Decl_stmtContext) +func NewProc_sectContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_sectContext { + var p = new(Proc_sectContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_stmt + p.RuleIndex = PostgreSQLParserRULE_proc_sect return p } -func (s *Decl_stmtContext) GetParser() antlr.Parser { return s.parser } +func (s *Proc_sectContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_stmtContext) Decl_statement() IDecl_statementContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_statementContext); ok { - t = ctx.(antlr.RuleContext) - break +func (s *Proc_sectContext) AllProc_stmt() []IProc_stmtContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IProc_stmtContext); ok { + len++ } } - if t == nil { - return nil + tst := make([]IProc_stmtContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IProc_stmtContext); ok { + tst[i] = t.(IProc_stmtContext) + i++ + } } - return t.(IDecl_statementContext) -} - -func (s *Decl_stmtContext) DECLARE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDECLARE, 0) + return tst } -func (s *Decl_stmtContext) Label_decl() ILabel_declContext { +func (s *Proc_sectContext) Proc_stmt(i int) IProc_stmtContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILabel_declContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(IProc_stmtContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -176779,76 +175165,71 @@ func (s *Decl_stmtContext) Label_decl() ILabel_declContext { return nil } - return t.(ILabel_declContext) + return t.(IProc_stmtContext) } -func (s *Decl_stmtContext) GetRuleContext() antlr.RuleContext { +func (s *Proc_sectContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_stmtContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Proc_sectContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_stmtContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Proc_sectContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_stmt(s) + listenerT.EnterProc_sect(s) } } -func (s *Decl_stmtContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Proc_sectContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_stmt(s) + listenerT.ExitProc_sect(s) } } -func (s *Decl_stmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Proc_sectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_stmt(s) + return t.VisitProc_sect(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_stmt() (localctx IDecl_stmtContext) { - localctx = NewDecl_stmtContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1472, PostgreSQLParserRULE_decl_stmt) - p.SetState(10879) +func (p *PostgreSQLParser) Proc_sect() (localctx IProc_sectContext) { + localctx = NewProc_sectContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1498, PostgreSQLParserRULE_proc_sect) + var _alt int + + p.EnterOuterAlt(localctx, 1) + p.SetState(10898) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1074, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit + } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(10895) + p.Proc_stmt() + } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1063, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10876) - p.Decl_statement() } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(10877) - p.Match(PostgreSQLParserDECLARE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10900) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(10878) - p.Label_decl() + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1074, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit } - - case antlr.ATNInvalidAltNumber: - goto errorExit } errorExit: @@ -176864,70 +175245,81 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_statementContext is an interface to support dynamic dispatch. -type IDecl_statementContext interface { +// IProc_stmtContext is an interface to support dynamic dispatch. +type IProc_stmtContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Decl_varname() IDecl_varnameContext + Pl_block() IPl_blockContext SEMI() antlr.TerminalNode - ALIAS() antlr.TerminalNode - FOR() antlr.TerminalNode - Decl_aliasitem() IDecl_aliasitemContext - Decl_datatype() IDecl_datatypeContext - CURSOR() antlr.TerminalNode - Decl_is_for() IDecl_is_forContext - Decl_cursor_query() IDecl_cursor_queryContext - Decl_const() IDecl_constContext - Decl_collate() IDecl_collateContext - Decl_notnull() IDecl_notnullContext - Decl_defval() IDecl_defvalContext - Opt_scrollable() IOpt_scrollableContext - Decl_cursor_args() IDecl_cursor_argsContext + Stmt_return() IStmt_returnContext + Stmt_raise() IStmt_raiseContext + Stmt_assign() IStmt_assignContext + Stmt_if() IStmt_ifContext + Stmt_case() IStmt_caseContext + Stmt_loop() IStmt_loopContext + Stmt_while() IStmt_whileContext + Stmt_for() IStmt_forContext + Stmt_foreach_a() IStmt_foreach_aContext + Stmt_exit() IStmt_exitContext + Stmt_assert() IStmt_assertContext + Stmt_execsql() IStmt_execsqlContext + Stmt_dynexecute() IStmt_dynexecuteContext + Stmt_perform() IStmt_performContext + Stmt_call() IStmt_callContext + Stmt_getdiag() IStmt_getdiagContext + Stmt_open() IStmt_openContext + Stmt_fetch() IStmt_fetchContext + Stmt_move() IStmt_moveContext + Stmt_close() IStmt_closeContext + Stmt_null() IStmt_nullContext + Stmt_commit() IStmt_commitContext + Stmt_rollback() IStmt_rollbackContext + Stmt_set() IStmt_setContext - // IsDecl_statementContext differentiates from other interfaces. - IsDecl_statementContext() + // IsProc_stmtContext differentiates from other interfaces. + IsProc_stmtContext() } -type Decl_statementContext struct { +type Proc_stmtContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_statementContext() *Decl_statementContext { - var p = new(Decl_statementContext) +func NewEmptyProc_stmtContext() *Proc_stmtContext { + var p = new(Proc_stmtContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_statement + p.RuleIndex = PostgreSQLParserRULE_proc_stmt return p } -func InitEmptyDecl_statementContext(p *Decl_statementContext) { +func InitEmptyProc_stmtContext(p *Proc_stmtContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_statement + p.RuleIndex = PostgreSQLParserRULE_proc_stmt } -func (*Decl_statementContext) IsDecl_statementContext() {} +func (*Proc_stmtContext) IsProc_stmtContext() {} -func NewDecl_statementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_statementContext { - var p = new(Decl_statementContext) +func NewProc_stmtContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_stmtContext { + var p = new(Proc_stmtContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_statement + p.RuleIndex = PostgreSQLParserRULE_proc_stmt return p } -func (s *Decl_statementContext) GetParser() antlr.Parser { return s.parser } +func (s *Proc_stmtContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_statementContext) Decl_varname() IDecl_varnameContext { +func (s *Proc_stmtContext) Pl_block() IPl_blockContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_varnameContext); ok { + if _, ok := ctx.(IPl_blockContext); ok { t = ctx.(antlr.RuleContext) break } @@ -176937,25 +175329,17 @@ func (s *Decl_statementContext) Decl_varname() IDecl_varnameContext { return nil } - return t.(IDecl_varnameContext) + return t.(IPl_blockContext) } -func (s *Decl_statementContext) SEMI() antlr.TerminalNode { +func (s *Proc_stmtContext) SEMI() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Decl_statementContext) ALIAS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALIAS, 0) -} - -func (s *Decl_statementContext) FOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOR, 0) -} - -func (s *Decl_statementContext) Decl_aliasitem() IDecl_aliasitemContext { +func (s *Proc_stmtContext) Stmt_return() IStmt_returnContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_aliasitemContext); ok { + if _, ok := ctx.(IStmt_returnContext); ok { t = ctx.(antlr.RuleContext) break } @@ -176965,13 +175349,13 @@ func (s *Decl_statementContext) Decl_aliasitem() IDecl_aliasitemContext { return nil } - return t.(IDecl_aliasitemContext) + return t.(IStmt_returnContext) } -func (s *Decl_statementContext) Decl_datatype() IDecl_datatypeContext { +func (s *Proc_stmtContext) Stmt_raise() IStmt_raiseContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_datatypeContext); ok { + if _, ok := ctx.(IStmt_raiseContext); ok { t = ctx.(antlr.RuleContext) break } @@ -176981,17 +175365,13 @@ func (s *Decl_statementContext) Decl_datatype() IDecl_datatypeContext { return nil } - return t.(IDecl_datatypeContext) -} - -func (s *Decl_statementContext) CURSOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURSOR, 0) + return t.(IStmt_raiseContext) } -func (s *Decl_statementContext) Decl_is_for() IDecl_is_forContext { +func (s *Proc_stmtContext) Stmt_assign() IStmt_assignContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_is_forContext); ok { + if _, ok := ctx.(IStmt_assignContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177001,13 +175381,13 @@ func (s *Decl_statementContext) Decl_is_for() IDecl_is_forContext { return nil } - return t.(IDecl_is_forContext) + return t.(IStmt_assignContext) } -func (s *Decl_statementContext) Decl_cursor_query() IDecl_cursor_queryContext { +func (s *Proc_stmtContext) Stmt_if() IStmt_ifContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_cursor_queryContext); ok { + if _, ok := ctx.(IStmt_ifContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177017,13 +175397,13 @@ func (s *Decl_statementContext) Decl_cursor_query() IDecl_cursor_queryContext { return nil } - return t.(IDecl_cursor_queryContext) + return t.(IStmt_ifContext) } -func (s *Decl_statementContext) Decl_const() IDecl_constContext { +func (s *Proc_stmtContext) Stmt_case() IStmt_caseContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_constContext); ok { + if _, ok := ctx.(IStmt_caseContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177033,13 +175413,13 @@ func (s *Decl_statementContext) Decl_const() IDecl_constContext { return nil } - return t.(IDecl_constContext) + return t.(IStmt_caseContext) } -func (s *Decl_statementContext) Decl_collate() IDecl_collateContext { +func (s *Proc_stmtContext) Stmt_loop() IStmt_loopContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_collateContext); ok { + if _, ok := ctx.(IStmt_loopContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177049,13 +175429,13 @@ func (s *Decl_statementContext) Decl_collate() IDecl_collateContext { return nil } - return t.(IDecl_collateContext) + return t.(IStmt_loopContext) } -func (s *Decl_statementContext) Decl_notnull() IDecl_notnullContext { +func (s *Proc_stmtContext) Stmt_while() IStmt_whileContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_notnullContext); ok { + if _, ok := ctx.(IStmt_whileContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177065,13 +175445,13 @@ func (s *Decl_statementContext) Decl_notnull() IDecl_notnullContext { return nil } - return t.(IDecl_notnullContext) + return t.(IStmt_whileContext) } -func (s *Decl_statementContext) Decl_defval() IDecl_defvalContext { +func (s *Proc_stmtContext) Stmt_for() IStmt_forContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_defvalContext); ok { + if _, ok := ctx.(IStmt_forContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177081,13 +175461,13 @@ func (s *Decl_statementContext) Decl_defval() IDecl_defvalContext { return nil } - return t.(IDecl_defvalContext) + return t.(IStmt_forContext) } -func (s *Decl_statementContext) Opt_scrollable() IOpt_scrollableContext { +func (s *Proc_stmtContext) Stmt_foreach_a() IStmt_foreach_aContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_scrollableContext); ok { + if _, ok := ctx.(IStmt_foreach_aContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177097,13 +175477,13 @@ func (s *Decl_statementContext) Opt_scrollable() IOpt_scrollableContext { return nil } - return t.(IOpt_scrollableContext) + return t.(IStmt_foreach_aContext) } -func (s *Decl_statementContext) Decl_cursor_args() IDecl_cursor_argsContext { +func (s *Proc_stmtContext) Stmt_exit() IStmt_exitContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_cursor_argsContext); ok { + if _, ok := ctx.(IStmt_exitContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177113,451 +175493,458 @@ func (s *Decl_statementContext) Decl_cursor_args() IDecl_cursor_argsContext { return nil } - return t.(IDecl_cursor_argsContext) + return t.(IStmt_exitContext) } -func (s *Decl_statementContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *Proc_stmtContext) Stmt_assert() IStmt_assertContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_assertContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Decl_statementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + if t == nil { + return nil + } + + return t.(IStmt_assertContext) } -func (s *Decl_statementContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_statement(s) +func (s *Proc_stmtContext) Stmt_execsql() IStmt_execsqlContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_execsqlContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *Decl_statementContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_statement(s) + if t == nil { + return nil } + + return t.(IStmt_execsqlContext) } -func (s *Decl_statementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitDecl_statement(s) +func (s *Proc_stmtContext) Stmt_dynexecute() IStmt_dynexecuteContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_dynexecuteContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - default: - return t.VisitChildren(s) + if t == nil { + return nil } -} -func (p *PostgreSQLParser) Decl_statement() (localctx IDecl_statementContext) { - localctx = NewDecl_statementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1474, PostgreSQLParserRULE_decl_statement) - var _la int + return t.(IStmt_dynexecuteContext) +} - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10881) - p.Decl_varname() +func (s *Proc_stmtContext) Stmt_perform() IStmt_performContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_performContext); ok { + t = ctx.(antlr.RuleContext) + break + } } - p.SetState(10908) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + + if t == nil { + return nil } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1070, p.GetParserRuleContext()) { - case 1: - { - p.SetState(10882) - p.Match(PostgreSQLParserALIAS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10883) - p.Match(PostgreSQLParserFOR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10884) - p.Decl_aliasitem() + return t.(IStmt_performContext) +} + +func (s *Proc_stmtContext) Stmt_call() IStmt_callContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_callContext); ok { + t = ctx.(antlr.RuleContext) + break } + } - case 2: - p.SetState(10886) - p.GetErrorHandler().Sync(p) + if t == nil { + return nil + } - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1064, p.GetParserRuleContext()) == 1 { - { - p.SetState(10885) - p.Decl_const() - } + return t.(IStmt_callContext) +} - } else if p.HasError() { // JIM - goto errorExit - } - { - p.SetState(10888) - p.Decl_datatype() - } - p.SetState(10890) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (s *Proc_stmtContext) Stmt_getdiag() IStmt_getdiagContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_getdiagContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserCOLLATE { - { - p.SetState(10889) - p.Decl_collate() - } + } - } - p.SetState(10893) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + if t == nil { + return nil + } - if _la == PostgreSQLParserNOT { - { - p.SetState(10892) - p.Decl_notnull() - } + return t.(IStmt_getdiagContext) +} +func (s *Proc_stmtContext) Stmt_open() IStmt_openContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_openContext); ok { + t = ctx.(antlr.RuleContext) + break } - p.SetState(10896) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + } - if (int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&9007199255790592) != 0 { - { - p.SetState(10895) - p.Decl_defval() - } + if t == nil { + return nil + } - } + return t.(IStmt_openContext) +} - case 3: - p.SetState(10899) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (s *Proc_stmtContext) Stmt_fetch() IStmt_fetchContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_fetchContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserNO || _la == PostgreSQLParserSCROLL { - { - p.SetState(10898) - p.Opt_scrollable() - } + } - } - { - p.SetState(10901) - p.Match(PostgreSQLParserCURSOR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(10903) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + if t == nil { + return nil + } - if _la == PostgreSQLParserOPEN_PAREN { - { - p.SetState(10902) - p.Decl_cursor_args() - } + return t.(IStmt_fetchContext) +} +func (s *Proc_stmtContext) Stmt_move() IStmt_moveContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_moveContext); ok { + t = ctx.(antlr.RuleContext) + break } - { - p.SetState(10905) - p.Decl_is_for() - } - { - p.SetState(10906) - p.Decl_cursor_query() - } + } - case antlr.ATNInvalidAltNumber: - goto errorExit + if t == nil { + return nil } - { - p.SetState(10910) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + return t.(IStmt_moveContext) +} + +func (s *Proc_stmtContext) Stmt_close() IStmt_closeContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_closeContext); ok { + t = ctx.(antlr.RuleContext) + break } } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} -// IOpt_scrollableContext is an interface to support dynamic dispatch. -type IOpt_scrollableContext interface { - antlr.ParserRuleContext + return t.(IStmt_closeContext) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Proc_stmtContext) Stmt_null() IStmt_nullContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_nullContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - // Getter signatures - NO() antlr.TerminalNode - SCROLL() antlr.TerminalNode + if t == nil { + return nil + } - // IsOpt_scrollableContext differentiates from other interfaces. - IsOpt_scrollableContext() + return t.(IStmt_nullContext) } -type Opt_scrollableContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *Proc_stmtContext) Stmt_commit() IStmt_commitContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_commitContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptyOpt_scrollableContext() *Opt_scrollableContext { - var p = new(Opt_scrollableContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_scrollable - return p -} + if t == nil { + return nil + } -func InitEmptyOpt_scrollableContext(p *Opt_scrollableContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_scrollable + return t.(IStmt_commitContext) } -func (*Opt_scrollableContext) IsOpt_scrollableContext() {} - -func NewOpt_scrollableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_scrollableContext { - var p = new(Opt_scrollableContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Proc_stmtContext) Stmt_rollback() IStmt_rollbackContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_rollbackContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_scrollable + if t == nil { + return nil + } - return p + return t.(IStmt_rollbackContext) } -func (s *Opt_scrollableContext) GetParser() antlr.Parser { return s.parser } +func (s *Proc_stmtContext) Stmt_set() IStmt_setContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_setContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Opt_scrollableContext) NO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNO, 0) -} + if t == nil { + return nil + } -func (s *Opt_scrollableContext) SCROLL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCROLL, 0) + return t.(IStmt_setContext) } -func (s *Opt_scrollableContext) GetRuleContext() antlr.RuleContext { +func (s *Proc_stmtContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_scrollableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Proc_stmtContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_scrollableContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Proc_stmtContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_scrollable(s) + listenerT.EnterProc_stmt(s) } } -func (s *Opt_scrollableContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Proc_stmtContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_scrollable(s) + listenerT.ExitProc_stmt(s) } } -func (s *Opt_scrollableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Proc_stmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_scrollable(s) + return t.VisitProc_stmt(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_scrollable() (localctx IOpt_scrollableContext) { - localctx = NewOpt_scrollableContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1476, PostgreSQLParserRULE_opt_scrollable) - p.SetState(10915) +func (p *PostgreSQLParser) Proc_stmt() (localctx IProc_stmtContext) { + localctx = NewProc_stmtContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1500, PostgreSQLParserRULE_proc_stmt) + p.SetState(10928) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserNO: + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1075, p.GetParserRuleContext()) { + case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(10912) - p.Match(PostgreSQLParserNO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10901) + p.Pl_block() } { - p.SetState(10913) - p.Match(PostgreSQLParserSCROLL) + p.SetState(10902) + p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case PostgreSQLParserSCROLL: + case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(10914) - p.Match(PostgreSQLParserSCROLL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10904) + p.Stmt_return() } - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} + case 3: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(10905) + p.Stmt_raise() + } -// IDecl_cursor_queryContext is an interface to support dynamic dispatch. -type IDecl_cursor_queryContext interface { - antlr.ParserRuleContext + case 4: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(10906) + p.Stmt_assign() + } - // GetParser returns the parser. - GetParser() antlr.Parser + case 5: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(10907) + p.Stmt_if() + } - // Getter signatures - Selectstmt() ISelectstmtContext + case 6: + p.EnterOuterAlt(localctx, 6) + { + p.SetState(10908) + p.Stmt_case() + } - // IsDecl_cursor_queryContext differentiates from other interfaces. - IsDecl_cursor_queryContext() -} + case 7: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(10909) + p.Stmt_loop() + } -type Decl_cursor_queryContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} + case 8: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(10910) + p.Stmt_while() + } -func NewEmptyDecl_cursor_queryContext() *Decl_cursor_queryContext { - var p = new(Decl_cursor_queryContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_query - return p -} + case 9: + p.EnterOuterAlt(localctx, 9) + { + p.SetState(10911) + p.Stmt_for() + } -func InitEmptyDecl_cursor_queryContext(p *Decl_cursor_queryContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_query -} + case 10: + p.EnterOuterAlt(localctx, 10) + { + p.SetState(10912) + p.Stmt_foreach_a() + } -func (*Decl_cursor_queryContext) IsDecl_cursor_queryContext() {} + case 11: + p.EnterOuterAlt(localctx, 11) + { + p.SetState(10913) + p.Stmt_exit() + } -func NewDecl_cursor_queryContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_queryContext { - var p = new(Decl_cursor_queryContext) + case 12: + p.EnterOuterAlt(localctx, 12) + { + p.SetState(10914) + p.Stmt_assert() + } - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + case 13: + p.EnterOuterAlt(localctx, 13) + { + p.SetState(10915) + p.Stmt_execsql() + } - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_query + case 14: + p.EnterOuterAlt(localctx, 14) + { + p.SetState(10916) + p.Stmt_dynexecute() + } - return p -} + case 15: + p.EnterOuterAlt(localctx, 15) + { + p.SetState(10917) + p.Stmt_perform() + } -func (s *Decl_cursor_queryContext) GetParser() antlr.Parser { return s.parser } + case 16: + p.EnterOuterAlt(localctx, 16) + { + p.SetState(10918) + p.Stmt_call() + } -func (s *Decl_cursor_queryContext) Selectstmt() ISelectstmtContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISelectstmtContext); ok { - t = ctx.(antlr.RuleContext) - break + case 17: + p.EnterOuterAlt(localctx, 17) + { + p.SetState(10919) + p.Stmt_getdiag() } - } - if t == nil { - return nil - } + case 18: + p.EnterOuterAlt(localctx, 18) + { + p.SetState(10920) + p.Stmt_open() + } - return t.(ISelectstmtContext) -} + case 19: + p.EnterOuterAlt(localctx, 19) + { + p.SetState(10921) + p.Stmt_fetch() + } -func (s *Decl_cursor_queryContext) GetRuleContext() antlr.RuleContext { - return s -} + case 20: + p.EnterOuterAlt(localctx, 20) + { + p.SetState(10922) + p.Stmt_move() + } -func (s *Decl_cursor_queryContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} + case 21: + p.EnterOuterAlt(localctx, 21) + { + p.SetState(10923) + p.Stmt_close() + } -func (s *Decl_cursor_queryContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_cursor_query(s) - } -} + case 22: + p.EnterOuterAlt(localctx, 22) + { + p.SetState(10924) + p.Stmt_null() + } -func (s *Decl_cursor_queryContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_cursor_query(s) - } -} + case 23: + p.EnterOuterAlt(localctx, 23) + { + p.SetState(10925) + p.Stmt_commit() + } -func (s *Decl_cursor_queryContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitDecl_cursor_query(s) + case 24: + p.EnterOuterAlt(localctx, 24) + { + p.SetState(10926) + p.Stmt_rollback() + } - default: - return t.VisitChildren(s) - } -} + case 25: + p.EnterOuterAlt(localctx, 25) + { + p.SetState(10927) + p.Stmt_set() + } -func (p *PostgreSQLParser) Decl_cursor_query() (localctx IDecl_cursor_queryContext) { - localctx = NewDecl_cursor_queryContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1478, PostgreSQLParserRULE_decl_cursor_query) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10917) - p.Selectstmt() + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -177573,62 +175960,62 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_cursor_argsContext is an interface to support dynamic dispatch. -type IDecl_cursor_argsContext interface { +// IStmt_performContext is an interface to support dynamic dispatch. +type IStmt_performContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - OPEN_PAREN() antlr.TerminalNode - Decl_cursor_arglist() IDecl_cursor_arglistContext - CLOSE_PAREN() antlr.TerminalNode + PERFORM() antlr.TerminalNode + Expr_until_semi() IExpr_until_semiContext + SEMI() antlr.TerminalNode - // IsDecl_cursor_argsContext differentiates from other interfaces. - IsDecl_cursor_argsContext() + // IsStmt_performContext differentiates from other interfaces. + IsStmt_performContext() } -type Decl_cursor_argsContext struct { +type Stmt_performContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_cursor_argsContext() *Decl_cursor_argsContext { - var p = new(Decl_cursor_argsContext) +func NewEmptyStmt_performContext() *Stmt_performContext { + var p = new(Stmt_performContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_args + p.RuleIndex = PostgreSQLParserRULE_stmt_perform return p } -func InitEmptyDecl_cursor_argsContext(p *Decl_cursor_argsContext) { +func InitEmptyStmt_performContext(p *Stmt_performContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_args + p.RuleIndex = PostgreSQLParserRULE_stmt_perform } -func (*Decl_cursor_argsContext) IsDecl_cursor_argsContext() {} +func (*Stmt_performContext) IsStmt_performContext() {} -func NewDecl_cursor_argsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_argsContext { - var p = new(Decl_cursor_argsContext) +func NewStmt_performContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_performContext { + var p = new(Stmt_performContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_args + p.RuleIndex = PostgreSQLParserRULE_stmt_perform return p } -func (s *Decl_cursor_argsContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_performContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_cursor_argsContext) OPEN_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) +func (s *Stmt_performContext) PERFORM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPERFORM, 0) } -func (s *Decl_cursor_argsContext) Decl_cursor_arglist() IDecl_cursor_arglistContext { +func (s *Stmt_performContext) Expr_until_semi() IExpr_until_semiContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_cursor_arglistContext); ok { + if _, ok := ctx.(IExpr_until_semiContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177638,62 +176025,62 @@ func (s *Decl_cursor_argsContext) Decl_cursor_arglist() IDecl_cursor_arglistCont return nil } - return t.(IDecl_cursor_arglistContext) + return t.(IExpr_until_semiContext) } -func (s *Decl_cursor_argsContext) CLOSE_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) +func (s *Stmt_performContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Decl_cursor_argsContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_performContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_cursor_argsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_performContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_cursor_argsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_performContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_cursor_args(s) + listenerT.EnterStmt_perform(s) } } -func (s *Decl_cursor_argsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_performContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_cursor_args(s) + listenerT.ExitStmt_perform(s) } } -func (s *Decl_cursor_argsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_performContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_cursor_args(s) + return t.VisitStmt_perform(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_cursor_args() (localctx IDecl_cursor_argsContext) { - localctx = NewDecl_cursor_argsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1480, PostgreSQLParserRULE_decl_cursor_args) +func (p *PostgreSQLParser) Stmt_perform() (localctx IStmt_performContext) { + localctx = NewStmt_performContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1502, PostgreSQLParserRULE_stmt_perform) p.EnterOuterAlt(localctx, 1) { - p.SetState(10919) - p.Match(PostgreSQLParserOPEN_PAREN) + p.SetState(10930) + p.Match(PostgreSQLParserPERFORM) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10920) - p.Decl_cursor_arglist() + p.SetState(10931) + p.Expr_until_semi() } { - p.SetState(10921) - p.Match(PostgreSQLParserCLOSE_PAREN) + p.SetState(10932) + p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -177713,86 +176100,96 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_cursor_arglistContext is an interface to support dynamic dispatch. -type IDecl_cursor_arglistContext interface { +// IStmt_callContext is an interface to support dynamic dispatch. +type IStmt_callContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllDecl_cursor_arg() []IDecl_cursor_argContext - Decl_cursor_arg(i int) IDecl_cursor_argContext - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode + CALL() antlr.TerminalNode + Any_identifier() IAny_identifierContext + OPEN_PAREN() antlr.TerminalNode + CLOSE_PAREN() antlr.TerminalNode + SEMI() antlr.TerminalNode + Opt_expr_list() IOpt_expr_listContext + DO() antlr.TerminalNode - // IsDecl_cursor_arglistContext differentiates from other interfaces. - IsDecl_cursor_arglistContext() + // IsStmt_callContext differentiates from other interfaces. + IsStmt_callContext() } -type Decl_cursor_arglistContext struct { +type Stmt_callContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_cursor_arglistContext() *Decl_cursor_arglistContext { - var p = new(Decl_cursor_arglistContext) +func NewEmptyStmt_callContext() *Stmt_callContext { + var p = new(Stmt_callContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arglist + p.RuleIndex = PostgreSQLParserRULE_stmt_call return p } -func InitEmptyDecl_cursor_arglistContext(p *Decl_cursor_arglistContext) { +func InitEmptyStmt_callContext(p *Stmt_callContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arglist + p.RuleIndex = PostgreSQLParserRULE_stmt_call } -func (*Decl_cursor_arglistContext) IsDecl_cursor_arglistContext() {} +func (*Stmt_callContext) IsStmt_callContext() {} -func NewDecl_cursor_arglistContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_arglistContext { - var p = new(Decl_cursor_arglistContext) +func NewStmt_callContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_callContext { + var p = new(Stmt_callContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arglist + p.RuleIndex = PostgreSQLParserRULE_stmt_call return p } -func (s *Decl_cursor_arglistContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_callContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_cursor_arglistContext) AllDecl_cursor_arg() []IDecl_cursor_argContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IDecl_cursor_argContext); ok { - len++ +func (s *Stmt_callContext) CALL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCALL, 0) +} + +func (s *Stmt_callContext) Any_identifier() IAny_identifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAny_identifierContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IDecl_cursor_argContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IDecl_cursor_argContext); ok { - tst[i] = t.(IDecl_cursor_argContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IAny_identifierContext) } -func (s *Decl_cursor_arglistContext) Decl_cursor_arg(i int) IDecl_cursor_argContext { +func (s *Stmt_callContext) OPEN_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) +} + +func (s *Stmt_callContext) CLOSE_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) +} + +func (s *Stmt_callContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_callContext) Opt_expr_list() IOpt_expr_listContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_cursor_argContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IOpt_expr_listContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -177800,84 +176197,164 @@ func (s *Decl_cursor_arglistContext) Decl_cursor_arg(i int) IDecl_cursor_argCont return nil } - return t.(IDecl_cursor_argContext) -} - -func (s *Decl_cursor_arglistContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) + return t.(IOpt_expr_listContext) } -func (s *Decl_cursor_arglistContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) +func (s *Stmt_callContext) DO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDO, 0) } -func (s *Decl_cursor_arglistContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_callContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_cursor_arglistContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_callContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_cursor_arglistContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_callContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_cursor_arglist(s) + listenerT.EnterStmt_call(s) } } -func (s *Decl_cursor_arglistContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_callContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_cursor_arglist(s) + listenerT.ExitStmt_call(s) } } -func (s *Decl_cursor_arglistContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_callContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_cursor_arglist(s) + return t.VisitStmt_call(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_cursor_arglist() (localctx IDecl_cursor_arglistContext) { - localctx = NewDecl_cursor_arglistContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1482, PostgreSQLParserRULE_decl_cursor_arglist) +func (p *PostgreSQLParser) Stmt_call() (localctx IStmt_callContext) { + localctx = NewStmt_callContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1504, PostgreSQLParserRULE_stmt_call) var _la int - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10923) - p.Decl_cursor_arg() - } - p.SetState(10928) + p.SetState(10952) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - for _la == PostgreSQLParserCOMMA { + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserCALL: + p.EnterOuterAlt(localctx, 1) { - p.SetState(10924) - p.Match(PostgreSQLParserCOMMA) + p.SetState(10934) + p.Match(PostgreSQLParserCALL) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10925) - p.Decl_cursor_arg() + p.SetState(10935) + p.Any_identifier() + } + { + p.SetState(10936) + p.Match(PostgreSQLParserOPEN_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(10938) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - p.SetState(10930) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { + { + p.SetState(10937) + p.Opt_expr_list() + } + + } + { + p.SetState(10940) + p.Match(PostgreSQLParserCLOSE_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10941) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case PostgreSQLParserDO: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(10943) + p.Match(PostgreSQLParserDO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10944) + p.Any_identifier() + } + { + p.SetState(10945) + p.Match(PostgreSQLParserOPEN_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(10947) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639175028737) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&432556670403469279) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { + { + p.SetState(10946) + p.Opt_expr_list() + } + + } + { + p.SetState(10949) + p.Match(PostgreSQLParserCLOSE_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10950) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } errorExit: @@ -177893,73 +176370,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_cursor_argContext is an interface to support dynamic dispatch. -type IDecl_cursor_argContext interface { +// IOpt_expr_listContext is an interface to support dynamic dispatch. +type IOpt_expr_listContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Decl_varname() IDecl_varnameContext - Decl_datatype() IDecl_datatypeContext + Expr_list() IExpr_listContext - // IsDecl_cursor_argContext differentiates from other interfaces. - IsDecl_cursor_argContext() + // IsOpt_expr_listContext differentiates from other interfaces. + IsOpt_expr_listContext() } -type Decl_cursor_argContext struct { +type Opt_expr_listContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_cursor_argContext() *Decl_cursor_argContext { - var p = new(Decl_cursor_argContext) +func NewEmptyOpt_expr_listContext() *Opt_expr_listContext { + var p = new(Opt_expr_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arg + p.RuleIndex = PostgreSQLParserRULE_opt_expr_list return p } -func InitEmptyDecl_cursor_argContext(p *Decl_cursor_argContext) { +func InitEmptyOpt_expr_listContext(p *Opt_expr_listContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arg + p.RuleIndex = PostgreSQLParserRULE_opt_expr_list } -func (*Decl_cursor_argContext) IsDecl_cursor_argContext() {} +func (*Opt_expr_listContext) IsOpt_expr_listContext() {} -func NewDecl_cursor_argContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_cursor_argContext { - var p = new(Decl_cursor_argContext) +func NewOpt_expr_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_expr_listContext { + var p = new(Opt_expr_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_cursor_arg + p.RuleIndex = PostgreSQLParserRULE_opt_expr_list return p } -func (s *Decl_cursor_argContext) GetParser() antlr.Parser { return s.parser } - -func (s *Decl_cursor_argContext) Decl_varname() IDecl_varnameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_varnameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IDecl_varnameContext) -} +func (s *Opt_expr_listContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_cursor_argContext) Decl_datatype() IDecl_datatypeContext { +func (s *Opt_expr_listContext) Expr_list() IExpr_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_datatypeContext); ok { + if _, ok := ctx.(IExpr_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -177969,50 +176429,46 @@ func (s *Decl_cursor_argContext) Decl_datatype() IDecl_datatypeContext { return nil } - return t.(IDecl_datatypeContext) + return t.(IExpr_listContext) } -func (s *Decl_cursor_argContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_expr_listContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_cursor_argContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_expr_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_cursor_argContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_expr_listContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_cursor_arg(s) + listenerT.EnterOpt_expr_list(s) } } -func (s *Decl_cursor_argContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_expr_listContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_cursor_arg(s) + listenerT.ExitOpt_expr_list(s) } } -func (s *Decl_cursor_argContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_expr_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_cursor_arg(s) + return t.VisitOpt_expr_list(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_cursor_arg() (localctx IDecl_cursor_argContext) { - localctx = NewDecl_cursor_argContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1484, PostgreSQLParserRULE_decl_cursor_arg) +func (p *PostgreSQLParser) Opt_expr_list() (localctx IOpt_expr_listContext) { + localctx = NewOpt_expr_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1506, PostgreSQLParserRULE_opt_expr_list) p.EnterOuterAlt(localctx, 1) { - p.SetState(10931) - p.Decl_varname() - } - { - p.SetState(10932) - p.Decl_datatype() + p.SetState(10954) + p.Expr_list() } errorExit: @@ -178028,177 +176484,91 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_is_forContext is an interface to support dynamic dispatch. -type IDecl_is_forContext interface { +// IStmt_assignContext is an interface to support dynamic dispatch. +type IStmt_assignContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - IS() antlr.TerminalNode - FOR() antlr.TerminalNode + Assign_var() IAssign_varContext + Assign_operator() IAssign_operatorContext + Sql_expression() ISql_expressionContext + SEMI() antlr.TerminalNode - // IsDecl_is_forContext differentiates from other interfaces. - IsDecl_is_forContext() + // IsStmt_assignContext differentiates from other interfaces. + IsStmt_assignContext() } -type Decl_is_forContext struct { +type Stmt_assignContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_is_forContext() *Decl_is_forContext { - var p = new(Decl_is_forContext) +func NewEmptyStmt_assignContext() *Stmt_assignContext { + var p = new(Stmt_assignContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_is_for + p.RuleIndex = PostgreSQLParserRULE_stmt_assign return p } -func InitEmptyDecl_is_forContext(p *Decl_is_forContext) { +func InitEmptyStmt_assignContext(p *Stmt_assignContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_is_for + p.RuleIndex = PostgreSQLParserRULE_stmt_assign } -func (*Decl_is_forContext) IsDecl_is_forContext() {} +func (*Stmt_assignContext) IsStmt_assignContext() {} -func NewDecl_is_forContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_is_forContext { - var p = new(Decl_is_forContext) +func NewStmt_assignContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_assignContext { + var p = new(Stmt_assignContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_is_for + p.RuleIndex = PostgreSQLParserRULE_stmt_assign return p } -func (s *Decl_is_forContext) GetParser() antlr.Parser { return s.parser } - -func (s *Decl_is_forContext) IS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIS, 0) -} - -func (s *Decl_is_forContext) FOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOR, 0) -} - -func (s *Decl_is_forContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *Decl_is_forContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} +func (s *Stmt_assignContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_is_forContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_is_for(s) +func (s *Stmt_assignContext) Assign_var() IAssign_varContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAssign_varContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *Decl_is_forContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_is_for(s) + if t == nil { + return nil } -} - -func (s *Decl_is_forContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitDecl_is_for(s) - default: - return t.VisitChildren(s) - } + return t.(IAssign_varContext) } -func (p *PostgreSQLParser) Decl_is_for() (localctx IDecl_is_forContext) { - localctx = NewDecl_is_forContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1486, PostgreSQLParserRULE_decl_is_for) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10934) - _la = p.GetTokenStream().LA(1) - - if !(_la == PostgreSQLParserFOR || _la == PostgreSQLParserIS) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() +func (s *Stmt_assignContext) Assign_operator() IAssign_operatorContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAssign_operatorContext); ok { + t = ctx.(antlr.RuleContext) + break } } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IDecl_aliasitemContext is an interface to support dynamic dispatch. -type IDecl_aliasitemContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - PARAM() antlr.TerminalNode - Colid() IColidContext - - // IsDecl_aliasitemContext differentiates from other interfaces. - IsDecl_aliasitemContext() -} - -type Decl_aliasitemContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} - -func NewEmptyDecl_aliasitemContext() *Decl_aliasitemContext { - var p = new(Decl_aliasitemContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_aliasitem - return p -} - -func InitEmptyDecl_aliasitemContext(p *Decl_aliasitemContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_aliasitem -} - -func (*Decl_aliasitemContext) IsDecl_aliasitemContext() {} - -func NewDecl_aliasitemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_aliasitemContext { - var p = new(Decl_aliasitemContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_aliasitem - - return p -} -func (s *Decl_aliasitemContext) GetParser() antlr.Parser { return s.parser } - -func (s *Decl_aliasitemContext) PARAM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARAM, 0) + return t.(IAssign_operatorContext) } -func (s *Decl_aliasitemContext) Colid() IColidContext { +func (s *Stmt_assignContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IColidContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -178208,70 +176578,66 @@ func (s *Decl_aliasitemContext) Colid() IColidContext { return nil } - return t.(IColidContext) + return t.(ISql_expressionContext) } -func (s *Decl_aliasitemContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_assignContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_assignContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_aliasitemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_assignContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_aliasitemContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_assignContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_aliasitem(s) + listenerT.EnterStmt_assign(s) } } -func (s *Decl_aliasitemContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_assignContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_aliasitem(s) + listenerT.ExitStmt_assign(s) } } -func (s *Decl_aliasitemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_assignContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_aliasitem(s) + return t.VisitStmt_assign(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_aliasitem() (localctx IDecl_aliasitemContext) { - localctx = NewDecl_aliasitemContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1488, PostgreSQLParserRULE_decl_aliasitem) - p.SetState(10938) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (p *PostgreSQLParser) Stmt_assign() (localctx IStmt_assignContext) { + localctx = NewStmt_assignContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1508, PostgreSQLParserRULE_stmt_assign) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(10956) + p.Assign_var() } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserPARAM: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10936) - p.Match(PostgreSQLParserPARAM) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(10937) - p.Colid() + { + p.SetState(10957) + p.Assign_operator() + } + { + p.SetState(10958) + p.Sql_expression() + } + { + p.SetState(10959) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit } errorExit: @@ -178287,56 +176653,68 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_varnameContext is an interface to support dynamic dispatch. -type IDecl_varnameContext interface { +// IStmt_getdiagContext is an interface to support dynamic dispatch. +type IStmt_getdiagContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Any_identifier() IAny_identifierContext + GET() antlr.TerminalNode + DIAGNOSTICS() antlr.TerminalNode + Getdiag_list() IGetdiag_listContext + SEMI() antlr.TerminalNode + Getdiag_area_opt() IGetdiag_area_optContext - // IsDecl_varnameContext differentiates from other interfaces. - IsDecl_varnameContext() + // IsStmt_getdiagContext differentiates from other interfaces. + IsStmt_getdiagContext() } -type Decl_varnameContext struct { +type Stmt_getdiagContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_varnameContext() *Decl_varnameContext { - var p = new(Decl_varnameContext) +func NewEmptyStmt_getdiagContext() *Stmt_getdiagContext { + var p = new(Stmt_getdiagContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_varname + p.RuleIndex = PostgreSQLParserRULE_stmt_getdiag return p } -func InitEmptyDecl_varnameContext(p *Decl_varnameContext) { +func InitEmptyStmt_getdiagContext(p *Stmt_getdiagContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_varname + p.RuleIndex = PostgreSQLParserRULE_stmt_getdiag } -func (*Decl_varnameContext) IsDecl_varnameContext() {} +func (*Stmt_getdiagContext) IsStmt_getdiagContext() {} -func NewDecl_varnameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_varnameContext { - var p = new(Decl_varnameContext) +func NewStmt_getdiagContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_getdiagContext { + var p = new(Stmt_getdiagContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_varname + p.RuleIndex = PostgreSQLParserRULE_stmt_getdiag return p } -func (s *Decl_varnameContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_getdiagContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_varnameContext) Any_identifier() IAny_identifierContext { +func (s *Stmt_getdiagContext) GET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGET, 0) +} + +func (s *Stmt_getdiagContext) DIAGNOSTICS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDIAGNOSTICS, 0) +} + +func (s *Stmt_getdiagContext) Getdiag_list() IGetdiag_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_identifierContext); ok { + if _, ok := ctx.(IGetdiag_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -178346,46 +176724,106 @@ func (s *Decl_varnameContext) Any_identifier() IAny_identifierContext { return nil } - return t.(IAny_identifierContext) + return t.(IGetdiag_listContext) } -func (s *Decl_varnameContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_getdiagContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_getdiagContext) Getdiag_area_opt() IGetdiag_area_optContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGetdiag_area_optContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IGetdiag_area_optContext) +} + +func (s *Stmt_getdiagContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_varnameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_getdiagContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_varnameContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_getdiagContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_varname(s) + listenerT.EnterStmt_getdiag(s) } } -func (s *Decl_varnameContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_getdiagContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_varname(s) + listenerT.ExitStmt_getdiag(s) } } -func (s *Decl_varnameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_getdiagContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_varname(s) + return t.VisitStmt_getdiag(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_varname() (localctx IDecl_varnameContext) { - localctx = NewDecl_varnameContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1490, PostgreSQLParserRULE_decl_varname) +func (p *PostgreSQLParser) Stmt_getdiag() (localctx IStmt_getdiagContext) { + localctx = NewStmt_getdiagContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1510, PostgreSQLParserRULE_stmt_getdiag) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(10940) - p.Any_identifier() + p.SetState(10961) + p.Match(PostgreSQLParserGET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(10963) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserCURRENT_P || _la == PostgreSQLParserSTACKED { + { + p.SetState(10962) + p.Getdiag_area_opt() + } + + } + { + p.SetState(10965) + p.Match(PostgreSQLParserDIAGNOSTICS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10966) + p.Getdiag_list() + } + { + p.SetState(10967) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -178401,96 +176839,106 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_constContext is an interface to support dynamic dispatch. -type IDecl_constContext interface { +// IGetdiag_area_optContext is an interface to support dynamic dispatch. +type IGetdiag_area_optContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - CONSTANT() antlr.TerminalNode + CURRENT_P() antlr.TerminalNode + STACKED() antlr.TerminalNode - // IsDecl_constContext differentiates from other interfaces. - IsDecl_constContext() + // IsGetdiag_area_optContext differentiates from other interfaces. + IsGetdiag_area_optContext() } -type Decl_constContext struct { +type Getdiag_area_optContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_constContext() *Decl_constContext { - var p = new(Decl_constContext) +func NewEmptyGetdiag_area_optContext() *Getdiag_area_optContext { + var p = new(Getdiag_area_optContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_const + p.RuleIndex = PostgreSQLParserRULE_getdiag_area_opt return p } -func InitEmptyDecl_constContext(p *Decl_constContext) { +func InitEmptyGetdiag_area_optContext(p *Getdiag_area_optContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_const + p.RuleIndex = PostgreSQLParserRULE_getdiag_area_opt } -func (*Decl_constContext) IsDecl_constContext() {} +func (*Getdiag_area_optContext) IsGetdiag_area_optContext() {} -func NewDecl_constContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_constContext { - var p = new(Decl_constContext) +func NewGetdiag_area_optContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_area_optContext { + var p = new(Getdiag_area_optContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_const + p.RuleIndex = PostgreSQLParserRULE_getdiag_area_opt return p } -func (s *Decl_constContext) GetParser() antlr.Parser { return s.parser } +func (s *Getdiag_area_optContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_constContext) CONSTANT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONSTANT, 0) +func (s *Getdiag_area_optContext) CURRENT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_P, 0) } -func (s *Decl_constContext) GetRuleContext() antlr.RuleContext { +func (s *Getdiag_area_optContext) STACKED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTACKED, 0) +} + +func (s *Getdiag_area_optContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_constContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Getdiag_area_optContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_constContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_area_optContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_const(s) + listenerT.EnterGetdiag_area_opt(s) } } -func (s *Decl_constContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_area_optContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_const(s) + listenerT.ExitGetdiag_area_opt(s) } } -func (s *Decl_constContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Getdiag_area_optContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_const(s) + return t.VisitGetdiag_area_opt(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_const() (localctx IDecl_constContext) { - localctx = NewDecl_constContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1492, PostgreSQLParserRULE_decl_const) +func (p *PostgreSQLParser) Getdiag_area_opt() (localctx IGetdiag_area_optContext) { + localctx = NewGetdiag_area_optContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1512, PostgreSQLParserRULE_getdiag_area_opt) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(10942) - p.Match(PostgreSQLParserCONSTANT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(10969) + _la = p.GetTokenStream().LA(1) + + if !(_la == PostgreSQLParserCURRENT_P || _la == PostgreSQLParserSTACKED) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } @@ -178507,58 +176955,86 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_datatypeContext is an interface to support dynamic dispatch. -type IDecl_datatypeContext interface { +// IGetdiag_listContext is an interface to support dynamic dispatch. +type IGetdiag_listContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Typename() ITypenameContext + AllGetdiag_list_item() []IGetdiag_list_itemContext + Getdiag_list_item(i int) IGetdiag_list_itemContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode - // IsDecl_datatypeContext differentiates from other interfaces. - IsDecl_datatypeContext() + // IsGetdiag_listContext differentiates from other interfaces. + IsGetdiag_listContext() } -type Decl_datatypeContext struct { +type Getdiag_listContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_datatypeContext() *Decl_datatypeContext { - var p = new(Decl_datatypeContext) +func NewEmptyGetdiag_listContext() *Getdiag_listContext { + var p = new(Getdiag_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_datatype + p.RuleIndex = PostgreSQLParserRULE_getdiag_list return p } -func InitEmptyDecl_datatypeContext(p *Decl_datatypeContext) { +func InitEmptyGetdiag_listContext(p *Getdiag_listContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_datatype + p.RuleIndex = PostgreSQLParserRULE_getdiag_list } -func (*Decl_datatypeContext) IsDecl_datatypeContext() {} +func (*Getdiag_listContext) IsGetdiag_listContext() {} -func NewDecl_datatypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_datatypeContext { - var p = new(Decl_datatypeContext) +func NewGetdiag_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_listContext { + var p = new(Getdiag_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_datatype + p.RuleIndex = PostgreSQLParserRULE_getdiag_list return p } -func (s *Decl_datatypeContext) GetParser() antlr.Parser { return s.parser } +func (s *Getdiag_listContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_datatypeContext) Typename() ITypenameContext { +func (s *Getdiag_listContext) AllGetdiag_list_item() []IGetdiag_list_itemContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IGetdiag_list_itemContext); ok { + len++ + } + } + + tst := make([]IGetdiag_list_itemContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IGetdiag_list_itemContext); ok { + tst[i] = t.(IGetdiag_list_itemContext) + i++ + } + } + + return tst +} + +func (s *Getdiag_listContext) Getdiag_list_item(i int) IGetdiag_list_itemContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ITypenameContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(IGetdiag_list_itemContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -178566,46 +177042,84 @@ func (s *Decl_datatypeContext) Typename() ITypenameContext { return nil } - return t.(ITypenameContext) + return t.(IGetdiag_list_itemContext) } -func (s *Decl_datatypeContext) GetRuleContext() antlr.RuleContext { +func (s *Getdiag_listContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) +} + +func (s *Getdiag_listContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) +} + +func (s *Getdiag_listContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_datatypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Getdiag_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_datatypeContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_listContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_datatype(s) + listenerT.EnterGetdiag_list(s) } } -func (s *Decl_datatypeContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_listContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_datatype(s) + listenerT.ExitGetdiag_list(s) } } -func (s *Decl_datatypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Getdiag_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_datatype(s) + return t.VisitGetdiag_list(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_datatype() (localctx IDecl_datatypeContext) { - localctx = NewDecl_datatypeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1494, PostgreSQLParserRULE_decl_datatype) +func (p *PostgreSQLParser) Getdiag_list() (localctx IGetdiag_listContext) { + localctx = NewGetdiag_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1514, PostgreSQLParserRULE_getdiag_list) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(10944) - p.Typename() + p.SetState(10971) + p.Getdiag_list_item() + } + p.SetState(10976) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for _la == PostgreSQLParserCOMMA { + { + p.SetState(10972) + p.Match(PostgreSQLParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10973) + p.Getdiag_list_item() + } + + p.SetState(10978) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -178621,61 +177135,74 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_collateContext is an interface to support dynamic dispatch. -type IDecl_collateContext interface { +// IGetdiag_list_itemContext is an interface to support dynamic dispatch. +type IGetdiag_list_itemContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - COLLATE() antlr.TerminalNode - Any_name() IAny_nameContext + Getdiag_target() IGetdiag_targetContext + Assign_operator() IAssign_operatorContext + Getdiag_item() IGetdiag_itemContext - // IsDecl_collateContext differentiates from other interfaces. - IsDecl_collateContext() + // IsGetdiag_list_itemContext differentiates from other interfaces. + IsGetdiag_list_itemContext() } -type Decl_collateContext struct { +type Getdiag_list_itemContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_collateContext() *Decl_collateContext { - var p = new(Decl_collateContext) +func NewEmptyGetdiag_list_itemContext() *Getdiag_list_itemContext { + var p = new(Getdiag_list_itemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_collate + p.RuleIndex = PostgreSQLParserRULE_getdiag_list_item return p } -func InitEmptyDecl_collateContext(p *Decl_collateContext) { +func InitEmptyGetdiag_list_itemContext(p *Getdiag_list_itemContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_collate + p.RuleIndex = PostgreSQLParserRULE_getdiag_list_item } -func (*Decl_collateContext) IsDecl_collateContext() {} +func (*Getdiag_list_itemContext) IsGetdiag_list_itemContext() {} -func NewDecl_collateContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_collateContext { - var p = new(Decl_collateContext) +func NewGetdiag_list_itemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_list_itemContext { + var p = new(Getdiag_list_itemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_collate + p.RuleIndex = PostgreSQLParserRULE_getdiag_list_item return p } -func (s *Decl_collateContext) GetParser() antlr.Parser { return s.parser } +func (s *Getdiag_list_itemContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_collateContext) COLLATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLLATE, 0) +func (s *Getdiag_list_itemContext) Getdiag_target() IGetdiag_targetContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGetdiag_targetContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IGetdiag_targetContext) } -func (s *Decl_collateContext) Any_name() IAny_nameContext { +func (s *Getdiag_list_itemContext) Assign_operator() IAssign_operatorContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_nameContext); ok { + if _, ok := ctx.(IAssign_operatorContext); ok { t = ctx.(antlr.RuleContext) break } @@ -178685,54 +177212,70 @@ func (s *Decl_collateContext) Any_name() IAny_nameContext { return nil } - return t.(IAny_nameContext) + return t.(IAssign_operatorContext) } -func (s *Decl_collateContext) GetRuleContext() antlr.RuleContext { +func (s *Getdiag_list_itemContext) Getdiag_item() IGetdiag_itemContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGetdiag_itemContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IGetdiag_itemContext) +} + +func (s *Getdiag_list_itemContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_collateContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Getdiag_list_itemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_collateContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_list_itemContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_collate(s) + listenerT.EnterGetdiag_list_item(s) } } -func (s *Decl_collateContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_list_itemContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_collate(s) + listenerT.ExitGetdiag_list_item(s) } } -func (s *Decl_collateContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Getdiag_list_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_collate(s) + return t.VisitGetdiag_list_item(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_collate() (localctx IDecl_collateContext) { - localctx = NewDecl_collateContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1496, PostgreSQLParserRULE_decl_collate) +func (p *PostgreSQLParser) Getdiag_list_item() (localctx IGetdiag_list_itemContext) { + localctx = NewGetdiag_list_itemContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1516, PostgreSQLParserRULE_getdiag_list_item) p.EnterOuterAlt(localctx, 1) { - p.SetState(10946) - p.Match(PostgreSQLParserCOLLATE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10979) + p.Getdiag_target() } { - p.SetState(10947) - p.Any_name() + p.SetState(10980) + p.Assign_operator() + } + { + p.SetState(10981) + p.Getdiag_item() } errorExit: @@ -178748,110 +177291,105 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_notnullContext is an interface to support dynamic dispatch. -type IDecl_notnullContext interface { +// IGetdiag_itemContext is an interface to support dynamic dispatch. +type IGetdiag_itemContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - NOT() antlr.TerminalNode - NULL_P() antlr.TerminalNode + Colid() IColidContext - // IsDecl_notnullContext differentiates from other interfaces. - IsDecl_notnullContext() + // IsGetdiag_itemContext differentiates from other interfaces. + IsGetdiag_itemContext() } -type Decl_notnullContext struct { +type Getdiag_itemContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_notnullContext() *Decl_notnullContext { - var p = new(Decl_notnullContext) +func NewEmptyGetdiag_itemContext() *Getdiag_itemContext { + var p = new(Getdiag_itemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_notnull + p.RuleIndex = PostgreSQLParserRULE_getdiag_item return p } -func InitEmptyDecl_notnullContext(p *Decl_notnullContext) { +func InitEmptyGetdiag_itemContext(p *Getdiag_itemContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_notnull + p.RuleIndex = PostgreSQLParserRULE_getdiag_item } -func (*Decl_notnullContext) IsDecl_notnullContext() {} +func (*Getdiag_itemContext) IsGetdiag_itemContext() {} -func NewDecl_notnullContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_notnullContext { - var p = new(Decl_notnullContext) +func NewGetdiag_itemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_itemContext { + var p = new(Getdiag_itemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_notnull + p.RuleIndex = PostgreSQLParserRULE_getdiag_item return p } -func (s *Decl_notnullContext) GetParser() antlr.Parser { return s.parser } +func (s *Getdiag_itemContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_notnullContext) NOT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOT, 0) -} +func (s *Getdiag_itemContext) Colid() IColidContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IColidContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Decl_notnullContext) NULL_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNULL_P, 0) + if t == nil { + return nil + } + + return t.(IColidContext) } -func (s *Decl_notnullContext) GetRuleContext() antlr.RuleContext { +func (s *Getdiag_itemContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_notnullContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Getdiag_itemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_notnullContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_itemContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_notnull(s) + listenerT.EnterGetdiag_item(s) } } -func (s *Decl_notnullContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_itemContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_notnull(s) + listenerT.ExitGetdiag_item(s) } } -func (s *Decl_notnullContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Getdiag_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_notnull(s) + return t.VisitGetdiag_item(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_notnull() (localctx IDecl_notnullContext) { - localctx = NewDecl_notnullContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1498, PostgreSQLParserRULE_decl_notnull) +func (p *PostgreSQLParser) Getdiag_item() (localctx IGetdiag_itemContext) { + localctx = NewGetdiag_itemContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1518, PostgreSQLParserRULE_getdiag_item) p.EnterOuterAlt(localctx, 1) { - p.SetState(10949) - p.Match(PostgreSQLParserNOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(10950) - p.Match(PostgreSQLParserNULL_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(10983) + p.Colid() } errorExit: @@ -178867,73 +177405,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_defvalContext is an interface to support dynamic dispatch. -type IDecl_defvalContext interface { +// IGetdiag_targetContext is an interface to support dynamic dispatch. +type IGetdiag_targetContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Decl_defkey() IDecl_defkeyContext - Sql_expression() ISql_expressionContext + Assign_var() IAssign_varContext - // IsDecl_defvalContext differentiates from other interfaces. - IsDecl_defvalContext() + // IsGetdiag_targetContext differentiates from other interfaces. + IsGetdiag_targetContext() } -type Decl_defvalContext struct { +type Getdiag_targetContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_defvalContext() *Decl_defvalContext { - var p = new(Decl_defvalContext) +func NewEmptyGetdiag_targetContext() *Getdiag_targetContext { + var p = new(Getdiag_targetContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_defval + p.RuleIndex = PostgreSQLParserRULE_getdiag_target return p } -func InitEmptyDecl_defvalContext(p *Decl_defvalContext) { +func InitEmptyGetdiag_targetContext(p *Getdiag_targetContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_defval + p.RuleIndex = PostgreSQLParserRULE_getdiag_target } -func (*Decl_defvalContext) IsDecl_defvalContext() {} +func (*Getdiag_targetContext) IsGetdiag_targetContext() {} -func NewDecl_defvalContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_defvalContext { - var p = new(Decl_defvalContext) +func NewGetdiag_targetContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_targetContext { + var p = new(Getdiag_targetContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_defval + p.RuleIndex = PostgreSQLParserRULE_getdiag_target return p } -func (s *Decl_defvalContext) GetParser() antlr.Parser { return s.parser } - -func (s *Decl_defvalContext) Decl_defkey() IDecl_defkeyContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecl_defkeyContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IDecl_defkeyContext) -} +func (s *Getdiag_targetContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_defvalContext) Sql_expression() ISql_expressionContext { +func (s *Getdiag_targetContext) Assign_var() IAssign_varContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { + if _, ok := ctx.(IAssign_varContext); ok { t = ctx.(antlr.RuleContext) break } @@ -178943,50 +177464,46 @@ func (s *Decl_defvalContext) Sql_expression() ISql_expressionContext { return nil } - return t.(ISql_expressionContext) + return t.(IAssign_varContext) } -func (s *Decl_defvalContext) GetRuleContext() antlr.RuleContext { +func (s *Getdiag_targetContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_defvalContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Getdiag_targetContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_defvalContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_targetContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_defval(s) + listenerT.EnterGetdiag_target(s) } } -func (s *Decl_defvalContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Getdiag_targetContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_defval(s) + listenerT.ExitGetdiag_target(s) } } -func (s *Decl_defvalContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Getdiag_targetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_defval(s) + return t.VisitGetdiag_target(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_defval() (localctx IDecl_defvalContext) { - localctx = NewDecl_defvalContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1500, PostgreSQLParserRULE_decl_defval) +func (p *PostgreSQLParser) Getdiag_target() (localctx IGetdiag_targetContext) { + localctx = NewGetdiag_targetContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1520, PostgreSQLParserRULE_getdiag_target) p.EnterOuterAlt(localctx, 1) { - p.SetState(10952) - p.Decl_defkey() - } - { - p.SetState(10953) - p.Sql_expression() + p.SetState(10985) + p.Assign_var() } errorExit: @@ -179002,57 +177519,63 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecl_defkeyContext is an interface to support dynamic dispatch. -type IDecl_defkeyContext interface { +// IAssign_varContext is an interface to support dynamic dispatch. +type IAssign_varContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Assign_operator() IAssign_operatorContext - DEFAULT() antlr.TerminalNode + Any_name() IAny_nameContext + PARAM() antlr.TerminalNode + AllOPEN_BRACKET() []antlr.TerminalNode + OPEN_BRACKET(i int) antlr.TerminalNode + AllExpr_until_rightbracket() []IExpr_until_rightbracketContext + Expr_until_rightbracket(i int) IExpr_until_rightbracketContext + AllCLOSE_BRACKET() []antlr.TerminalNode + CLOSE_BRACKET(i int) antlr.TerminalNode - // IsDecl_defkeyContext differentiates from other interfaces. - IsDecl_defkeyContext() + // IsAssign_varContext differentiates from other interfaces. + IsAssign_varContext() } -type Decl_defkeyContext struct { +type Assign_varContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecl_defkeyContext() *Decl_defkeyContext { - var p = new(Decl_defkeyContext) +func NewEmptyAssign_varContext() *Assign_varContext { + var p = new(Assign_varContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_defkey + p.RuleIndex = PostgreSQLParserRULE_assign_var return p } -func InitEmptyDecl_defkeyContext(p *Decl_defkeyContext) { +func InitEmptyAssign_varContext(p *Assign_varContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_decl_defkey + p.RuleIndex = PostgreSQLParserRULE_assign_var } -func (*Decl_defkeyContext) IsDecl_defkeyContext() {} +func (*Assign_varContext) IsAssign_varContext() {} -func NewDecl_defkeyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decl_defkeyContext { - var p = new(Decl_defkeyContext) +func NewAssign_varContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Assign_varContext { + var p = new(Assign_varContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_decl_defkey + p.RuleIndex = PostgreSQLParserRULE_assign_var return p } -func (s *Decl_defkeyContext) GetParser() antlr.Parser { return s.parser } +func (s *Assign_varContext) GetParser() antlr.Parser { return s.parser } -func (s *Decl_defkeyContext) Assign_operator() IAssign_operatorContext { +func (s *Assign_varContext) Any_name() IAny_nameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAssign_operatorContext); ok { + if _, ok := ctx.(IAny_nameContext); ok { t = ctx.(antlr.RuleContext) break } @@ -179062,65 +177585,123 @@ func (s *Decl_defkeyContext) Assign_operator() IAssign_operatorContext { return nil } - return t.(IAssign_operatorContext) + return t.(IAny_nameContext) } -func (s *Decl_defkeyContext) DEFAULT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFAULT, 0) +func (s *Assign_varContext) PARAM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARAM, 0) } -func (s *Decl_defkeyContext) GetRuleContext() antlr.RuleContext { +func (s *Assign_varContext) AllOPEN_BRACKET() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserOPEN_BRACKET) +} + +func (s *Assign_varContext) OPEN_BRACKET(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN_BRACKET, i) +} + +func (s *Assign_varContext) AllExpr_until_rightbracket() []IExpr_until_rightbracketContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IExpr_until_rightbracketContext); ok { + len++ + } + } + + tst := make([]IExpr_until_rightbracketContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IExpr_until_rightbracketContext); ok { + tst[i] = t.(IExpr_until_rightbracketContext) + i++ + } + } + + return tst +} + +func (s *Assign_varContext) Expr_until_rightbracket(i int) IExpr_until_rightbracketContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExpr_until_rightbracketContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IExpr_until_rightbracketContext) +} + +func (s *Assign_varContext) AllCLOSE_BRACKET() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCLOSE_BRACKET) +} + +func (s *Assign_varContext) CLOSE_BRACKET(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE_BRACKET, i) +} + +func (s *Assign_varContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decl_defkeyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Assign_varContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decl_defkeyContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Assign_varContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterDecl_defkey(s) + listenerT.EnterAssign_var(s) } } -func (s *Decl_defkeyContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Assign_varContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitDecl_defkey(s) + listenerT.ExitAssign_var(s) } } -func (s *Decl_defkeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Assign_varContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitDecl_defkey(s) + return t.VisitAssign_var(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Decl_defkey() (localctx IDecl_defkeyContext) { - localctx = NewDecl_defkeyContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1502, PostgreSQLParserRULE_decl_defkey) - p.SetState(10957) +func (p *PostgreSQLParser) Assign_var() (localctx IAssign_varContext) { + localctx = NewAssign_varContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1522, PostgreSQLParserRULE_assign_var) + var _la int + + p.EnterOuterAlt(localctx, 1) + p.SetState(10989) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } switch p.GetTokenStream().LA(1) { - case PostgreSQLParserEQUAL, PostgreSQLParserCOLON_EQUALS: - p.EnterOuterAlt(localctx, 1) + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: { - p.SetState(10955) - p.Assign_operator() + p.SetState(10987) + p.Any_name() } - case PostgreSQLParserDEFAULT: - p.EnterOuterAlt(localctx, 2) + case PostgreSQLParserPARAM: { - p.SetState(10956) - p.Match(PostgreSQLParserDEFAULT) + p.SetState(10988) + p.Match(PostgreSQLParserPARAM) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -179131,6 +177712,42 @@ func (p *PostgreSQLParser) Decl_defkey() (localctx IDecl_defkeyContext) { p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } + p.SetState(10997) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for _la == PostgreSQLParserOPEN_BRACKET { + { + p.SetState(10991) + p.Match(PostgreSQLParserOPEN_BRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(10992) + p.Expr_until_rightbracket() + } + { + p.SetState(10993) + p.Match(PostgreSQLParserCLOSE_BRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + p.SetState(10999) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } errorExit: if p.HasError() { @@ -179145,106 +177762,244 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IAssign_operatorContext is an interface to support dynamic dispatch. -type IAssign_operatorContext interface { +// IStmt_ifContext is an interface to support dynamic dispatch. +type IStmt_ifContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - EQUAL() antlr.TerminalNode - COLON_EQUALS() antlr.TerminalNode + AllIF_P() []antlr.TerminalNode + IF_P(i int) antlr.TerminalNode + Expr_until_then() IExpr_until_thenContext + THEN() antlr.TerminalNode + Proc_sect() IProc_sectContext + Stmt_elsifs() IStmt_elsifsContext + END_P() antlr.TerminalNode + SEMI() antlr.TerminalNode + Stmt_else() IStmt_elseContext - // IsAssign_operatorContext differentiates from other interfaces. - IsAssign_operatorContext() + // IsStmt_ifContext differentiates from other interfaces. + IsStmt_ifContext() } -type Assign_operatorContext struct { +type Stmt_ifContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyAssign_operatorContext() *Assign_operatorContext { - var p = new(Assign_operatorContext) +func NewEmptyStmt_ifContext() *Stmt_ifContext { + var p = new(Stmt_ifContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_assign_operator + p.RuleIndex = PostgreSQLParserRULE_stmt_if return p } -func InitEmptyAssign_operatorContext(p *Assign_operatorContext) { +func InitEmptyStmt_ifContext(p *Stmt_ifContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_assign_operator + p.RuleIndex = PostgreSQLParserRULE_stmt_if } -func (*Assign_operatorContext) IsAssign_operatorContext() {} +func (*Stmt_ifContext) IsStmt_ifContext() {} -func NewAssign_operatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Assign_operatorContext { - var p = new(Assign_operatorContext) +func NewStmt_ifContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_ifContext { + var p = new(Stmt_ifContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_assign_operator + p.RuleIndex = PostgreSQLParserRULE_stmt_if return p } -func (s *Assign_operatorContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_ifContext) GetParser() antlr.Parser { return s.parser } -func (s *Assign_operatorContext) EQUAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEQUAL, 0) +func (s *Stmt_ifContext) AllIF_P() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserIF_P) } -func (s *Assign_operatorContext) COLON_EQUALS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLON_EQUALS, 0) +func (s *Stmt_ifContext) IF_P(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIF_P, i) } -func (s *Assign_operatorContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_ifContext) Expr_until_then() IExpr_until_thenContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExpr_until_thenContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IExpr_until_thenContext) +} + +func (s *Stmt_ifContext) THEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTHEN, 0) +} + +func (s *Stmt_ifContext) Proc_sect() IProc_sectContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProc_sectContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IProc_sectContext) +} + +func (s *Stmt_ifContext) Stmt_elsifs() IStmt_elsifsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_elsifsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IStmt_elsifsContext) +} + +func (s *Stmt_ifContext) END_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEND_P, 0) +} + +func (s *Stmt_ifContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_ifContext) Stmt_else() IStmt_elseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmt_elseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IStmt_elseContext) +} + +func (s *Stmt_ifContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Assign_operatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_ifContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Assign_operatorContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_ifContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterAssign_operator(s) + listenerT.EnterStmt_if(s) } } -func (s *Assign_operatorContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_ifContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitAssign_operator(s) + listenerT.ExitStmt_if(s) } } -func (s *Assign_operatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_ifContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitAssign_operator(s) + return t.VisitStmt_if(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Assign_operator() (localctx IAssign_operatorContext) { - localctx = NewAssign_operatorContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1504, PostgreSQLParserRULE_assign_operator) +func (p *PostgreSQLParser) Stmt_if() (localctx IStmt_ifContext) { + localctx = NewStmt_ifContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1524, PostgreSQLParserRULE_stmt_if) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(10959) - _la = p.GetTokenStream().LA(1) + p.SetState(11000) + p.Match(PostgreSQLParserIF_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11001) + p.Expr_until_then() + } + { + p.SetState(11002) + p.Match(PostgreSQLParserTHEN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11003) + p.Proc_sect() + } + { + p.SetState(11004) + p.Stmt_elsifs() + } + p.SetState(11006) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - if !(_la == PostgreSQLParserEQUAL || _la == PostgreSQLParserCOLON_EQUALS) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + if _la == PostgreSQLParserELSE { + { + p.SetState(11005) + p.Stmt_else() + } + + } + { + p.SetState(11008) + p.Match(PostgreSQLParserEND_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11009) + p.Match(PostgreSQLParserIF_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11010) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } @@ -179261,67 +178016,81 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IProc_sectContext is an interface to support dynamic dispatch. -type IProc_sectContext interface { +// IStmt_elsifsContext is an interface to support dynamic dispatch. +type IStmt_elsifsContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllProc_stmt() []IProc_stmtContext - Proc_stmt(i int) IProc_stmtContext + AllELSIF() []antlr.TerminalNode + ELSIF(i int) antlr.TerminalNode + AllA_expr() []IA_exprContext + A_expr(i int) IA_exprContext + AllTHEN() []antlr.TerminalNode + THEN(i int) antlr.TerminalNode + AllProc_sect() []IProc_sectContext + Proc_sect(i int) IProc_sectContext - // IsProc_sectContext differentiates from other interfaces. - IsProc_sectContext() + // IsStmt_elsifsContext differentiates from other interfaces. + IsStmt_elsifsContext() } -type Proc_sectContext struct { +type Stmt_elsifsContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyProc_sectContext() *Proc_sectContext { - var p = new(Proc_sectContext) +func NewEmptyStmt_elsifsContext() *Stmt_elsifsContext { + var p = new(Stmt_elsifsContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_sect + p.RuleIndex = PostgreSQLParserRULE_stmt_elsifs return p } -func InitEmptyProc_sectContext(p *Proc_sectContext) { +func InitEmptyStmt_elsifsContext(p *Stmt_elsifsContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_sect + p.RuleIndex = PostgreSQLParserRULE_stmt_elsifs } -func (*Proc_sectContext) IsProc_sectContext() {} +func (*Stmt_elsifsContext) IsStmt_elsifsContext() {} -func NewProc_sectContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_sectContext { - var p = new(Proc_sectContext) +func NewStmt_elsifsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_elsifsContext { + var p = new(Stmt_elsifsContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_proc_sect + p.RuleIndex = PostgreSQLParserRULE_stmt_elsifs return p } -func (s *Proc_sectContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_elsifsContext) GetParser() antlr.Parser { return s.parser } -func (s *Proc_sectContext) AllProc_stmt() []IProc_stmtContext { +func (s *Stmt_elsifsContext) AllELSIF() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserELSIF) +} + +func (s *Stmt_elsifsContext) ELSIF(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserELSIF, i) +} + +func (s *Stmt_elsifsContext) AllA_expr() []IA_exprContext { children := s.GetChildren() len := 0 for _, ctx := range children { - if _, ok := ctx.(IProc_stmtContext); ok { + if _, ok := ctx.(IA_exprContext); ok { len++ } } - tst := make([]IProc_stmtContext, len) + tst := make([]IA_exprContext, len) i := 0 for _, ctx := range children { - if t, ok := ctx.(IProc_stmtContext); ok { - tst[i] = t.(IProc_stmtContext) + if t, ok := ctx.(IA_exprContext); ok { + tst[i] = t.(IA_exprContext) i++ } } @@ -179329,11 +178098,11 @@ func (s *Proc_sectContext) AllProc_stmt() []IProc_stmtContext { return tst } -func (s *Proc_sectContext) Proc_stmt(i int) IProc_stmtContext { +func (s *Stmt_elsifsContext) A_expr(i int) IA_exprContext { var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_stmtContext); ok { + if _, ok := ctx.(IA_exprContext); ok { if j == i { t = ctx.(antlr.RuleContext) break @@ -179346,71 +178115,133 @@ func (s *Proc_sectContext) Proc_stmt(i int) IProc_stmtContext { return nil } - return t.(IProc_stmtContext) + return t.(IA_exprContext) } -func (s *Proc_sectContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_elsifsContext) AllTHEN() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserTHEN) +} + +func (s *Stmt_elsifsContext) THEN(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTHEN, i) +} + +func (s *Stmt_elsifsContext) AllProc_sect() []IProc_sectContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IProc_sectContext); ok { + len++ + } + } + + tst := make([]IProc_sectContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IProc_sectContext); ok { + tst[i] = t.(IProc_sectContext) + i++ + } + } + + return tst +} + +func (s *Stmt_elsifsContext) Proc_sect(i int) IProc_sectContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProc_sectContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IProc_sectContext) +} + +func (s *Stmt_elsifsContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Proc_sectContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_elsifsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_sectContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_elsifsContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterProc_sect(s) + listenerT.EnterStmt_elsifs(s) } } -func (s *Proc_sectContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_elsifsContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitProc_sect(s) + listenerT.ExitStmt_elsifs(s) } } -func (s *Proc_sectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_elsifsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitProc_sect(s) + return t.VisitStmt_elsifs(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Proc_sect() (localctx IProc_sectContext) { - localctx = NewProc_sectContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1506, PostgreSQLParserRULE_proc_sect) - var _alt int +func (p *PostgreSQLParser) Stmt_elsifs() (localctx IStmt_elsifsContext) { + localctx = NewStmt_elsifsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1526, PostgreSQLParserRULE_stmt_elsifs) + var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(10964) + p.SetState(11019) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1075, p.GetParserRuleContext()) - if p.HasError() { - goto errorExit - } - for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { - if _alt == 1 { - { - p.SetState(10961) - p.Proc_stmt() - } + _la = p.GetTokenStream().LA(1) + for _la == PostgreSQLParserELSIF { + { + p.SetState(11012) + p.Match(PostgreSQLParserELSIF) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - p.SetState(10966) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + { + p.SetState(11013) + p.A_expr() + } + { + p.SetState(11014) + p.Match(PostgreSQLParserTHEN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11015) + p.Proc_sect() } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1075, p.GetParserRuleContext()) + + p.SetState(11021) + p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -179426,81 +178257,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IProc_stmtContext is an interface to support dynamic dispatch. -type IProc_stmtContext interface { +// IStmt_elseContext is an interface to support dynamic dispatch. +type IStmt_elseContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Pl_block() IPl_blockContext - SEMI() antlr.TerminalNode - Stmt_return() IStmt_returnContext - Stmt_raise() IStmt_raiseContext - Stmt_assign() IStmt_assignContext - Stmt_if() IStmt_ifContext - Stmt_case() IStmt_caseContext - Stmt_loop() IStmt_loopContext - Stmt_while() IStmt_whileContext - Stmt_for() IStmt_forContext - Stmt_foreach_a() IStmt_foreach_aContext - Stmt_exit() IStmt_exitContext - Stmt_assert() IStmt_assertContext - Stmt_execsql() IStmt_execsqlContext - Stmt_dynexecute() IStmt_dynexecuteContext - Stmt_perform() IStmt_performContext - Stmt_call() IStmt_callContext - Stmt_getdiag() IStmt_getdiagContext - Stmt_open() IStmt_openContext - Stmt_fetch() IStmt_fetchContext - Stmt_move() IStmt_moveContext - Stmt_close() IStmt_closeContext - Stmt_null() IStmt_nullContext - Stmt_commit() IStmt_commitContext - Stmt_rollback() IStmt_rollbackContext - Stmt_set() IStmt_setContext + ELSE() antlr.TerminalNode + Proc_sect() IProc_sectContext - // IsProc_stmtContext differentiates from other interfaces. - IsProc_stmtContext() + // IsStmt_elseContext differentiates from other interfaces. + IsStmt_elseContext() } -type Proc_stmtContext struct { +type Stmt_elseContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyProc_stmtContext() *Proc_stmtContext { - var p = new(Proc_stmtContext) +func NewEmptyStmt_elseContext() *Stmt_elseContext { + var p = new(Stmt_elseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_stmt + p.RuleIndex = PostgreSQLParserRULE_stmt_else return p } -func InitEmptyProc_stmtContext(p *Proc_stmtContext) { +func InitEmptyStmt_elseContext(p *Stmt_elseContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_stmt + p.RuleIndex = PostgreSQLParserRULE_stmt_else } -func (*Proc_stmtContext) IsProc_stmtContext() {} +func (*Stmt_elseContext) IsStmt_elseContext() {} -func NewProc_stmtContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_stmtContext { - var p = new(Proc_stmtContext) +func NewStmt_elseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_elseContext { + var p = new(Stmt_elseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_proc_stmt + p.RuleIndex = PostgreSQLParserRULE_stmt_else return p } -func (s *Proc_stmtContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_elseContext) GetParser() antlr.Parser { return s.parser } -func (s *Proc_stmtContext) Pl_block() IPl_blockContext { +func (s *Stmt_elseContext) ELSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserELSE, 0) +} + +func (s *Stmt_elseContext) Proc_sect() IProc_sectContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPl_blockContext); ok { + if _, ok := ctx.(IProc_sectContext); ok { t = ctx.(antlr.RuleContext) break } @@ -179510,145 +178321,133 @@ func (s *Proc_stmtContext) Pl_block() IPl_blockContext { return nil } - return t.(IPl_blockContext) + return t.(IProc_sectContext) } -func (s *Proc_stmtContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Stmt_elseContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Proc_stmtContext) Stmt_return() IStmt_returnContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_returnContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IStmt_returnContext) +func (s *Stmt_elseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_stmtContext) Stmt_raise() IStmt_raiseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_raiseContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *Stmt_elseContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterStmt_else(s) } +} - if t == nil { - return nil +func (s *Stmt_elseContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitStmt_else(s) } - - return t.(IStmt_raiseContext) } -func (s *Proc_stmtContext) Stmt_assign() IStmt_assignContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_assignContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Stmt_elseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitStmt_else(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(IStmt_assignContext) } -func (s *Proc_stmtContext) Stmt_if() IStmt_ifContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_ifContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *PostgreSQLParser) Stmt_else() (localctx IStmt_elseContext) { + localctx = NewStmt_elseContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1528, PostgreSQLParserRULE_stmt_else) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11022) + p.Match(PostgreSQLParserELSE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + { + p.SetState(11023) + p.Proc_sect() } - return t.(IStmt_ifContext) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Proc_stmtContext) Stmt_case() IStmt_caseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_caseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IStmt_caseContext is an interface to support dynamic dispatch. +type IStmt_caseContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IStmt_caseContext) + // Getter signatures + AllCASE() []antlr.TerminalNode + CASE(i int) antlr.TerminalNode + Case_when_list() ICase_when_listContext + END_P() antlr.TerminalNode + SEMI() antlr.TerminalNode + Opt_expr_until_when() IOpt_expr_until_whenContext + Opt_case_else() IOpt_case_elseContext + + // IsStmt_caseContext differentiates from other interfaces. + IsStmt_caseContext() } -func (s *Proc_stmtContext) Stmt_loop() IStmt_loopContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_loopContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type Stmt_caseContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyStmt_caseContext() *Stmt_caseContext { + var p = new(Stmt_caseContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_stmt_case + return p +} - return t.(IStmt_loopContext) +func InitEmptyStmt_caseContext(p *Stmt_caseContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_stmt_case } -func (s *Proc_stmtContext) Stmt_while() IStmt_whileContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_whileContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*Stmt_caseContext) IsStmt_caseContext() {} - if t == nil { - return nil - } +func NewStmt_caseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_caseContext { + var p = new(Stmt_caseContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_stmt_case - return t.(IStmt_whileContext) + return p } -func (s *Proc_stmtContext) Stmt_for() IStmt_forContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_forContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Stmt_caseContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *Stmt_caseContext) AllCASE() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCASE) +} - return t.(IStmt_forContext) +func (s *Stmt_caseContext) CASE(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCASE, i) } -func (s *Proc_stmtContext) Stmt_foreach_a() IStmt_foreach_aContext { +func (s *Stmt_caseContext) Case_when_list() ICase_when_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_foreach_aContext); ok { + if _, ok := ctx.(ICase_when_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -179658,29 +178457,21 @@ func (s *Proc_stmtContext) Stmt_foreach_a() IStmt_foreach_aContext { return nil } - return t.(IStmt_foreach_aContext) + return t.(ICase_when_listContext) } -func (s *Proc_stmtContext) Stmt_exit() IStmt_exitContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_exitContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Stmt_caseContext) END_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEND_P, 0) +} - return t.(IStmt_exitContext) +func (s *Stmt_caseContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Proc_stmtContext) Stmt_assert() IStmt_assertContext { +func (s *Stmt_caseContext) Opt_expr_until_when() IOpt_expr_until_whenContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_assertContext); ok { + if _, ok := ctx.(IOpt_expr_until_whenContext); ok { t = ctx.(antlr.RuleContext) break } @@ -179690,13 +178481,13 @@ func (s *Proc_stmtContext) Stmt_assert() IStmt_assertContext { return nil } - return t.(IStmt_assertContext) + return t.(IOpt_expr_until_whenContext) } -func (s *Proc_stmtContext) Stmt_execsql() IStmt_execsqlContext { +func (s *Stmt_caseContext) Opt_case_else() IOpt_case_elseContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_execsqlContext); ok { + if _, ok := ctx.(IOpt_case_elseContext); ok { t = ctx.(antlr.RuleContext) break } @@ -179706,189 +178497,173 @@ func (s *Proc_stmtContext) Stmt_execsql() IStmt_execsqlContext { return nil } - return t.(IStmt_execsqlContext) + return t.(IOpt_case_elseContext) } -func (s *Proc_stmtContext) Stmt_dynexecute() IStmt_dynexecuteContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_dynexecuteContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Stmt_caseContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IStmt_dynexecuteContext) +func (s *Stmt_caseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_stmtContext) Stmt_perform() IStmt_performContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_performContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *Stmt_caseContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterStmt_case(s) } +} - if t == nil { - return nil +func (s *Stmt_caseContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitStmt_case(s) } - - return t.(IStmt_performContext) } -func (s *Proc_stmtContext) Stmt_call() IStmt_callContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_callContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Stmt_caseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitStmt_case(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(IStmt_callContext) } -func (s *Proc_stmtContext) Stmt_getdiag() IStmt_getdiagContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_getdiagContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *PostgreSQLParser) Stmt_case() (localctx IStmt_caseContext) { + localctx = NewStmt_caseContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1530, PostgreSQLParserRULE_stmt_case) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11025) + p.Match(PostgreSQLParserCASE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + p.SetState(11027) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - return t.(IStmt_getdiagContext) -} - -func (s *Proc_stmtContext) Stmt_open() IStmt_openContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_openContext); ok { - t = ctx.(antlr.RuleContext) - break + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-576602039547658241) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&450571068912951263) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { + { + p.SetState(11026) + p.Opt_expr_until_when() } - } - if t == nil { - return nil } - - return t.(IStmt_openContext) -} - -func (s *Proc_stmtContext) Stmt_fetch() IStmt_fetchContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_fetchContext); ok { - t = ctx.(antlr.RuleContext) - break - } + { + p.SetState(11029) + p.Case_when_list() } - - if t == nil { - return nil + p.SetState(11031) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - return t.(IStmt_fetchContext) -} + if _la == PostgreSQLParserELSE { + { + p.SetState(11030) + p.Opt_case_else() + } -func (s *Proc_stmtContext) Stmt_move() IStmt_moveContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_moveContext); ok { - t = ctx.(antlr.RuleContext) - break + } + { + p.SetState(11033) + p.Match(PostgreSQLParserEND_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + { + p.SetState(11034) + p.Match(PostgreSQLParserCASE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - return t.(IStmt_moveContext) -} - -func (s *Proc_stmtContext) Stmt_close() IStmt_closeContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_closeContext); ok { - t = ctx.(antlr.RuleContext) - break + { + p.SetState(11035) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IStmt_closeContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *Proc_stmtContext) Stmt_null() IStmt_nullContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_nullContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IOpt_expr_until_whenContext is an interface to support dynamic dispatch. +type IOpt_expr_until_whenContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IStmt_nullContext) + // Getter signatures + Sql_expression() ISql_expressionContext + + // IsOpt_expr_until_whenContext differentiates from other interfaces. + IsOpt_expr_until_whenContext() } -func (s *Proc_stmtContext) Stmt_commit() IStmt_commitContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_commitContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type Opt_expr_until_whenContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyOpt_expr_until_whenContext() *Opt_expr_until_whenContext { + var p = new(Opt_expr_until_whenContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_expr_until_when + return p +} - return t.(IStmt_commitContext) +func InitEmptyOpt_expr_until_whenContext(p *Opt_expr_until_whenContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_expr_until_when } -func (s *Proc_stmtContext) Stmt_rollback() IStmt_rollbackContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_rollbackContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*Opt_expr_until_whenContext) IsOpt_expr_until_whenContext() {} - if t == nil { - return nil - } +func NewOpt_expr_until_whenContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_expr_until_whenContext { + var p = new(Opt_expr_until_whenContext) - return t.(IStmt_rollbackContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_opt_expr_until_when + + return p } -func (s *Proc_stmtContext) Stmt_set() IStmt_setContext { +func (s *Opt_expr_until_whenContext) GetParser() antlr.Parser { return s.parser } + +func (s *Opt_expr_until_whenContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_setContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -179898,234 +178673,204 @@ func (s *Proc_stmtContext) Stmt_set() IStmt_setContext { return nil } - return t.(IStmt_setContext) + return t.(ISql_expressionContext) } -func (s *Proc_stmtContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_expr_until_whenContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Proc_stmtContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_expr_until_whenContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_stmtContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_expr_until_whenContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterProc_stmt(s) + listenerT.EnterOpt_expr_until_when(s) } } -func (s *Proc_stmtContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_expr_until_whenContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitProc_stmt(s) + listenerT.ExitOpt_expr_until_when(s) } } -func (s *Proc_stmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_expr_until_whenContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitProc_stmt(s) + return t.VisitOpt_expr_until_when(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Proc_stmt() (localctx IProc_stmtContext) { - localctx = NewProc_stmtContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1508, PostgreSQLParserRULE_proc_stmt) - p.SetState(10994) - p.GetErrorHandler().Sync(p) +func (p *PostgreSQLParser) Opt_expr_until_when() (localctx IOpt_expr_until_whenContext) { + localctx = NewOpt_expr_until_whenContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1532, PostgreSQLParserRULE_opt_expr_until_when) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11037) + p.Sql_expression() + } + +errorExit: if p.HasError() { - goto errorExit + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1076, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(10967) - p.Pl_block() - } - { - p.SetState(10968) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +// ICase_when_listContext is an interface to support dynamic dispatch. +type ICase_when_listContext interface { + antlr.ParserRuleContext - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(10970) - p.Stmt_return() - } + // GetParser returns the parser. + GetParser() antlr.Parser - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(10971) - p.Stmt_raise() - } + // Getter signatures + AllCase_when() []ICase_whenContext + Case_when(i int) ICase_whenContext - case 4: - p.EnterOuterAlt(localctx, 4) - { - p.SetState(10972) - p.Stmt_assign() - } + // IsCase_when_listContext differentiates from other interfaces. + IsCase_when_listContext() +} - case 5: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(10973) - p.Stmt_if() - } +type Case_when_listContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - case 6: - p.EnterOuterAlt(localctx, 6) - { - p.SetState(10974) - p.Stmt_case() - } +func NewEmptyCase_when_listContext() *Case_when_listContext { + var p = new(Case_when_listContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_case_when_list + return p +} - case 7: - p.EnterOuterAlt(localctx, 7) - { - p.SetState(10975) - p.Stmt_loop() - } +func InitEmptyCase_when_listContext(p *Case_when_listContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_case_when_list +} - case 8: - p.EnterOuterAlt(localctx, 8) - { - p.SetState(10976) - p.Stmt_while() - } +func (*Case_when_listContext) IsCase_when_listContext() {} - case 9: - p.EnterOuterAlt(localctx, 9) - { - p.SetState(10977) - p.Stmt_for() - } +func NewCase_when_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Case_when_listContext { + var p = new(Case_when_listContext) - case 10: - p.EnterOuterAlt(localctx, 10) - { - p.SetState(10978) - p.Stmt_foreach_a() - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - case 11: - p.EnterOuterAlt(localctx, 11) - { - p.SetState(10979) - p.Stmt_exit() - } + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_case_when_list - case 12: - p.EnterOuterAlt(localctx, 12) - { - p.SetState(10980) - p.Stmt_assert() - } + return p +} - case 13: - p.EnterOuterAlt(localctx, 13) - { - p.SetState(10981) - p.Stmt_execsql() - } +func (s *Case_when_listContext) GetParser() antlr.Parser { return s.parser } - case 14: - p.EnterOuterAlt(localctx, 14) - { - p.SetState(10982) - p.Stmt_dynexecute() +func (s *Case_when_listContext) AllCase_when() []ICase_whenContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(ICase_whenContext); ok { + len++ } + } - case 15: - p.EnterOuterAlt(localctx, 15) - { - p.SetState(10983) - p.Stmt_perform() + tst := make([]ICase_whenContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(ICase_whenContext); ok { + tst[i] = t.(ICase_whenContext) + i++ } + } - case 16: - p.EnterOuterAlt(localctx, 16) - { - p.SetState(10984) - p.Stmt_call() - } + return tst +} - case 17: - p.EnterOuterAlt(localctx, 17) - { - p.SetState(10985) - p.Stmt_getdiag() +func (s *Case_when_listContext) Case_when(i int) ICase_whenContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICase_whenContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } + } - case 18: - p.EnterOuterAlt(localctx, 18) - { - p.SetState(10986) - p.Stmt_open() - } + if t == nil { + return nil + } - case 19: - p.EnterOuterAlt(localctx, 19) - { - p.SetState(10987) - p.Stmt_fetch() - } + return t.(ICase_whenContext) +} - case 20: - p.EnterOuterAlt(localctx, 20) - { - p.SetState(10988) - p.Stmt_move() - } +func (s *Case_when_listContext) GetRuleContext() antlr.RuleContext { + return s +} - case 21: - p.EnterOuterAlt(localctx, 21) - { - p.SetState(10989) - p.Stmt_close() - } +func (s *Case_when_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} - case 22: - p.EnterOuterAlt(localctx, 22) - { - p.SetState(10990) - p.Stmt_null() - } +func (s *Case_when_listContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterCase_when_list(s) + } +} - case 23: - p.EnterOuterAlt(localctx, 23) - { - p.SetState(10991) - p.Stmt_commit() - } +func (s *Case_when_listContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitCase_when_list(s) + } +} - case 24: - p.EnterOuterAlt(localctx, 24) - { - p.SetState(10992) - p.Stmt_rollback() - } +func (s *Case_when_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitCase_when_list(s) - case 25: - p.EnterOuterAlt(localctx, 25) + default: + return t.VisitChildren(s) + } +} + +func (p *PostgreSQLParser) Case_when_list() (localctx ICase_when_listContext) { + localctx = NewCase_when_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1534, PostgreSQLParserRULE_case_when_list) + var _la int + + p.EnterOuterAlt(localctx, 1) + p.SetState(11040) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for ok := true; ok; ok = _la == PostgreSQLParserWHEN { { - p.SetState(10993) - p.Stmt_set() + p.SetState(11039) + p.Case_when() } - case antlr.ATNInvalidAltNumber: - goto errorExit + p.SetState(11042) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -180141,62 +178886,63 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_performContext is an interface to support dynamic dispatch. -type IStmt_performContext interface { +// ICase_whenContext is an interface to support dynamic dispatch. +type ICase_whenContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - PERFORM() antlr.TerminalNode - Expr_until_semi() IExpr_until_semiContext - SEMI() antlr.TerminalNode + WHEN() antlr.TerminalNode + Expr_list() IExpr_listContext + THEN() antlr.TerminalNode + Proc_sect() IProc_sectContext - // IsStmt_performContext differentiates from other interfaces. - IsStmt_performContext() + // IsCase_whenContext differentiates from other interfaces. + IsCase_whenContext() } -type Stmt_performContext struct { +type Case_whenContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_performContext() *Stmt_performContext { - var p = new(Stmt_performContext) +func NewEmptyCase_whenContext() *Case_whenContext { + var p = new(Case_whenContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_perform + p.RuleIndex = PostgreSQLParserRULE_case_when return p } -func InitEmptyStmt_performContext(p *Stmt_performContext) { +func InitEmptyCase_whenContext(p *Case_whenContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_perform + p.RuleIndex = PostgreSQLParserRULE_case_when } -func (*Stmt_performContext) IsStmt_performContext() {} +func (*Case_whenContext) IsCase_whenContext() {} -func NewStmt_performContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_performContext { - var p = new(Stmt_performContext) +func NewCase_whenContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Case_whenContext { + var p = new(Case_whenContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_perform + p.RuleIndex = PostgreSQLParserRULE_case_when return p } -func (s *Stmt_performContext) GetParser() antlr.Parser { return s.parser } +func (s *Case_whenContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_performContext) PERFORM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPERFORM, 0) +func (s *Case_whenContext) WHEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHEN, 0) } -func (s *Stmt_performContext) Expr_until_semi() IExpr_until_semiContext { +func (s *Case_whenContext) Expr_list() IExpr_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_until_semiContext); ok { + if _, ok := ctx.(IExpr_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180206,67 +178952,87 @@ func (s *Stmt_performContext) Expr_until_semi() IExpr_until_semiContext { return nil } - return t.(IExpr_until_semiContext) + return t.(IExpr_listContext) } -func (s *Stmt_performContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Case_whenContext) THEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTHEN, 0) } -func (s *Stmt_performContext) GetRuleContext() antlr.RuleContext { +func (s *Case_whenContext) Proc_sect() IProc_sectContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProc_sectContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IProc_sectContext) +} + +func (s *Case_whenContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_performContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Case_whenContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_performContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Case_whenContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_perform(s) + listenerT.EnterCase_when(s) } } -func (s *Stmt_performContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Case_whenContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_perform(s) + listenerT.ExitCase_when(s) } } -func (s *Stmt_performContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Case_whenContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_perform(s) + return t.VisitCase_when(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_perform() (localctx IStmt_performContext) { - localctx = NewStmt_performContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1510, PostgreSQLParserRULE_stmt_perform) +func (p *PostgreSQLParser) Case_when() (localctx ICase_whenContext) { + localctx = NewCase_whenContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1536, PostgreSQLParserRULE_case_when) p.EnterOuterAlt(localctx, 1) { - p.SetState(10996) - p.Match(PostgreSQLParserPERFORM) + p.SetState(11044) + p.Match(PostgreSQLParserWHEN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(10997) - p.Expr_until_semi() + p.SetState(11045) + p.Expr_list() } { - p.SetState(10998) - p.Match(PostgreSQLParserSEMI) + p.SetState(11046) + p.Match(PostgreSQLParserTHEN) if p.HasError() { // Recognition error - abort rule goto errorExit } } + { + p.SetState(11047) + p.Proc_sect() + } errorExit: if p.HasError() { @@ -180281,94 +179047,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_callContext is an interface to support dynamic dispatch. -type IStmt_callContext interface { +// IOpt_case_elseContext is an interface to support dynamic dispatch. +type IOpt_case_elseContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - CALL() antlr.TerminalNode - Any_identifier() IAny_identifierContext - OPEN_PAREN() antlr.TerminalNode - CLOSE_PAREN() antlr.TerminalNode - SEMI() antlr.TerminalNode - Opt_expr_list() IOpt_expr_listContext - DO() antlr.TerminalNode + ELSE() antlr.TerminalNode + Proc_sect() IProc_sectContext - // IsStmt_callContext differentiates from other interfaces. - IsStmt_callContext() + // IsOpt_case_elseContext differentiates from other interfaces. + IsOpt_case_elseContext() } -type Stmt_callContext struct { +type Opt_case_elseContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_callContext() *Stmt_callContext { - var p = new(Stmt_callContext) +func NewEmptyOpt_case_elseContext() *Opt_case_elseContext { + var p = new(Opt_case_elseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_call + p.RuleIndex = PostgreSQLParserRULE_opt_case_else return p } -func InitEmptyStmt_callContext(p *Stmt_callContext) { +func InitEmptyOpt_case_elseContext(p *Opt_case_elseContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_call + p.RuleIndex = PostgreSQLParserRULE_opt_case_else } -func (*Stmt_callContext) IsStmt_callContext() {} +func (*Opt_case_elseContext) IsOpt_case_elseContext() {} -func NewStmt_callContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_callContext { - var p = new(Stmt_callContext) +func NewOpt_case_elseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_case_elseContext { + var p = new(Opt_case_elseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_call + p.RuleIndex = PostgreSQLParserRULE_opt_case_else return p } -func (s *Stmt_callContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_callContext) CALL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCALL, 0) -} - -func (s *Stmt_callContext) Any_identifier() IAny_identifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_identifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IAny_identifierContext) -} - -func (s *Stmt_callContext) OPEN_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) -} - -func (s *Stmt_callContext) CLOSE_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) -} +func (s *Opt_case_elseContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_callContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Opt_case_elseContext) ELSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserELSE, 0) } -func (s *Stmt_callContext) Opt_expr_list() IOpt_expr_listContext { +func (s *Opt_case_elseContext) Proc_sect() IProc_sectContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_expr_listContext); ok { + if _, ok := ctx.(IProc_sectContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180378,164 +179111,54 @@ func (s *Stmt_callContext) Opt_expr_list() IOpt_expr_listContext { return nil } - return t.(IOpt_expr_listContext) -} - -func (s *Stmt_callContext) DO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDO, 0) + return t.(IProc_sectContext) } -func (s *Stmt_callContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_case_elseContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_callContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_case_elseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_callContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_case_elseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_call(s) + listenerT.EnterOpt_case_else(s) } } -func (s *Stmt_callContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_case_elseContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_call(s) + listenerT.ExitOpt_case_else(s) } } -func (s *Stmt_callContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_case_elseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_call(s) + return t.VisitOpt_case_else(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_call() (localctx IStmt_callContext) { - localctx = NewStmt_callContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1512, PostgreSQLParserRULE_stmt_call) - var _la int - - p.SetState(11018) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserCALL: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11000) - p.Match(PostgreSQLParserCALL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11001) - p.Any_identifier() - } - { - p.SetState(11002) - p.Match(PostgreSQLParserOPEN_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11004) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { - { - p.SetState(11003) - p.Opt_expr_list() - } - - } - { - p.SetState(11006) - p.Match(PostgreSQLParserCLOSE_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11007) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case PostgreSQLParserDO: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11009) - p.Match(PostgreSQLParserDO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11010) - p.Any_identifier() - } - { - p.SetState(11011) - p.Match(PostgreSQLParserOPEN_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11013) - p.GetErrorHandler().Sync(p) +func (p *PostgreSQLParser) Opt_case_else() (localctx IOpt_case_elseContext) { + localctx = NewOpt_case_elseContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1538, PostgreSQLParserRULE_opt_case_else) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11049) + p.Match(PostgreSQLParserELSE) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3620818277858553860) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { - { - p.SetState(11012) - p.Opt_expr_list() - } - - } - { - p.SetState(11015) - p.Match(PostgreSQLParserCLOSE_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11016) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + } + { + p.SetState(11050) + p.Proc_sect() } errorExit: @@ -180551,56 +179174,57 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_expr_listContext is an interface to support dynamic dispatch. -type IOpt_expr_listContext interface { +// IStmt_loopContext is an interface to support dynamic dispatch. +type IStmt_loopContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Expr_list() IExpr_listContext + Loop_body() ILoop_bodyContext + Opt_loop_label() IOpt_loop_labelContext - // IsOpt_expr_listContext differentiates from other interfaces. - IsOpt_expr_listContext() + // IsStmt_loopContext differentiates from other interfaces. + IsStmt_loopContext() } -type Opt_expr_listContext struct { +type Stmt_loopContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_expr_listContext() *Opt_expr_listContext { - var p = new(Opt_expr_listContext) +func NewEmptyStmt_loopContext() *Stmt_loopContext { + var p = new(Stmt_loopContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_expr_list + p.RuleIndex = PostgreSQLParserRULE_stmt_loop return p } -func InitEmptyOpt_expr_listContext(p *Opt_expr_listContext) { +func InitEmptyStmt_loopContext(p *Stmt_loopContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_expr_list + p.RuleIndex = PostgreSQLParserRULE_stmt_loop } -func (*Opt_expr_listContext) IsOpt_expr_listContext() {} +func (*Stmt_loopContext) IsStmt_loopContext() {} -func NewOpt_expr_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_expr_listContext { - var p = new(Opt_expr_listContext) +func NewStmt_loopContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_loopContext { + var p = new(Stmt_loopContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_expr_list + p.RuleIndex = PostgreSQLParserRULE_stmt_loop return p } -func (s *Opt_expr_listContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_loopContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_expr_listContext) Expr_list() IExpr_listContext { +func (s *Stmt_loopContext) Loop_body() ILoop_bodyContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_listContext); ok { + if _, ok := ctx.(ILoop_bodyContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180610,46 +179234,78 @@ func (s *Opt_expr_listContext) Expr_list() IExpr_listContext { return nil } - return t.(IExpr_listContext) + return t.(ILoop_bodyContext) } -func (s *Opt_expr_listContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_loopContext) Opt_loop_label() IOpt_loop_labelContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_loop_labelContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_loop_labelContext) +} + +func (s *Stmt_loopContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_expr_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_loopContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_expr_listContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_loopContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_expr_list(s) + listenerT.EnterStmt_loop(s) } } -func (s *Opt_expr_listContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_loopContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_expr_list(s) + listenerT.ExitStmt_loop(s) } } -func (s *Opt_expr_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_loopContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_expr_list(s) + return t.VisitStmt_loop(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_expr_list() (localctx IOpt_expr_listContext) { - localctx = NewOpt_expr_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1514, PostgreSQLParserRULE_opt_expr_list) +func (p *PostgreSQLParser) Stmt_loop() (localctx IStmt_loopContext) { + localctx = NewStmt_loopContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1540, PostgreSQLParserRULE_stmt_loop) + var _la int + p.EnterOuterAlt(localctx, 1) + p.SetState(11053) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserLESS_LESS { + { + p.SetState(11052) + p.Opt_loop_label() + } + + } { - p.SetState(11020) - p.Expr_list() + p.SetState(11055) + p.Loop_body() } errorExit: @@ -180665,59 +179321,63 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_assignContext is an interface to support dynamic dispatch. -type IStmt_assignContext interface { +// IStmt_whileContext is an interface to support dynamic dispatch. +type IStmt_whileContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Assign_var() IAssign_varContext - Assign_operator() IAssign_operatorContext - Sql_expression() ISql_expressionContext - SEMI() antlr.TerminalNode + WHILE() antlr.TerminalNode + Expr_until_loop() IExpr_until_loopContext + Loop_body() ILoop_bodyContext + Opt_loop_label() IOpt_loop_labelContext - // IsStmt_assignContext differentiates from other interfaces. - IsStmt_assignContext() + // IsStmt_whileContext differentiates from other interfaces. + IsStmt_whileContext() } -type Stmt_assignContext struct { +type Stmt_whileContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_assignContext() *Stmt_assignContext { - var p = new(Stmt_assignContext) +func NewEmptyStmt_whileContext() *Stmt_whileContext { + var p = new(Stmt_whileContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_assign + p.RuleIndex = PostgreSQLParserRULE_stmt_while return p } -func InitEmptyStmt_assignContext(p *Stmt_assignContext) { +func InitEmptyStmt_whileContext(p *Stmt_whileContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_assign + p.RuleIndex = PostgreSQLParserRULE_stmt_while } -func (*Stmt_assignContext) IsStmt_assignContext() {} +func (*Stmt_whileContext) IsStmt_whileContext() {} -func NewStmt_assignContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_assignContext { - var p = new(Stmt_assignContext) +func NewStmt_whileContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_whileContext { + var p = new(Stmt_whileContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_assign + p.RuleIndex = PostgreSQLParserRULE_stmt_while return p } -func (s *Stmt_assignContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_whileContext) GetParser() antlr.Parser { return s.parser } + +func (s *Stmt_whileContext) WHILE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHILE, 0) +} -func (s *Stmt_assignContext) Assign_var() IAssign_varContext { +func (s *Stmt_whileContext) Expr_until_loop() IExpr_until_loopContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAssign_varContext); ok { + if _, ok := ctx.(IExpr_until_loopContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180727,13 +179387,13 @@ func (s *Stmt_assignContext) Assign_var() IAssign_varContext { return nil } - return t.(IAssign_varContext) + return t.(IExpr_until_loopContext) } -func (s *Stmt_assignContext) Assign_operator() IAssign_operatorContext { +func (s *Stmt_whileContext) Loop_body() ILoop_bodyContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAssign_operatorContext); ok { + if _, ok := ctx.(ILoop_bodyContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180743,13 +179403,13 @@ func (s *Stmt_assignContext) Assign_operator() IAssign_operatorContext { return nil } - return t.(IAssign_operatorContext) + return t.(ILoop_bodyContext) } -func (s *Stmt_assignContext) Sql_expression() ISql_expressionContext { +func (s *Stmt_whileContext) Opt_loop_label() IOpt_loop_labelContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { + if _, ok := ctx.(IOpt_loop_labelContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180759,67 +179419,75 @@ func (s *Stmt_assignContext) Sql_expression() ISql_expressionContext { return nil } - return t.(ISql_expressionContext) -} - -func (s *Stmt_assignContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) + return t.(IOpt_loop_labelContext) } -func (s *Stmt_assignContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_whileContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_assignContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_whileContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_assignContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_whileContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_assign(s) + listenerT.EnterStmt_while(s) } } -func (s *Stmt_assignContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_whileContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_assign(s) + listenerT.ExitStmt_while(s) } } -func (s *Stmt_assignContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_whileContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_assign(s) + return t.VisitStmt_while(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_assign() (localctx IStmt_assignContext) { - localctx = NewStmt_assignContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1516, PostgreSQLParserRULE_stmt_assign) +func (p *PostgreSQLParser) Stmt_while() (localctx IStmt_whileContext) { + localctx = NewStmt_whileContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1542, PostgreSQLParserRULE_stmt_while) + var _la int + p.EnterOuterAlt(localctx, 1) - { - p.SetState(11022) - p.Assign_var() - } - { - p.SetState(11023) - p.Assign_operator() + p.SetState(11058) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - { - p.SetState(11024) - p.Sql_expression() + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserLESS_LESS { + { + p.SetState(11057) + p.Opt_loop_label() + } + } { - p.SetState(11025) - p.Match(PostgreSQLParserSEMI) + p.SetState(11060) + p.Match(PostgreSQLParserWHILE) if p.HasError() { // Recognition error - abort rule goto errorExit } } + { + p.SetState(11061) + p.Expr_until_loop() + } + { + p.SetState(11062) + p.Loop_body() + } errorExit: if p.HasError() { @@ -180834,68 +179502,63 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_getdiagContext is an interface to support dynamic dispatch. -type IStmt_getdiagContext interface { +// IStmt_forContext is an interface to support dynamic dispatch. +type IStmt_forContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - GET() antlr.TerminalNode - DIAGNOSTICS() antlr.TerminalNode - Getdiag_list() IGetdiag_listContext - SEMI() antlr.TerminalNode - Getdiag_area_opt() IGetdiag_area_optContext + FOR() antlr.TerminalNode + For_control() IFor_controlContext + Loop_body() ILoop_bodyContext + Opt_loop_label() IOpt_loop_labelContext - // IsStmt_getdiagContext differentiates from other interfaces. - IsStmt_getdiagContext() + // IsStmt_forContext differentiates from other interfaces. + IsStmt_forContext() } -type Stmt_getdiagContext struct { +type Stmt_forContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_getdiagContext() *Stmt_getdiagContext { - var p = new(Stmt_getdiagContext) +func NewEmptyStmt_forContext() *Stmt_forContext { + var p = new(Stmt_forContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_getdiag + p.RuleIndex = PostgreSQLParserRULE_stmt_for return p } -func InitEmptyStmt_getdiagContext(p *Stmt_getdiagContext) { +func InitEmptyStmt_forContext(p *Stmt_forContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_getdiag + p.RuleIndex = PostgreSQLParserRULE_stmt_for } -func (*Stmt_getdiagContext) IsStmt_getdiagContext() {} +func (*Stmt_forContext) IsStmt_forContext() {} -func NewStmt_getdiagContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_getdiagContext { - var p = new(Stmt_getdiagContext) +func NewStmt_forContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_forContext { + var p = new(Stmt_forContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_getdiag + p.RuleIndex = PostgreSQLParserRULE_stmt_for return p } -func (s *Stmt_getdiagContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_getdiagContext) GET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGET, 0) -} +func (s *Stmt_forContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_getdiagContext) DIAGNOSTICS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDIAGNOSTICS, 0) +func (s *Stmt_forContext) FOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOR, 0) } -func (s *Stmt_getdiagContext) Getdiag_list() IGetdiag_listContext { +func (s *Stmt_forContext) For_control() IFor_controlContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGetdiag_listContext); ok { + if _, ok := ctx.(IFor_controlContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180905,17 +179568,29 @@ func (s *Stmt_getdiagContext) Getdiag_list() IGetdiag_listContext { return nil } - return t.(IGetdiag_listContext) + return t.(IFor_controlContext) } -func (s *Stmt_getdiagContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Stmt_forContext) Loop_body() ILoop_bodyContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILoop_bodyContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ILoop_bodyContext) } -func (s *Stmt_getdiagContext) Getdiag_area_opt() IGetdiag_area_optContext { +func (s *Stmt_forContext) Opt_loop_label() IOpt_loop_labelContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGetdiag_area_optContext); ok { + if _, ok := ctx.(IOpt_loop_labelContext); ok { t = ctx.(antlr.RuleContext) break } @@ -180925,86 +179600,74 @@ func (s *Stmt_getdiagContext) Getdiag_area_opt() IGetdiag_area_optContext { return nil } - return t.(IGetdiag_area_optContext) + return t.(IOpt_loop_labelContext) } -func (s *Stmt_getdiagContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_forContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_getdiagContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_forContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_getdiagContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_forContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_getdiag(s) + listenerT.EnterStmt_for(s) } } -func (s *Stmt_getdiagContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_forContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_getdiag(s) + listenerT.ExitStmt_for(s) } } -func (s *Stmt_getdiagContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_forContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_getdiag(s) + return t.VisitStmt_for(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_getdiag() (localctx IStmt_getdiagContext) { - localctx = NewStmt_getdiagContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1518, PostgreSQLParserRULE_stmt_getdiag) +func (p *PostgreSQLParser) Stmt_for() (localctx IStmt_forContext) { + localctx = NewStmt_forContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1544, PostgreSQLParserRULE_stmt_for) var _la int p.EnterOuterAlt(localctx, 1) - { - p.SetState(11027) - p.Match(PostgreSQLParserGET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11029) + p.SetState(11065) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserCURRENT_P || _la == PostgreSQLParserSTACKED { + if _la == PostgreSQLParserLESS_LESS { { - p.SetState(11028) - p.Getdiag_area_opt() + p.SetState(11064) + p.Opt_loop_label() } } { - p.SetState(11031) - p.Match(PostgreSQLParserDIAGNOSTICS) + p.SetState(11067) + p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11032) - p.Getdiag_list() + p.SetState(11068) + p.For_control() } { - p.SetState(11033) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11069) + p.Loop_body() } errorExit: @@ -181020,185 +179683,150 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IGetdiag_area_optContext is an interface to support dynamic dispatch. -type IGetdiag_area_optContext interface { +// IFor_controlContext is an interface to support dynamic dispatch. +type IFor_controlContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - CURRENT_P() antlr.TerminalNode - STACKED() antlr.TerminalNode + For_variable() IFor_variableContext + IN_P() antlr.TerminalNode + Cursor_name() ICursor_nameContext + Selectstmt() ISelectstmtContext + Explainstmt() IExplainstmtContext + EXECUTE() antlr.TerminalNode + AllA_expr() []IA_exprContext + A_expr(i int) IA_exprContext + DOT_DOT() antlr.TerminalNode + Opt_cursor_parameters() IOpt_cursor_parametersContext + Opt_for_using_expression() IOpt_for_using_expressionContext + Opt_reverse() IOpt_reverseContext + Opt_by_expression() IOpt_by_expressionContext - // IsGetdiag_area_optContext differentiates from other interfaces. - IsGetdiag_area_optContext() + // IsFor_controlContext differentiates from other interfaces. + IsFor_controlContext() } -type Getdiag_area_optContext struct { +type For_controlContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyGetdiag_area_optContext() *Getdiag_area_optContext { - var p = new(Getdiag_area_optContext) +func NewEmptyFor_controlContext() *For_controlContext { + var p = new(For_controlContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_area_opt + p.RuleIndex = PostgreSQLParserRULE_for_control return p } -func InitEmptyGetdiag_area_optContext(p *Getdiag_area_optContext) { +func InitEmptyFor_controlContext(p *For_controlContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_area_opt + p.RuleIndex = PostgreSQLParserRULE_for_control } -func (*Getdiag_area_optContext) IsGetdiag_area_optContext() {} +func (*For_controlContext) IsFor_controlContext() {} -func NewGetdiag_area_optContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_area_optContext { - var p = new(Getdiag_area_optContext) +func NewFor_controlContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *For_controlContext { + var p = new(For_controlContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_getdiag_area_opt + p.RuleIndex = PostgreSQLParserRULE_for_control return p } -func (s *Getdiag_area_optContext) GetParser() antlr.Parser { return s.parser } +func (s *For_controlContext) GetParser() antlr.Parser { return s.parser } -func (s *Getdiag_area_optContext) CURRENT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_P, 0) -} +func (s *For_controlContext) For_variable() IFor_variableContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFor_variableContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Getdiag_area_optContext) STACKED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTACKED, 0) -} + if t == nil { + return nil + } -func (s *Getdiag_area_optContext) GetRuleContext() antlr.RuleContext { - return s + return t.(IFor_variableContext) } -func (s *Getdiag_area_optContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *For_controlContext) IN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIN_P, 0) } -func (s *Getdiag_area_optContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterGetdiag_area_opt(s) +func (s *For_controlContext) Cursor_name() ICursor_nameContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICursor_nameContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *Getdiag_area_optContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitGetdiag_area_opt(s) + if t == nil { + return nil } -} - -func (s *Getdiag_area_optContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitGetdiag_area_opt(s) - default: - return t.VisitChildren(s) - } + return t.(ICursor_nameContext) } -func (p *PostgreSQLParser) Getdiag_area_opt() (localctx IGetdiag_area_optContext) { - localctx = NewGetdiag_area_optContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1520, PostgreSQLParserRULE_getdiag_area_opt) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11035) - _la = p.GetTokenStream().LA(1) - - if !(_la == PostgreSQLParserCURRENT_P || _la == PostgreSQLParserSTACKED) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() +func (s *For_controlContext) Selectstmt() ISelectstmtContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISelectstmtContext); ok { + t = ctx.(antlr.RuleContext) + break } } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IGetdiag_listContext is an interface to support dynamic dispatch. -type IGetdiag_listContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - AllGetdiag_list_item() []IGetdiag_list_itemContext - Getdiag_list_item(i int) IGetdiag_list_itemContext - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode - // IsGetdiag_listContext differentiates from other interfaces. - IsGetdiag_listContext() + return t.(ISelectstmtContext) } -type Getdiag_listContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *For_controlContext) Explainstmt() IExplainstmtContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExplainstmtContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptyGetdiag_listContext() *Getdiag_listContext { - var p = new(Getdiag_listContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_list - return p -} + if t == nil { + return nil + } -func InitEmptyGetdiag_listContext(p *Getdiag_listContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_list + return t.(IExplainstmtContext) } -func (*Getdiag_listContext) IsGetdiag_listContext() {} - -func NewGetdiag_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_listContext { - var p = new(Getdiag_listContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_getdiag_list - - return p +func (s *For_controlContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXECUTE, 0) } -func (s *Getdiag_listContext) GetParser() antlr.Parser { return s.parser } - -func (s *Getdiag_listContext) AllGetdiag_list_item() []IGetdiag_list_itemContext { +func (s *For_controlContext) AllA_expr() []IA_exprContext { children := s.GetChildren() len := 0 for _, ctx := range children { - if _, ok := ctx.(IGetdiag_list_itemContext); ok { + if _, ok := ctx.(IA_exprContext); ok { len++ } } - tst := make([]IGetdiag_list_itemContext, len) + tst := make([]IA_exprContext, len) i := 0 for _, ctx := range children { - if t, ok := ctx.(IGetdiag_list_itemContext); ok { - tst[i] = t.(IGetdiag_list_itemContext) + if t, ok := ctx.(IA_exprContext); ok { + tst[i] = t.(IA_exprContext) i++ } } @@ -181206,11 +179834,11 @@ func (s *Getdiag_listContext) AllGetdiag_list_item() []IGetdiag_list_itemContext return tst } -func (s *Getdiag_listContext) Getdiag_list_item(i int) IGetdiag_list_itemContext { +func (s *For_controlContext) A_expr(i int) IA_exprContext { var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGetdiag_list_itemContext); ok { + if _, ok := ctx.(IA_exprContext); ok { if j == i { t = ctx.(antlr.RuleContext) break @@ -181223,151 +179851,33 @@ func (s *Getdiag_listContext) Getdiag_list_item(i int) IGetdiag_list_itemContext return nil } - return t.(IGetdiag_list_itemContext) -} - -func (s *Getdiag_listContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) -} - -func (s *Getdiag_listContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) -} - -func (s *Getdiag_listContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *Getdiag_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *Getdiag_listContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterGetdiag_list(s) - } -} - -func (s *Getdiag_listContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitGetdiag_list(s) - } + return t.(IA_exprContext) } -func (s *Getdiag_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitGetdiag_list(s) - - default: - return t.VisitChildren(s) - } +func (s *For_controlContext) DOT_DOT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDOT_DOT, 0) } -func (p *PostgreSQLParser) Getdiag_list() (localctx IGetdiag_listContext) { - localctx = NewGetdiag_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1522, PostgreSQLParserRULE_getdiag_list) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11037) - p.Getdiag_list_item() - } - p.SetState(11042) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == PostgreSQLParserCOMMA { - { - p.SetState(11038) - p.Match(PostgreSQLParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11039) - p.Getdiag_list_item() - } - - p.SetState(11044) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (s *For_controlContext) Opt_cursor_parameters() IOpt_cursor_parametersContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_cursor_parametersContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IGetdiag_list_itemContext is an interface to support dynamic dispatch. -type IGetdiag_list_itemContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - Getdiag_target() IGetdiag_targetContext - Assign_operator() IAssign_operatorContext - Getdiag_item() IGetdiag_itemContext - - // IsGetdiag_list_itemContext differentiates from other interfaces. - IsGetdiag_list_itemContext() -} - -type Getdiag_list_itemContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} - -func NewEmptyGetdiag_list_itemContext() *Getdiag_list_itemContext { - var p = new(Getdiag_list_itemContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_list_item - return p -} - -func InitEmptyGetdiag_list_itemContext(p *Getdiag_list_itemContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_list_item -} - -func (*Getdiag_list_itemContext) IsGetdiag_list_itemContext() {} - -func NewGetdiag_list_itemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_list_itemContext { - var p = new(Getdiag_list_itemContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_getdiag_list_item - return p + return t.(IOpt_cursor_parametersContext) } -func (s *Getdiag_list_itemContext) GetParser() antlr.Parser { return s.parser } - -func (s *Getdiag_list_itemContext) Getdiag_target() IGetdiag_targetContext { +func (s *For_controlContext) Opt_for_using_expression() IOpt_for_using_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGetdiag_targetContext); ok { + if _, ok := ctx.(IOpt_for_using_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -181377,13 +179887,13 @@ func (s *Getdiag_list_itemContext) Getdiag_target() IGetdiag_targetContext { return nil } - return t.(IGetdiag_targetContext) + return t.(IOpt_for_using_expressionContext) } -func (s *Getdiag_list_itemContext) Assign_operator() IAssign_operatorContext { +func (s *For_controlContext) Opt_reverse() IOpt_reverseContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAssign_operatorContext); ok { + if _, ok := ctx.(IOpt_reverseContext); ok { t = ctx.(antlr.RuleContext) break } @@ -181393,13 +179903,13 @@ func (s *Getdiag_list_itemContext) Assign_operator() IAssign_operatorContext { return nil } - return t.(IAssign_operatorContext) + return t.(IOpt_reverseContext) } -func (s *Getdiag_list_itemContext) Getdiag_item() IGetdiag_itemContext { +func (s *For_controlContext) Opt_by_expression() IOpt_by_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGetdiag_itemContext); ok { + if _, ok := ctx.(IOpt_by_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -181409,54 +179919,170 @@ func (s *Getdiag_list_itemContext) Getdiag_item() IGetdiag_itemContext { return nil } - return t.(IGetdiag_itemContext) + return t.(IOpt_by_expressionContext) } -func (s *Getdiag_list_itemContext) GetRuleContext() antlr.RuleContext { +func (s *For_controlContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Getdiag_list_itemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *For_controlContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Getdiag_list_itemContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *For_controlContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterGetdiag_list_item(s) + listenerT.EnterFor_control(s) } } -func (s *Getdiag_list_itemContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *For_controlContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitGetdiag_list_item(s) + listenerT.ExitFor_control(s) } } -func (s *Getdiag_list_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *For_controlContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitGetdiag_list_item(s) + return t.VisitFor_control(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Getdiag_list_item() (localctx IGetdiag_list_itemContext) { - localctx = NewGetdiag_list_itemContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1524, PostgreSQLParserRULE_getdiag_list_item) +func (p *PostgreSQLParser) For_control() (localctx IFor_controlContext) { + localctx = NewFor_controlContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1546, PostgreSQLParserRULE_for_control) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11045) - p.Getdiag_target() + p.SetState(11071) + p.For_variable() } { - p.SetState(11046) - p.Assign_operator() + p.SetState(11072) + p.Match(PostgreSQLParserIN_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - { - p.SetState(11047) - p.Getdiag_item() + p.SetState(11093) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1095, p.GetParserRuleContext()) { + case 1: + { + p.SetState(11073) + p.Cursor_name() + } + p.SetState(11075) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserOPEN_PAREN { + { + p.SetState(11074) + p.Opt_cursor_parameters() + } + + } + + case 2: + { + p.SetState(11077) + p.Selectstmt() + } + + case 3: + { + p.SetState(11078) + p.Explainstmt() + } + + case 4: + { + p.SetState(11079) + p.Match(PostgreSQLParserEXECUTE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11080) + p.A_expr() + } + p.SetState(11082) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11081) + p.Opt_for_using_expression() + } + + } + + case 5: + p.SetState(11085) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1093, p.GetParserRuleContext()) == 1 { + { + p.SetState(11084) + p.Opt_reverse() + } + + } else if p.HasError() { // JIM + goto errorExit + } + { + p.SetState(11087) + p.A_expr() + } + { + p.SetState(11088) + p.Match(PostgreSQLParserDOT_DOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11089) + p.A_expr() + } + p.SetState(11091) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserBY { + { + p.SetState(11090) + p.Opt_by_expression() + } + + } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -181472,56 +180098,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IGetdiag_itemContext is an interface to support dynamic dispatch. -type IGetdiag_itemContext interface { +// IOpt_for_using_expressionContext is an interface to support dynamic dispatch. +type IOpt_for_using_expressionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Colid() IColidContext + USING() antlr.TerminalNode + Expr_list() IExpr_listContext - // IsGetdiag_itemContext differentiates from other interfaces. - IsGetdiag_itemContext() + // IsOpt_for_using_expressionContext differentiates from other interfaces. + IsOpt_for_using_expressionContext() } -type Getdiag_itemContext struct { +type Opt_for_using_expressionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyGetdiag_itemContext() *Getdiag_itemContext { - var p = new(Getdiag_itemContext) +func NewEmptyOpt_for_using_expressionContext() *Opt_for_using_expressionContext { + var p = new(Opt_for_using_expressionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_item + p.RuleIndex = PostgreSQLParserRULE_opt_for_using_expression return p } -func InitEmptyGetdiag_itemContext(p *Getdiag_itemContext) { +func InitEmptyOpt_for_using_expressionContext(p *Opt_for_using_expressionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_item + p.RuleIndex = PostgreSQLParserRULE_opt_for_using_expression } -func (*Getdiag_itemContext) IsGetdiag_itemContext() {} +func (*Opt_for_using_expressionContext) IsOpt_for_using_expressionContext() {} -func NewGetdiag_itemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_itemContext { - var p = new(Getdiag_itemContext) +func NewOpt_for_using_expressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_for_using_expressionContext { + var p = new(Opt_for_using_expressionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_getdiag_item + p.RuleIndex = PostgreSQLParserRULE_opt_for_using_expression return p } -func (s *Getdiag_itemContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_for_using_expressionContext) GetParser() antlr.Parser { return s.parser } -func (s *Getdiag_itemContext) Colid() IColidContext { +func (s *Opt_for_using_expressionContext) USING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSING, 0) +} + +func (s *Opt_for_using_expressionContext) Expr_list() IExpr_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IColidContext); ok { + if _, ok := ctx.(IExpr_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -181531,46 +180162,54 @@ func (s *Getdiag_itemContext) Colid() IColidContext { return nil } - return t.(IColidContext) + return t.(IExpr_listContext) } -func (s *Getdiag_itemContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_for_using_expressionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Getdiag_itemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_for_using_expressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Getdiag_itemContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_for_using_expressionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterGetdiag_item(s) + listenerT.EnterOpt_for_using_expression(s) } } -func (s *Getdiag_itemContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_for_using_expressionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitGetdiag_item(s) + listenerT.ExitOpt_for_using_expression(s) } } -func (s *Getdiag_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_for_using_expressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitGetdiag_item(s) + return t.VisitOpt_for_using_expression(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Getdiag_item() (localctx IGetdiag_itemContext) { - localctx = NewGetdiag_itemContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1526, PostgreSQLParserRULE_getdiag_item) +func (p *PostgreSQLParser) Opt_for_using_expression() (localctx IOpt_for_using_expressionContext) { + localctx = NewOpt_for_using_expressionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1548, PostgreSQLParserRULE_opt_for_using_expression) p.EnterOuterAlt(localctx, 1) { - p.SetState(11049) - p.Colid() + p.SetState(11095) + p.Match(PostgreSQLParserUSING) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11096) + p.Expr_list() } errorExit: @@ -181586,58 +180225,92 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IGetdiag_targetContext is an interface to support dynamic dispatch. -type IGetdiag_targetContext interface { +// IOpt_cursor_parametersContext is an interface to support dynamic dispatch. +type IOpt_cursor_parametersContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Assign_var() IAssign_varContext + OPEN_PAREN() antlr.TerminalNode + AllA_expr() []IA_exprContext + A_expr(i int) IA_exprContext + CLOSE_PAREN() antlr.TerminalNode + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode - // IsGetdiag_targetContext differentiates from other interfaces. - IsGetdiag_targetContext() + // IsOpt_cursor_parametersContext differentiates from other interfaces. + IsOpt_cursor_parametersContext() } -type Getdiag_targetContext struct { +type Opt_cursor_parametersContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyGetdiag_targetContext() *Getdiag_targetContext { - var p = new(Getdiag_targetContext) +func NewEmptyOpt_cursor_parametersContext() *Opt_cursor_parametersContext { + var p = new(Opt_cursor_parametersContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_target + p.RuleIndex = PostgreSQLParserRULE_opt_cursor_parameters return p } -func InitEmptyGetdiag_targetContext(p *Getdiag_targetContext) { +func InitEmptyOpt_cursor_parametersContext(p *Opt_cursor_parametersContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_getdiag_target + p.RuleIndex = PostgreSQLParserRULE_opt_cursor_parameters } -func (*Getdiag_targetContext) IsGetdiag_targetContext() {} +func (*Opt_cursor_parametersContext) IsOpt_cursor_parametersContext() {} -func NewGetdiag_targetContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Getdiag_targetContext { - var p = new(Getdiag_targetContext) +func NewOpt_cursor_parametersContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_cursor_parametersContext { + var p = new(Opt_cursor_parametersContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_getdiag_target + p.RuleIndex = PostgreSQLParserRULE_opt_cursor_parameters return p } -func (s *Getdiag_targetContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_cursor_parametersContext) GetParser() antlr.Parser { return s.parser } -func (s *Getdiag_targetContext) Assign_var() IAssign_varContext { +func (s *Opt_cursor_parametersContext) OPEN_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) +} + +func (s *Opt_cursor_parametersContext) AllA_expr() []IA_exprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IA_exprContext); ok { + len++ + } + } + + tst := make([]IA_exprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IA_exprContext); ok { + tst[i] = t.(IA_exprContext) + i++ + } + } + + return tst +} + +func (s *Opt_cursor_parametersContext) A_expr(i int) IA_exprContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAssign_varContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(IA_exprContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -181645,46 +180318,104 @@ func (s *Getdiag_targetContext) Assign_var() IAssign_varContext { return nil } - return t.(IAssign_varContext) + return t.(IA_exprContext) } -func (s *Getdiag_targetContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_cursor_parametersContext) CLOSE_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) +} + +func (s *Opt_cursor_parametersContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) +} + +func (s *Opt_cursor_parametersContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) +} + +func (s *Opt_cursor_parametersContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Getdiag_targetContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_cursor_parametersContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Getdiag_targetContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_cursor_parametersContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterGetdiag_target(s) + listenerT.EnterOpt_cursor_parameters(s) } } -func (s *Getdiag_targetContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_cursor_parametersContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitGetdiag_target(s) + listenerT.ExitOpt_cursor_parameters(s) } } -func (s *Getdiag_targetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_cursor_parametersContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitGetdiag_target(s) + return t.VisitOpt_cursor_parameters(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Getdiag_target() (localctx IGetdiag_targetContext) { - localctx = NewGetdiag_targetContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1528, PostgreSQLParserRULE_getdiag_target) +func (p *PostgreSQLParser) Opt_cursor_parameters() (localctx IOpt_cursor_parametersContext) { + localctx = NewOpt_cursor_parametersContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1550, PostgreSQLParserRULE_opt_cursor_parameters) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11051) - p.Assign_var() + p.SetState(11098) + p.Match(PostgreSQLParserOPEN_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11099) + p.A_expr() + } + p.SetState(11104) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for _la == PostgreSQLParserCOMMA { + { + p.SetState(11100) + p.Match(PostgreSQLParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11101) + p.A_expr() + } + + p.SetState(11106) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(11107) + p.Match(PostgreSQLParserCLOSE_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -181700,234 +180431,97 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IAssign_varContext is an interface to support dynamic dispatch. -type IAssign_varContext interface { +// IOpt_reverseContext is an interface to support dynamic dispatch. +type IOpt_reverseContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Any_name() IAny_nameContext - PARAM() antlr.TerminalNode - AllOPEN_BRACKET() []antlr.TerminalNode - OPEN_BRACKET(i int) antlr.TerminalNode - AllExpr_until_rightbracket() []IExpr_until_rightbracketContext - Expr_until_rightbracket(i int) IExpr_until_rightbracketContext - AllCLOSE_BRACKET() []antlr.TerminalNode - CLOSE_BRACKET(i int) antlr.TerminalNode + REVERSE() antlr.TerminalNode - // IsAssign_varContext differentiates from other interfaces. - IsAssign_varContext() + // IsOpt_reverseContext differentiates from other interfaces. + IsOpt_reverseContext() } -type Assign_varContext struct { +type Opt_reverseContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyAssign_varContext() *Assign_varContext { - var p = new(Assign_varContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_assign_var - return p -} - -func InitEmptyAssign_varContext(p *Assign_varContext) { +func NewEmptyOpt_reverseContext() *Opt_reverseContext { + var p = new(Opt_reverseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_assign_var -} - -func (*Assign_varContext) IsAssign_varContext() {} - -func NewAssign_varContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Assign_varContext { - var p = new(Assign_varContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_assign_var - + p.RuleIndex = PostgreSQLParserRULE_opt_reverse return p -} - -func (s *Assign_varContext) GetParser() antlr.Parser { return s.parser } - -func (s *Assign_varContext) Any_name() IAny_nameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_nameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IAny_nameContext) -} - -func (s *Assign_varContext) PARAM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARAM, 0) -} - -func (s *Assign_varContext) AllOPEN_BRACKET() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserOPEN_BRACKET) -} - -func (s *Assign_varContext) OPEN_BRACKET(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN_BRACKET, i) -} - -func (s *Assign_varContext) AllExpr_until_rightbracket() []IExpr_until_rightbracketContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IExpr_until_rightbracketContext); ok { - len++ - } - } - - tst := make([]IExpr_until_rightbracketContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IExpr_until_rightbracketContext); ok { - tst[i] = t.(IExpr_until_rightbracketContext) - i++ - } - } - - return tst -} - -func (s *Assign_varContext) Expr_until_rightbracket(i int) IExpr_until_rightbracketContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_until_rightbracketContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ - } - } - - if t == nil { - return nil - } +} - return t.(IExpr_until_rightbracketContext) +func InitEmptyOpt_reverseContext(p *Opt_reverseContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_reverse } -func (s *Assign_varContext) AllCLOSE_BRACKET() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCLOSE_BRACKET) +func (*Opt_reverseContext) IsOpt_reverseContext() {} + +func NewOpt_reverseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_reverseContext { + var p = new(Opt_reverseContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_opt_reverse + + return p } -func (s *Assign_varContext) CLOSE_BRACKET(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE_BRACKET, i) +func (s *Opt_reverseContext) GetParser() antlr.Parser { return s.parser } + +func (s *Opt_reverseContext) REVERSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREVERSE, 0) } -func (s *Assign_varContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_reverseContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Assign_varContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_reverseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Assign_varContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_reverseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterAssign_var(s) + listenerT.EnterOpt_reverse(s) } } -func (s *Assign_varContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_reverseContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitAssign_var(s) + listenerT.ExitOpt_reverse(s) } } -func (s *Assign_varContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_reverseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitAssign_var(s) + return t.VisitOpt_reverse(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Assign_var() (localctx IAssign_varContext) { - localctx = NewAssign_varContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1530, PostgreSQLParserRULE_assign_var) - var _la int - +func (p *PostgreSQLParser) Opt_reverse() (localctx IOpt_reverseContext) { + localctx = NewOpt_reverseContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1552, PostgreSQLParserRULE_opt_reverse) p.EnterOuterAlt(localctx, 1) - p.SetState(11055) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: - { - p.SetState(11053) - p.Any_name() - } - - case PostgreSQLParserPARAM: - { - p.SetState(11054) - p.Match(PostgreSQLParserPARAM) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit - } - p.SetState(11063) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == PostgreSQLParserOPEN_BRACKET { - { - p.SetState(11057) - p.Match(PostgreSQLParserOPEN_BRACKET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11058) - p.Expr_until_rightbracket() - } - { - p.SetState(11059) - p.Match(PostgreSQLParserCLOSE_BRACKET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - p.SetState(11065) - p.GetErrorHandler().Sync(p) + { + p.SetState(11109) + p.Match(PostgreSQLParserREVERSE) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -181943,72 +180537,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_ifContext is an interface to support dynamic dispatch. -type IStmt_ifContext interface { +// IOpt_by_expressionContext is an interface to support dynamic dispatch. +type IOpt_by_expressionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllIF_P() []antlr.TerminalNode - IF_P(i int) antlr.TerminalNode - Expr_until_then() IExpr_until_thenContext - THEN() antlr.TerminalNode - Proc_sect() IProc_sectContext - Stmt_elsifs() IStmt_elsifsContext - END_P() antlr.TerminalNode - SEMI() antlr.TerminalNode - Stmt_else() IStmt_elseContext + BY() antlr.TerminalNode + A_expr() IA_exprContext - // IsStmt_ifContext differentiates from other interfaces. - IsStmt_ifContext() + // IsOpt_by_expressionContext differentiates from other interfaces. + IsOpt_by_expressionContext() } -type Stmt_ifContext struct { +type Opt_by_expressionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_ifContext() *Stmt_ifContext { - var p = new(Stmt_ifContext) +func NewEmptyOpt_by_expressionContext() *Opt_by_expressionContext { + var p = new(Opt_by_expressionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_if + p.RuleIndex = PostgreSQLParserRULE_opt_by_expression return p } -func InitEmptyStmt_ifContext(p *Stmt_ifContext) { +func InitEmptyOpt_by_expressionContext(p *Opt_by_expressionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_if + p.RuleIndex = PostgreSQLParserRULE_opt_by_expression } -func (*Stmt_ifContext) IsStmt_ifContext() {} +func (*Opt_by_expressionContext) IsOpt_by_expressionContext() {} -func NewStmt_ifContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_ifContext { - var p = new(Stmt_ifContext) +func NewOpt_by_expressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_by_expressionContext { + var p = new(Opt_by_expressionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_if + p.RuleIndex = PostgreSQLParserRULE_opt_by_expression return p } -func (s *Stmt_ifContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_ifContext) AllIF_P() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserIF_P) -} +func (s *Opt_by_expressionContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_ifContext) IF_P(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIF_P, i) +func (s *Opt_by_expressionContext) BY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBY, 0) } -func (s *Stmt_ifContext) Expr_until_then() IExpr_until_thenContext { +func (s *Opt_by_expressionContext) A_expr() IA_exprContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_until_thenContext); ok { + if _, ok := ctx.(IA_exprContext); ok { t = ctx.(antlr.RuleContext) break } @@ -182018,57 +180601,119 @@ func (s *Stmt_ifContext) Expr_until_then() IExpr_until_thenContext { return nil } - return t.(IExpr_until_thenContext) + return t.(IA_exprContext) } -func (s *Stmt_ifContext) THEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTHEN, 0) +func (s *Opt_by_expressionContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *Stmt_ifContext) Proc_sect() IProc_sectContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *Opt_by_expressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *Opt_by_expressionContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterOpt_by_expression(s) } +} - if t == nil { - return nil +func (s *Opt_by_expressionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitOpt_by_expression(s) } +} - return t.(IProc_sectContext) +func (s *Opt_by_expressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitOpt_by_expression(s) + + default: + return t.VisitChildren(s) + } } -func (s *Stmt_ifContext) Stmt_elsifs() IStmt_elsifsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_elsifsContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *PostgreSQLParser) Opt_by_expression() (localctx IOpt_by_expressionContext) { + localctx = NewOpt_by_expressionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1554, PostgreSQLParserRULE_opt_by_expression) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11111) + p.Match(PostgreSQLParserBY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } + { + p.SetState(11112) + p.A_expr() + } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - return t.(IStmt_elsifsContext) +// IFor_variableContext is an interface to support dynamic dispatch. +type IFor_variableContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + Any_name_list() IAny_name_listContext + + // IsFor_variableContext differentiates from other interfaces. + IsFor_variableContext() } -func (s *Stmt_ifContext) END_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEND_P, 0) +type For_variableContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Stmt_ifContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func NewEmptyFor_variableContext() *For_variableContext { + var p = new(For_variableContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_for_variable + return p } -func (s *Stmt_ifContext) Stmt_else() IStmt_elseContext { +func InitEmptyFor_variableContext(p *For_variableContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_for_variable +} + +func (*For_variableContext) IsFor_variableContext() {} + +func NewFor_variableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *For_variableContext { + var p = new(For_variableContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_for_variable + + return p +} + +func (s *For_variableContext) GetParser() antlr.Parser { return s.parser } + +func (s *For_variableContext) Any_name_list() IAny_name_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmt_elseContext); ok { + if _, ok := ctx.(IAny_name_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -182078,110 +180723,46 @@ func (s *Stmt_ifContext) Stmt_else() IStmt_elseContext { return nil } - return t.(IStmt_elseContext) + return t.(IAny_name_listContext) } -func (s *Stmt_ifContext) GetRuleContext() antlr.RuleContext { +func (s *For_variableContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_ifContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *For_variableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_ifContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *For_variableContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_if(s) + listenerT.EnterFor_variable(s) } } -func (s *Stmt_ifContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *For_variableContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_if(s) + listenerT.ExitFor_variable(s) } } -func (s *Stmt_ifContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *For_variableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_if(s) + return t.VisitFor_variable(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_if() (localctx IStmt_ifContext) { - localctx = NewStmt_ifContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1532, PostgreSQLParserRULE_stmt_if) - var _la int - +func (p *PostgreSQLParser) For_variable() (localctx IFor_variableContext) { + localctx = NewFor_variableContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1556, PostgreSQLParserRULE_for_variable) p.EnterOuterAlt(localctx, 1) { - p.SetState(11066) - p.Match(PostgreSQLParserIF_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11067) - p.Expr_until_then() - } - { - p.SetState(11068) - p.Match(PostgreSQLParserTHEN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11069) - p.Proc_sect() - } - { - p.SetState(11070) - p.Stmt_elsifs() - } - p.SetState(11072) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserELSE { - { - p.SetState(11071) - p.Stmt_else() - } - - } - { - p.SetState(11074) - p.Match(PostgreSQLParserEND_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11075) - p.Match(PostgreSQLParserIF_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11076) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11114) + p.Any_name_list() } errorExit: @@ -182197,98 +180778,93 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_elsifsContext is an interface to support dynamic dispatch. -type IStmt_elsifsContext interface { +// IStmt_foreach_aContext is an interface to support dynamic dispatch. +type IStmt_foreach_aContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllELSIF() []antlr.TerminalNode - ELSIF(i int) antlr.TerminalNode - AllA_expr() []IA_exprContext - A_expr(i int) IA_exprContext - AllTHEN() []antlr.TerminalNode - THEN(i int) antlr.TerminalNode - AllProc_sect() []IProc_sectContext - Proc_sect(i int) IProc_sectContext + FOREACH() antlr.TerminalNode + For_variable() IFor_variableContext + IN_P() antlr.TerminalNode + ARRAY() antlr.TerminalNode + A_expr() IA_exprContext + Loop_body() ILoop_bodyContext + Opt_loop_label() IOpt_loop_labelContext + Foreach_slice() IForeach_sliceContext - // IsStmt_elsifsContext differentiates from other interfaces. - IsStmt_elsifsContext() + // IsStmt_foreach_aContext differentiates from other interfaces. + IsStmt_foreach_aContext() } -type Stmt_elsifsContext struct { +type Stmt_foreach_aContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_elsifsContext() *Stmt_elsifsContext { - var p = new(Stmt_elsifsContext) +func NewEmptyStmt_foreach_aContext() *Stmt_foreach_aContext { + var p = new(Stmt_foreach_aContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_elsifs + p.RuleIndex = PostgreSQLParserRULE_stmt_foreach_a return p } -func InitEmptyStmt_elsifsContext(p *Stmt_elsifsContext) { +func InitEmptyStmt_foreach_aContext(p *Stmt_foreach_aContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_elsifs + p.RuleIndex = PostgreSQLParserRULE_stmt_foreach_a } -func (*Stmt_elsifsContext) IsStmt_elsifsContext() {} +func (*Stmt_foreach_aContext) IsStmt_foreach_aContext() {} -func NewStmt_elsifsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_elsifsContext { - var p = new(Stmt_elsifsContext) +func NewStmt_foreach_aContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_foreach_aContext { + var p = new(Stmt_foreach_aContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_elsifs + p.RuleIndex = PostgreSQLParserRULE_stmt_foreach_a return p } -func (s *Stmt_elsifsContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_elsifsContext) AllELSIF() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserELSIF) -} +func (s *Stmt_foreach_aContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_elsifsContext) ELSIF(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserELSIF, i) +func (s *Stmt_foreach_aContext) FOREACH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOREACH, 0) } -func (s *Stmt_elsifsContext) AllA_expr() []IA_exprContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IA_exprContext); ok { - len++ +func (s *Stmt_foreach_aContext) For_variable() IFor_variableContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFor_variableContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IA_exprContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IA_exprContext); ok { - tst[i] = t.(IA_exprContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IFor_variableContext) } -func (s *Stmt_elsifsContext) A_expr(i int) IA_exprContext { +func (s *Stmt_foreach_aContext) IN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIN_P, 0) +} + +func (s *Stmt_foreach_aContext) ARRAY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserARRAY, 0) +} + +func (s *Stmt_foreach_aContext) A_expr() IA_exprContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IA_exprContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + t = ctx.(antlr.RuleContext) + break } } @@ -182299,45 +180875,44 @@ func (s *Stmt_elsifsContext) A_expr(i int) IA_exprContext { return t.(IA_exprContext) } -func (s *Stmt_elsifsContext) AllTHEN() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserTHEN) -} +func (s *Stmt_foreach_aContext) Loop_body() ILoop_bodyContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILoop_bodyContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Stmt_elsifsContext) THEN(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTHEN, i) + if t == nil { + return nil + } + + return t.(ILoop_bodyContext) } -func (s *Stmt_elsifsContext) AllProc_sect() []IProc_sectContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IProc_sectContext); ok { - len++ +func (s *Stmt_foreach_aContext) Opt_loop_label() IOpt_loop_labelContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_loop_labelContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IProc_sectContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IProc_sectContext); ok { - tst[i] = t.(IProc_sectContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IOpt_loop_labelContext) } -func (s *Stmt_elsifsContext) Proc_sect(i int) IProc_sectContext { +func (s *Stmt_foreach_aContext) Foreach_slice() IForeach_sliceContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IForeach_sliceContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -182345,84 +180920,108 @@ func (s *Stmt_elsifsContext) Proc_sect(i int) IProc_sectContext { return nil } - return t.(IProc_sectContext) + return t.(IForeach_sliceContext) } -func (s *Stmt_elsifsContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_foreach_aContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_elsifsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_foreach_aContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_elsifsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_foreach_aContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_elsifs(s) + listenerT.EnterStmt_foreach_a(s) } } -func (s *Stmt_elsifsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_foreach_aContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_elsifs(s) + listenerT.ExitStmt_foreach_a(s) } } -func (s *Stmt_elsifsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_foreach_aContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_elsifs(s) + return t.VisitStmt_foreach_a(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_elsifs() (localctx IStmt_elsifsContext) { - localctx = NewStmt_elsifsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1534, PostgreSQLParserRULE_stmt_elsifs) +func (p *PostgreSQLParser) Stmt_foreach_a() (localctx IStmt_foreach_aContext) { + localctx = NewStmt_foreach_aContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1558, PostgreSQLParserRULE_stmt_foreach_a) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(11085) + p.SetState(11117) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == PostgreSQLParserELSIF { - { - p.SetState(11078) - p.Match(PostgreSQLParserELSIF) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + if _la == PostgreSQLParserLESS_LESS { { - p.SetState(11079) - p.A_expr() + p.SetState(11116) + p.Opt_loop_label() } - { - p.SetState(11080) - p.Match(PostgreSQLParserTHEN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + + } + { + p.SetState(11119) + p.Match(PostgreSQLParserFOREACH) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } + } + { + p.SetState(11120) + p.For_variable() + } + p.SetState(11122) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserSLICE { { - p.SetState(11081) - p.Proc_sect() + p.SetState(11121) + p.Foreach_slice() } - p.SetState(11087) - p.GetErrorHandler().Sync(p) + } + { + p.SetState(11124) + p.Match(PostgreSQLParserIN_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11125) + p.Match(PostgreSQLParserARRAY) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) + } + { + p.SetState(11126) + p.A_expr() + } + { + p.SetState(11127) + p.Loop_body() } errorExit: @@ -182438,61 +181037,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_elseContext is an interface to support dynamic dispatch. -type IStmt_elseContext interface { +// IForeach_sliceContext is an interface to support dynamic dispatch. +type IForeach_sliceContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ELSE() antlr.TerminalNode - Proc_sect() IProc_sectContext + SLICE() antlr.TerminalNode + Iconst() IIconstContext - // IsStmt_elseContext differentiates from other interfaces. - IsStmt_elseContext() + // IsForeach_sliceContext differentiates from other interfaces. + IsForeach_sliceContext() } -type Stmt_elseContext struct { +type Foreach_sliceContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_elseContext() *Stmt_elseContext { - var p = new(Stmt_elseContext) +func NewEmptyForeach_sliceContext() *Foreach_sliceContext { + var p = new(Foreach_sliceContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_else + p.RuleIndex = PostgreSQLParserRULE_foreach_slice return p } -func InitEmptyStmt_elseContext(p *Stmt_elseContext) { +func InitEmptyForeach_sliceContext(p *Foreach_sliceContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_else + p.RuleIndex = PostgreSQLParserRULE_foreach_slice } -func (*Stmt_elseContext) IsStmt_elseContext() {} +func (*Foreach_sliceContext) IsForeach_sliceContext() {} -func NewStmt_elseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_elseContext { - var p = new(Stmt_elseContext) +func NewForeach_sliceContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Foreach_sliceContext { + var p = new(Foreach_sliceContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_else + p.RuleIndex = PostgreSQLParserRULE_foreach_slice return p } -func (s *Stmt_elseContext) GetParser() antlr.Parser { return s.parser } +func (s *Foreach_sliceContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_elseContext) ELSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserELSE, 0) +func (s *Foreach_sliceContext) SLICE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSLICE, 0) } -func (s *Stmt_elseContext) Proc_sect() IProc_sectContext { +func (s *Foreach_sliceContext) Iconst() IIconstContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { + if _, ok := ctx.(IIconstContext); ok { t = ctx.(antlr.RuleContext) break } @@ -182502,54 +181101,54 @@ func (s *Stmt_elseContext) Proc_sect() IProc_sectContext { return nil } - return t.(IProc_sectContext) + return t.(IIconstContext) } -func (s *Stmt_elseContext) GetRuleContext() antlr.RuleContext { +func (s *Foreach_sliceContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_elseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Foreach_sliceContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_elseContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Foreach_sliceContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_else(s) + listenerT.EnterForeach_slice(s) } } -func (s *Stmt_elseContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Foreach_sliceContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_else(s) + listenerT.ExitForeach_slice(s) } } -func (s *Stmt_elseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Foreach_sliceContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_else(s) + return t.VisitForeach_slice(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_else() (localctx IStmt_elseContext) { - localctx = NewStmt_elseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1536, PostgreSQLParserRULE_stmt_else) +func (p *PostgreSQLParser) Foreach_slice() (localctx IForeach_sliceContext) { + localctx = NewForeach_sliceContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1560, PostgreSQLParserRULE_foreach_slice) p.EnterOuterAlt(localctx, 1) { - p.SetState(11088) - p.Match(PostgreSQLParserELSE) + p.SetState(11129) + p.Match(PostgreSQLParserSLICE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11089) - p.Proc_sect() + p.SetState(11130) + p.Iconst() } errorExit: @@ -182565,70 +181164,59 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_caseContext is an interface to support dynamic dispatch. -type IStmt_caseContext interface { +// IStmt_exitContext is an interface to support dynamic dispatch. +type IStmt_exitContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllCASE() []antlr.TerminalNode - CASE(i int) antlr.TerminalNode - Case_when_list() ICase_when_listContext - END_P() antlr.TerminalNode + Exit_type() IExit_typeContext SEMI() antlr.TerminalNode - Opt_expr_until_when() IOpt_expr_until_whenContext - Opt_case_else() IOpt_case_elseContext + Opt_label() IOpt_labelContext + Opt_exitcond() IOpt_exitcondContext - // IsStmt_caseContext differentiates from other interfaces. - IsStmt_caseContext() + // IsStmt_exitContext differentiates from other interfaces. + IsStmt_exitContext() } -type Stmt_caseContext struct { +type Stmt_exitContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_caseContext() *Stmt_caseContext { - var p = new(Stmt_caseContext) +func NewEmptyStmt_exitContext() *Stmt_exitContext { + var p = new(Stmt_exitContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_case + p.RuleIndex = PostgreSQLParserRULE_stmt_exit return p } -func InitEmptyStmt_caseContext(p *Stmt_caseContext) { +func InitEmptyStmt_exitContext(p *Stmt_exitContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_case + p.RuleIndex = PostgreSQLParserRULE_stmt_exit } -func (*Stmt_caseContext) IsStmt_caseContext() {} +func (*Stmt_exitContext) IsStmt_exitContext() {} -func NewStmt_caseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_caseContext { - var p = new(Stmt_caseContext) +func NewStmt_exitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_exitContext { + var p = new(Stmt_exitContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_case + p.RuleIndex = PostgreSQLParserRULE_stmt_exit return p } -func (s *Stmt_caseContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_caseContext) AllCASE() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCASE) -} - -func (s *Stmt_caseContext) CASE(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCASE, i) -} +func (s *Stmt_exitContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_caseContext) Case_when_list() ICase_when_listContext { +func (s *Stmt_exitContext) Exit_type() IExit_typeContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICase_when_listContext); ok { + if _, ok := ctx.(IExit_typeContext); ok { t = ctx.(antlr.RuleContext) break } @@ -182638,21 +181226,17 @@ func (s *Stmt_caseContext) Case_when_list() ICase_when_listContext { return nil } - return t.(ICase_when_listContext) -} - -func (s *Stmt_caseContext) END_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEND_P, 0) + return t.(IExit_typeContext) } -func (s *Stmt_caseContext) SEMI() antlr.TerminalNode { +func (s *Stmt_exitContext) SEMI() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Stmt_caseContext) Opt_expr_until_when() IOpt_expr_until_whenContext { +func (s *Stmt_exitContext) Opt_label() IOpt_labelContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_expr_until_whenContext); ok { + if _, ok := ctx.(IOpt_labelContext); ok { t = ctx.(antlr.RuleContext) break } @@ -182662,13 +181246,13 @@ func (s *Stmt_caseContext) Opt_expr_until_when() IOpt_expr_until_whenContext { return nil } - return t.(IOpt_expr_until_whenContext) + return t.(IOpt_labelContext) } -func (s *Stmt_caseContext) Opt_case_else() IOpt_case_elseContext { +func (s *Stmt_exitContext) Opt_exitcond() IOpt_exitcondContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_case_elseContext); ok { + if _, ok := ctx.(IOpt_exitcondContext); ok { t = ctx.(antlr.RuleContext) break } @@ -182678,103 +181262,79 @@ func (s *Stmt_caseContext) Opt_case_else() IOpt_case_elseContext { return nil } - return t.(IOpt_case_elseContext) + return t.(IOpt_exitcondContext) } -func (s *Stmt_caseContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_exitContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_caseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_exitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_caseContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_exitContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_case(s) + listenerT.EnterStmt_exit(s) } } -func (s *Stmt_caseContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_exitContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_case(s) + listenerT.ExitStmt_exit(s) } } -func (s *Stmt_caseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_exitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_case(s) + return t.VisitStmt_exit(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_case() (localctx IStmt_caseContext) { - localctx = NewStmt_caseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1538, PostgreSQLParserRULE_stmt_case) +func (p *PostgreSQLParser) Stmt_exit() (localctx IStmt_exitContext) { + localctx = NewStmt_exitContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1562, PostgreSQLParserRULE_stmt_exit) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11091) - p.Match(PostgreSQLParserCASE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11132) + p.Exit_type() } - p.SetState(11093) + p.SetState(11134) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3692875871896482308) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(11092) - p.Opt_expr_until_when() + p.SetState(11133) + p.Opt_label() } } - { - p.SetState(11095) - p.Case_when_list() - } - p.SetState(11097) + p.SetState(11137) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserELSE { + if _la == PostgreSQLParserWHEN { { - p.SetState(11096) - p.Opt_case_else() + p.SetState(11136) + p.Opt_exitcond() } } { - p.SetState(11099) - p.Match(PostgreSQLParserEND_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11100) - p.Match(PostgreSQLParserCASE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11101) + p.SetState(11139) p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -182795,105 +181355,107 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_expr_until_whenContext is an interface to support dynamic dispatch. -type IOpt_expr_until_whenContext interface { +// IExit_typeContext is an interface to support dynamic dispatch. +type IExit_typeContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Sql_expression() ISql_expressionContext + EXIT() antlr.TerminalNode + CONTINUE_P() antlr.TerminalNode - // IsOpt_expr_until_whenContext differentiates from other interfaces. - IsOpt_expr_until_whenContext() + // IsExit_typeContext differentiates from other interfaces. + IsExit_typeContext() } -type Opt_expr_until_whenContext struct { +type Exit_typeContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_expr_until_whenContext() *Opt_expr_until_whenContext { - var p = new(Opt_expr_until_whenContext) +func NewEmptyExit_typeContext() *Exit_typeContext { + var p = new(Exit_typeContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_expr_until_when + p.RuleIndex = PostgreSQLParserRULE_exit_type return p } -func InitEmptyOpt_expr_until_whenContext(p *Opt_expr_until_whenContext) { +func InitEmptyExit_typeContext(p *Exit_typeContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_expr_until_when + p.RuleIndex = PostgreSQLParserRULE_exit_type } -func (*Opt_expr_until_whenContext) IsOpt_expr_until_whenContext() {} +func (*Exit_typeContext) IsExit_typeContext() {} -func NewOpt_expr_until_whenContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_expr_until_whenContext { - var p = new(Opt_expr_until_whenContext) +func NewExit_typeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Exit_typeContext { + var p = new(Exit_typeContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_expr_until_when + p.RuleIndex = PostgreSQLParserRULE_exit_type return p } -func (s *Opt_expr_until_whenContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_expr_until_whenContext) Sql_expression() ISql_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Exit_typeContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *Exit_typeContext) EXIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXIT, 0) +} - return t.(ISql_expressionContext) +func (s *Exit_typeContext) CONTINUE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONTINUE_P, 0) } -func (s *Opt_expr_until_whenContext) GetRuleContext() antlr.RuleContext { +func (s *Exit_typeContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_expr_until_whenContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Exit_typeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_expr_until_whenContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Exit_typeContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_expr_until_when(s) + listenerT.EnterExit_type(s) } } -func (s *Opt_expr_until_whenContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Exit_typeContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_expr_until_when(s) + listenerT.ExitExit_type(s) } } -func (s *Opt_expr_until_whenContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Exit_typeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_expr_until_when(s) + return t.VisitExit_type(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_expr_until_when() (localctx IOpt_expr_until_whenContext) { - localctx = NewOpt_expr_until_whenContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1540, PostgreSQLParserRULE_opt_expr_until_when) +func (p *PostgreSQLParser) Exit_type() (localctx IExit_typeContext) { + localctx = NewExit_typeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1564, PostgreSQLParserRULE_exit_type) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11103) - p.Sql_expression() + p.SetState(11141) + _la = p.GetTokenStream().LA(1) + + if !(_la == PostgreSQLParserCONTINUE_P || _la == PostgreSQLParserEXIT) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } } errorExit: @@ -182909,84 +181471,79 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICase_when_listContext is an interface to support dynamic dispatch. -type ICase_when_listContext interface { +// IStmt_returnContext is an interface to support dynamic dispatch. +type IStmt_returnContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllCase_when() []ICase_whenContext - Case_when(i int) ICase_whenContext + RETURN() antlr.TerminalNode + SEMI() antlr.TerminalNode + NEXT() antlr.TerminalNode + Sql_expression() ISql_expressionContext + QUERY() antlr.TerminalNode + EXECUTE() antlr.TerminalNode + A_expr() IA_exprContext + Selectstmt() ISelectstmtContext + Opt_return_result() IOpt_return_resultContext + Opt_for_using_expression() IOpt_for_using_expressionContext - // IsCase_when_listContext differentiates from other interfaces. - IsCase_when_listContext() + // IsStmt_returnContext differentiates from other interfaces. + IsStmt_returnContext() } -type Case_when_listContext struct { +type Stmt_returnContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCase_when_listContext() *Case_when_listContext { - var p = new(Case_when_listContext) +func NewEmptyStmt_returnContext() *Stmt_returnContext { + var p = new(Stmt_returnContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_case_when_list + p.RuleIndex = PostgreSQLParserRULE_stmt_return return p } -func InitEmptyCase_when_listContext(p *Case_when_listContext) { +func InitEmptyStmt_returnContext(p *Stmt_returnContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_case_when_list + p.RuleIndex = PostgreSQLParserRULE_stmt_return } -func (*Case_when_listContext) IsCase_when_listContext() {} +func (*Stmt_returnContext) IsStmt_returnContext() {} -func NewCase_when_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Case_when_listContext { - var p = new(Case_when_listContext) +func NewStmt_returnContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_returnContext { + var p = new(Stmt_returnContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_case_when_list + p.RuleIndex = PostgreSQLParserRULE_stmt_return return p } -func (s *Case_when_listContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_returnContext) GetParser() antlr.Parser { return s.parser } -func (s *Case_when_listContext) AllCase_when() []ICase_whenContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(ICase_whenContext); ok { - len++ - } - } +func (s *Stmt_returnContext) RETURN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRETURN, 0) +} - tst := make([]ICase_whenContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(ICase_whenContext); ok { - tst[i] = t.(ICase_whenContext) - i++ - } - } +func (s *Stmt_returnContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} - return tst +func (s *Stmt_returnContext) NEXT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNEXT, 0) } -func (s *Case_when_listContext) Case_when(i int) ICase_whenContext { +func (s *Stmt_returnContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICase_whenContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(ISql_expressionContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -182994,136 +181551,53 @@ func (s *Case_when_listContext) Case_when(i int) ICase_whenContext { return nil } - return t.(ICase_whenContext) -} - -func (s *Case_when_listContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *Case_when_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *Case_when_listContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterCase_when_list(s) - } -} - -func (s *Case_when_listContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitCase_when_list(s) - } -} - -func (s *Case_when_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitCase_when_list(s) - - default: - return t.VisitChildren(s) - } -} - -func (p *PostgreSQLParser) Case_when_list() (localctx ICase_when_listContext) { - localctx = NewCase_when_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1542, PostgreSQLParserRULE_case_when_list) - var _la int - - p.EnterOuterAlt(localctx, 1) - p.SetState(11106) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for ok := true; ok; ok = _la == PostgreSQLParserWHEN { - { - p.SetState(11105) - p.Case_when() - } - - p.SetState(11108) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// ICase_whenContext is an interface to support dynamic dispatch. -type ICase_whenContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - WHEN() antlr.TerminalNode - Expr_list() IExpr_listContext - THEN() antlr.TerminalNode - Proc_sect() IProc_sectContext - - // IsCase_whenContext differentiates from other interfaces. - IsCase_whenContext() -} - -type Case_whenContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser + return t.(ISql_expressionContext) } -func NewEmptyCase_whenContext() *Case_whenContext { - var p = new(Case_whenContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_case_when - return p +func (s *Stmt_returnContext) QUERY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserQUERY, 0) } -func InitEmptyCase_whenContext(p *Case_whenContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_case_when +func (s *Stmt_returnContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXECUTE, 0) } -func (*Case_whenContext) IsCase_whenContext() {} - -func NewCase_whenContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Case_whenContext { - var p = new(Case_whenContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Stmt_returnContext) A_expr() IA_exprContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IA_exprContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_case_when + if t == nil { + return nil + } - return p + return t.(IA_exprContext) } -func (s *Case_whenContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_returnContext) Selectstmt() ISelectstmtContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISelectstmtContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Case_whenContext) WHEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHEN, 0) + if t == nil { + return nil + } + + return t.(ISelectstmtContext) } -func (s *Case_whenContext) Expr_list() IExpr_listContext { +func (s *Stmt_returnContext) Opt_return_result() IOpt_return_resultContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_listContext); ok { + if _, ok := ctx.(IOpt_return_resultContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183133,17 +181607,13 @@ func (s *Case_whenContext) Expr_list() IExpr_listContext { return nil } - return t.(IExpr_listContext) -} - -func (s *Case_whenContext) THEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTHEN, 0) + return t.(IOpt_return_resultContext) } -func (s *Case_whenContext) Proc_sect() IProc_sectContext { +func (s *Stmt_returnContext) Opt_for_using_expression() IOpt_for_using_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { + if _, ok := ctx.(IOpt_for_using_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183153,66 +181623,155 @@ func (s *Case_whenContext) Proc_sect() IProc_sectContext { return nil } - return t.(IProc_sectContext) + return t.(IOpt_for_using_expressionContext) } -func (s *Case_whenContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_returnContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Case_whenContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_returnContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Case_whenContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_returnContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterCase_when(s) + listenerT.EnterStmt_return(s) } } -func (s *Case_whenContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_returnContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitCase_when(s) + listenerT.ExitStmt_return(s) } } -func (s *Case_whenContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_returnContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitCase_when(s) + return t.VisitStmt_return(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Case_when() (localctx ICase_whenContext) { - localctx = NewCase_whenContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1544, PostgreSQLParserRULE_case_when) +func (p *PostgreSQLParser) Stmt_return() (localctx IStmt_returnContext) { + localctx = NewStmt_returnContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1566, PostgreSQLParserRULE_stmt_return) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11110) - p.Match(PostgreSQLParserWHEN) + p.SetState(11143) + p.Match(PostgreSQLParserRETURN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11111) - p.Expr_list() + p.SetState(11158) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - { - p.SetState(11112) - p.Match(PostgreSQLParserTHEN) + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1104, p.GetParserRuleContext()) { + case 1: + { + p.SetState(11144) + p.Match(PostgreSQLParserNEXT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11145) + p.Sql_expression() + } + + case 2: + { + p.SetState(11146) + p.Match(PostgreSQLParserQUERY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11153) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } + + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserEXECUTE: + { + p.SetState(11147) + p.Match(PostgreSQLParserEXECUTE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11148) + p.A_expr() + } + p.SetState(11150) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11149) + p.Opt_for_using_expression() + } + + } + + case PostgreSQLParserSELECT, PostgreSQLParserTABLE, PostgreSQLParserVALUES, PostgreSQLParserWITH, PostgreSQLParserOPEN_PAREN: + { + p.SetState(11152) + p.Selectstmt() + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } + + case 3: + p.SetState(11156) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-9007474151179266) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-576602039547658241) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9205348222619353055) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-4501125728769) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152923206487638017) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-72057662761599041) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-2305896886491415041) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&450571068912951263) != 0) || ((int64((_la-522)) & ^0x3f) == 0 && ((int64(1)<<(_la-522))&4929792049609178115) != 0) || ((int64((_la-586)) & ^0x3f) == 0 && ((int64(1)<<(_la-586))&2055) != 0) { + { + p.SetState(11155) + p.Opt_return_result() + } + + } + + case antlr.ATNInvalidAltNumber: + goto errorExit } { - p.SetState(11113) - p.Proc_sect() + p.SetState(11160) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -183228,61 +181787,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_case_elseContext is an interface to support dynamic dispatch. -type IOpt_case_elseContext interface { +// IOpt_return_resultContext is an interface to support dynamic dispatch. +type IOpt_return_resultContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ELSE() antlr.TerminalNode - Proc_sect() IProc_sectContext + Sql_expression() ISql_expressionContext - // IsOpt_case_elseContext differentiates from other interfaces. - IsOpt_case_elseContext() + // IsOpt_return_resultContext differentiates from other interfaces. + IsOpt_return_resultContext() } -type Opt_case_elseContext struct { +type Opt_return_resultContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_case_elseContext() *Opt_case_elseContext { - var p = new(Opt_case_elseContext) +func NewEmptyOpt_return_resultContext() *Opt_return_resultContext { + var p = new(Opt_return_resultContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_case_else + p.RuleIndex = PostgreSQLParserRULE_opt_return_result return p } -func InitEmptyOpt_case_elseContext(p *Opt_case_elseContext) { +func InitEmptyOpt_return_resultContext(p *Opt_return_resultContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_case_else + p.RuleIndex = PostgreSQLParserRULE_opt_return_result } -func (*Opt_case_elseContext) IsOpt_case_elseContext() {} +func (*Opt_return_resultContext) IsOpt_return_resultContext() {} -func NewOpt_case_elseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_case_elseContext { - var p = new(Opt_case_elseContext) +func NewOpt_return_resultContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_return_resultContext { + var p = new(Opt_return_resultContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_case_else + p.RuleIndex = PostgreSQLParserRULE_opt_return_result return p } -func (s *Opt_case_elseContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_case_elseContext) ELSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserELSE, 0) -} +func (s *Opt_return_resultContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_case_elseContext) Proc_sect() IProc_sectContext { +func (s *Opt_return_resultContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183292,54 +181846,46 @@ func (s *Opt_case_elseContext) Proc_sect() IProc_sectContext { return nil } - return t.(IProc_sectContext) + return t.(ISql_expressionContext) } -func (s *Opt_case_elseContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_return_resultContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_case_elseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_return_resultContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_case_elseContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_return_resultContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_case_else(s) + listenerT.EnterOpt_return_result(s) } } -func (s *Opt_case_elseContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_return_resultContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_case_else(s) + listenerT.ExitOpt_return_result(s) } } -func (s *Opt_case_elseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_return_resultContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_case_else(s) + return t.VisitOpt_return_result(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_case_else() (localctx IOpt_case_elseContext) { - localctx = NewOpt_case_elseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1546, PostgreSQLParserRULE_opt_case_else) +func (p *PostgreSQLParser) Opt_return_result() (localctx IOpt_return_resultContext) { + localctx = NewOpt_return_resultContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1568, PostgreSQLParserRULE_opt_return_result) p.EnterOuterAlt(localctx, 1) { - p.SetState(11115) - p.Match(PostgreSQLParserELSE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11116) - p.Proc_sect() + p.SetState(11162) + p.Sql_expression() } errorExit: @@ -183355,57 +181901,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_loopContext is an interface to support dynamic dispatch. -type IStmt_loopContext interface { +// IStmt_raiseContext is an interface to support dynamic dispatch. +type IStmt_raiseContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Loop_body() ILoop_bodyContext - Opt_loop_label() IOpt_loop_labelContext + RAISE() antlr.TerminalNode + Sconst() ISconstContext + SEMI() antlr.TerminalNode + Opt_stmt_raise_level() IOpt_stmt_raise_levelContext + Opt_raise_list() IOpt_raise_listContext + Opt_raise_using() IOpt_raise_usingContext + Identifier() IIdentifierContext + SQLSTATE() antlr.TerminalNode - // IsStmt_loopContext differentiates from other interfaces. - IsStmt_loopContext() + // IsStmt_raiseContext differentiates from other interfaces. + IsStmt_raiseContext() } -type Stmt_loopContext struct { +type Stmt_raiseContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_loopContext() *Stmt_loopContext { - var p = new(Stmt_loopContext) +func NewEmptyStmt_raiseContext() *Stmt_raiseContext { + var p = new(Stmt_raiseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_loop + p.RuleIndex = PostgreSQLParserRULE_stmt_raise return p } -func InitEmptyStmt_loopContext(p *Stmt_loopContext) { +func InitEmptyStmt_raiseContext(p *Stmt_raiseContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_loop + p.RuleIndex = PostgreSQLParserRULE_stmt_raise } -func (*Stmt_loopContext) IsStmt_loopContext() {} +func (*Stmt_raiseContext) IsStmt_raiseContext() {} -func NewStmt_loopContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_loopContext { - var p = new(Stmt_loopContext) +func NewStmt_raiseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_raiseContext { + var p = new(Stmt_raiseContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_loop + p.RuleIndex = PostgreSQLParserRULE_stmt_raise return p } -func (s *Stmt_loopContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_raiseContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_loopContext) Loop_body() ILoop_bodyContext { +func (s *Stmt_raiseContext) RAISE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRAISE, 0) +} + +func (s *Stmt_raiseContext) Sconst() ISconstContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILoop_bodyContext); ok { + if _, ok := ctx.(ISconstContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183415,13 +181971,17 @@ func (s *Stmt_loopContext) Loop_body() ILoop_bodyContext { return nil } - return t.(ILoop_bodyContext) + return t.(ISconstContext) } -func (s *Stmt_loopContext) Opt_loop_label() IOpt_loop_labelContext { +func (s *Stmt_raiseContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_raiseContext) Opt_stmt_raise_level() IOpt_stmt_raise_levelContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_loop_labelContext); ok { + if _, ok := ctx.(IOpt_stmt_raise_levelContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183431,134 +181991,13 @@ func (s *Stmt_loopContext) Opt_loop_label() IOpt_loop_labelContext { return nil } - return t.(IOpt_loop_labelContext) -} - -func (s *Stmt_loopContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *Stmt_loopContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *Stmt_loopContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_loop(s) - } -} - -func (s *Stmt_loopContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_loop(s) - } -} - -func (s *Stmt_loopContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitStmt_loop(s) - - default: - return t.VisitChildren(s) - } -} - -func (p *PostgreSQLParser) Stmt_loop() (localctx IStmt_loopContext) { - localctx = NewStmt_loopContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1548, PostgreSQLParserRULE_stmt_loop) - var _la int - - p.EnterOuterAlt(localctx, 1) - p.SetState(11119) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserLESS_LESS { - { - p.SetState(11118) - p.Opt_loop_label() - } - - } - { - p.SetState(11121) - p.Loop_body() - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IStmt_whileContext is an interface to support dynamic dispatch. -type IStmt_whileContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - WHILE() antlr.TerminalNode - Expr_until_loop() IExpr_until_loopContext - Loop_body() ILoop_bodyContext - Opt_loop_label() IOpt_loop_labelContext - - // IsStmt_whileContext differentiates from other interfaces. - IsStmt_whileContext() -} - -type Stmt_whileContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} - -func NewEmptyStmt_whileContext() *Stmt_whileContext { - var p = new(Stmt_whileContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_while - return p -} - -func InitEmptyStmt_whileContext(p *Stmt_whileContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_while -} - -func (*Stmt_whileContext) IsStmt_whileContext() {} - -func NewStmt_whileContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_whileContext { - var p = new(Stmt_whileContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_while - - return p -} - -func (s *Stmt_whileContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_whileContext) WHILE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHILE, 0) + return t.(IOpt_stmt_raise_levelContext) } -func (s *Stmt_whileContext) Expr_until_loop() IExpr_until_loopContext { +func (s *Stmt_raiseContext) Opt_raise_list() IOpt_raise_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_until_loopContext); ok { + if _, ok := ctx.(IOpt_raise_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183568,13 +182007,13 @@ func (s *Stmt_whileContext) Expr_until_loop() IExpr_until_loopContext { return nil } - return t.(IExpr_until_loopContext) + return t.(IOpt_raise_listContext) } -func (s *Stmt_whileContext) Loop_body() ILoop_bodyContext { +func (s *Stmt_raiseContext) Opt_raise_using() IOpt_raise_usingContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILoop_bodyContext); ok { + if _, ok := ctx.(IOpt_raise_usingContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183584,13 +182023,13 @@ func (s *Stmt_whileContext) Loop_body() ILoop_bodyContext { return nil } - return t.(ILoop_bodyContext) + return t.(IOpt_raise_usingContext) } -func (s *Stmt_whileContext) Opt_loop_label() IOpt_loop_labelContext { +func (s *Stmt_raiseContext) Identifier() IIdentifierContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_loop_labelContext); ok { + if _, ok := ctx.(IIdentifierContext); ok { t = ctx.(antlr.RuleContext) break } @@ -183600,74 +182039,288 @@ func (s *Stmt_whileContext) Opt_loop_label() IOpt_loop_labelContext { return nil } - return t.(IOpt_loop_labelContext) + return t.(IIdentifierContext) } -func (s *Stmt_whileContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_raiseContext) SQLSTATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSQLSTATE, 0) +} + +func (s *Stmt_raiseContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_whileContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_raiseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_whileContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_raiseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_while(s) + listenerT.EnterStmt_raise(s) } } -func (s *Stmt_whileContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_raiseContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_while(s) + listenerT.ExitStmt_raise(s) } } -func (s *Stmt_whileContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_raiseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_while(s) + return t.VisitStmt_raise(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_while() (localctx IStmt_whileContext) { - localctx = NewStmt_whileContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1550, PostgreSQLParserRULE_stmt_while) +func (p *PostgreSQLParser) Stmt_raise() (localctx IStmt_raiseContext) { + localctx = NewStmt_raiseContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1570, PostgreSQLParserRULE_stmt_raise) var _la int - p.EnterOuterAlt(localctx, 1) - p.SetState(11124) + p.SetState(11207) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserLESS_LESS { + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1114, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) { - p.SetState(11123) - p.Opt_loop_label() + p.SetState(11164) + p.Match(PostgreSQLParserRAISE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } + p.SetState(11166) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - } - { - p.SetState(11126) - p.Match(PostgreSQLParserWHILE) + if (int64((_la-553)) & ^0x3f) == 0 && ((int64(1)<<(_la-553))&63) != 0 { + { + p.SetState(11165) + p.Opt_stmt_raise_level() + } + + } + { + p.SetState(11168) + p.Sconst() + } + p.SetState(11170) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } - } - { - p.SetState(11127) - p.Expr_until_loop() - } - { - p.SetState(11128) - p.Loop_body() + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserCOMMA { + { + p.SetState(11169) + p.Opt_raise_list() + } + + } + p.SetState(11173) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11172) + p.Opt_raise_using() + } + + } + { + p.SetState(11175) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(11177) + p.Match(PostgreSQLParserRAISE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11179) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1108, p.GetParserRuleContext()) == 1 { + { + p.SetState(11178) + p.Opt_stmt_raise_level() + } + + } else if p.HasError() { // JIM + goto errorExit + } + { + p.SetState(11181) + p.Identifier() + } + p.SetState(11183) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11182) + p.Opt_raise_using() + } + + } + { + p.SetState(11185) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 3: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(11187) + p.Match(PostgreSQLParserRAISE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11189) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if (int64((_la-553)) & ^0x3f) == 0 && ((int64(1)<<(_la-553))&63) != 0 { + { + p.SetState(11188) + p.Opt_stmt_raise_level() + } + + } + { + p.SetState(11191) + p.Match(PostgreSQLParserSQLSTATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11192) + p.Sconst() + } + p.SetState(11194) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11193) + p.Opt_raise_using() + } + + } + { + p.SetState(11196) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 4: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(11198) + p.Match(PostgreSQLParserRAISE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11200) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if (int64((_la-553)) & ^0x3f) == 0 && ((int64(1)<<(_la-553))&63) != 0 { + { + p.SetState(11199) + p.Opt_stmt_raise_level() + } + + } + p.SetState(11203) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11202) + p.Opt_raise_using() + } + + } + { + p.SetState(11205) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 5: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(11206) + p.Match(PostgreSQLParserRAISE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -183683,173 +182336,128 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_forContext is an interface to support dynamic dispatch. -type IStmt_forContext interface { +// IOpt_stmt_raise_levelContext is an interface to support dynamic dispatch. +type IOpt_stmt_raise_levelContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FOR() antlr.TerminalNode - For_control() IFor_controlContext - Loop_body() ILoop_bodyContext - Opt_loop_label() IOpt_loop_labelContext + DEBUG() antlr.TerminalNode + LOG() antlr.TerminalNode + INFO() antlr.TerminalNode + NOTICE() antlr.TerminalNode + WARNING() antlr.TerminalNode + EXCEPTION() antlr.TerminalNode - // IsStmt_forContext differentiates from other interfaces. - IsStmt_forContext() + // IsOpt_stmt_raise_levelContext differentiates from other interfaces. + IsOpt_stmt_raise_levelContext() } -type Stmt_forContext struct { +type Opt_stmt_raise_levelContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_forContext() *Stmt_forContext { - var p = new(Stmt_forContext) +func NewEmptyOpt_stmt_raise_levelContext() *Opt_stmt_raise_levelContext { + var p = new(Opt_stmt_raise_levelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_for + p.RuleIndex = PostgreSQLParserRULE_opt_stmt_raise_level return p } -func InitEmptyStmt_forContext(p *Stmt_forContext) { +func InitEmptyOpt_stmt_raise_levelContext(p *Opt_stmt_raise_levelContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_for + p.RuleIndex = PostgreSQLParserRULE_opt_stmt_raise_level } -func (*Stmt_forContext) IsStmt_forContext() {} +func (*Opt_stmt_raise_levelContext) IsOpt_stmt_raise_levelContext() {} -func NewStmt_forContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_forContext { - var p = new(Stmt_forContext) +func NewOpt_stmt_raise_levelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_stmt_raise_levelContext { + var p = new(Opt_stmt_raise_levelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_for + p.RuleIndex = PostgreSQLParserRULE_opt_stmt_raise_level return p } -func (s *Stmt_forContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_stmt_raise_levelContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_forContext) FOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOR, 0) +func (s *Opt_stmt_raise_levelContext) DEBUG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEBUG, 0) } -func (s *Stmt_forContext) For_control() IFor_controlContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFor_controlContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IFor_controlContext) +func (s *Opt_stmt_raise_levelContext) LOG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOG, 0) } -func (s *Stmt_forContext) Loop_body() ILoop_bodyContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILoop_bodyContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ILoop_bodyContext) +func (s *Opt_stmt_raise_levelContext) INFO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINFO, 0) } -func (s *Stmt_forContext) Opt_loop_label() IOpt_loop_labelContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_loop_labelContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Opt_stmt_raise_levelContext) NOTICE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOTICE, 0) +} - if t == nil { - return nil - } +func (s *Opt_stmt_raise_levelContext) WARNING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWARNING, 0) +} - return t.(IOpt_loop_labelContext) +func (s *Opt_stmt_raise_levelContext) EXCEPTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCEPTION, 0) } -func (s *Stmt_forContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_stmt_raise_levelContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_forContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_stmt_raise_levelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_forContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_stmt_raise_levelContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_for(s) + listenerT.EnterOpt_stmt_raise_level(s) } } -func (s *Stmt_forContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_stmt_raise_levelContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_for(s) + listenerT.ExitOpt_stmt_raise_level(s) } } -func (s *Stmt_forContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_stmt_raise_levelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_for(s) + return t.VisitOpt_stmt_raise_level(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_for() (localctx IStmt_forContext) { - localctx = NewStmt_forContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1552, PostgreSQLParserRULE_stmt_for) +func (p *PostgreSQLParser) Opt_stmt_raise_level() (localctx IOpt_stmt_raise_levelContext) { + localctx = NewOpt_stmt_raise_levelContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1572, PostgreSQLParserRULE_opt_stmt_raise_level) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(11131) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserLESS_LESS { - { - p.SetState(11130) - p.Opt_loop_label() - } - - } { - p.SetState(11133) - p.Match(PostgreSQLParserFOR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(11209) + _la = p.GetTokenStream().LA(1) + + if !((int64((_la-553)) & ^0x3f) == 0 && ((int64(1)<<(_la-553))&63) != 0) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } - { - p.SetState(11134) - p.For_control() - } - { - p.SetState(11135) - p.Loop_body() - } errorExit: if p.HasError() { @@ -183864,137 +182472,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFor_controlContext is an interface to support dynamic dispatch. -type IFor_controlContext interface { +// IOpt_raise_listContext is an interface to support dynamic dispatch. +type IOpt_raise_listContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - For_variable() IFor_variableContext - IN_P() antlr.TerminalNode - Cursor_name() ICursor_nameContext - Selectstmt() ISelectstmtContext - Explainstmt() IExplainstmtContext - EXECUTE() antlr.TerminalNode + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode AllA_expr() []IA_exprContext A_expr(i int) IA_exprContext - DOT_DOT() antlr.TerminalNode - Opt_cursor_parameters() IOpt_cursor_parametersContext - Opt_for_using_expression() IOpt_for_using_expressionContext - Opt_reverse() IOpt_reverseContext - Opt_by_expression() IOpt_by_expressionContext - // IsFor_controlContext differentiates from other interfaces. - IsFor_controlContext() + // IsOpt_raise_listContext differentiates from other interfaces. + IsOpt_raise_listContext() } -type For_controlContext struct { +type Opt_raise_listContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFor_controlContext() *For_controlContext { - var p = new(For_controlContext) +func NewEmptyOpt_raise_listContext() *Opt_raise_listContext { + var p = new(Opt_raise_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_for_control + p.RuleIndex = PostgreSQLParserRULE_opt_raise_list return p } -func InitEmptyFor_controlContext(p *For_controlContext) { +func InitEmptyOpt_raise_listContext(p *Opt_raise_listContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_for_control + p.RuleIndex = PostgreSQLParserRULE_opt_raise_list } -func (*For_controlContext) IsFor_controlContext() {} +func (*Opt_raise_listContext) IsOpt_raise_listContext() {} -func NewFor_controlContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *For_controlContext { - var p = new(For_controlContext) +func NewOpt_raise_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_listContext { + var p = new(Opt_raise_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_for_control + p.RuleIndex = PostgreSQLParserRULE_opt_raise_list return p } -func (s *For_controlContext) GetParser() antlr.Parser { return s.parser } - -func (s *For_controlContext) For_variable() IFor_variableContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFor_variableContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IFor_variableContext) -} - -func (s *For_controlContext) IN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIN_P, 0) -} - -func (s *For_controlContext) Cursor_name() ICursor_nameContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICursor_nameContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ICursor_nameContext) -} - -func (s *For_controlContext) Selectstmt() ISelectstmtContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISelectstmtContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISelectstmtContext) -} - -func (s *For_controlContext) Explainstmt() IExplainstmtContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExplainstmtContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Opt_raise_listContext) GetParser() antlr.Parser { return s.parser } - return t.(IExplainstmtContext) +func (s *Opt_raise_listContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) } -func (s *For_controlContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXECUTE, 0) +func (s *Opt_raise_listContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) } -func (s *For_controlContext) AllA_expr() []IA_exprContext { +func (s *Opt_raise_listContext) AllA_expr() []IA_exprContext { children := s.GetChildren() len := 0 for _, ctx := range children { @@ -184015,7 +182550,7 @@ func (s *For_controlContext) AllA_expr() []IA_exprContext { return tst } -func (s *For_controlContext) A_expr(i int) IA_exprContext { +func (s *Opt_raise_listContext) A_expr(i int) IA_exprContext { var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { @@ -184035,235 +182570,69 @@ func (s *For_controlContext) A_expr(i int) IA_exprContext { return t.(IA_exprContext) } -func (s *For_controlContext) DOT_DOT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDOT_DOT, 0) -} - -func (s *For_controlContext) Opt_cursor_parameters() IOpt_cursor_parametersContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_cursor_parametersContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_cursor_parametersContext) -} - -func (s *For_controlContext) Opt_for_using_expression() IOpt_for_using_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_for_using_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_for_using_expressionContext) -} - -func (s *For_controlContext) Opt_reverse() IOpt_reverseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_reverseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_reverseContext) -} - -func (s *For_controlContext) Opt_by_expression() IOpt_by_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_by_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_by_expressionContext) -} - -func (s *For_controlContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_raise_listContext) GetRuleContext() antlr.RuleContext { return s } -func (s *For_controlContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_raise_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *For_controlContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_listContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterFor_control(s) + listenerT.EnterOpt_raise_list(s) } } -func (s *For_controlContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_listContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitFor_control(s) + listenerT.ExitOpt_raise_list(s) } } -func (s *For_controlContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_raise_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitFor_control(s) + return t.VisitOpt_raise_list(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) For_control() (localctx IFor_controlContext) { - localctx = NewFor_controlContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1554, PostgreSQLParserRULE_for_control) +func (p *PostgreSQLParser) Opt_raise_list() (localctx IOpt_raise_listContext) { + localctx = NewOpt_raise_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1574, PostgreSQLParserRULE_opt_raise_list) var _la int p.EnterOuterAlt(localctx, 1) - { - p.SetState(11137) - p.For_variable() - } - { - p.SetState(11138) - p.Match(PostgreSQLParserIN_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11159) + p.SetState(11213) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } + _la = p.GetTokenStream().LA(1) - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1096, p.GetParserRuleContext()) { - case 1: - { - p.SetState(11139) - p.Cursor_name() - } - p.SetState(11141) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserOPEN_PAREN { - { - p.SetState(11140) - p.Opt_cursor_parameters() - } - - } - - case 2: - { - p.SetState(11143) - p.Selectstmt() - } - - case 3: - { - p.SetState(11144) - p.Explainstmt() - } - - case 4: + for ok := true; ok; ok = _la == PostgreSQLParserCOMMA { { - p.SetState(11145) - p.Match(PostgreSQLParserEXECUTE) + p.SetState(11211) + p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11146) + p.SetState(11212) p.A_expr() } - p.SetState(11148) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserUSING { - { - p.SetState(11147) - p.Opt_for_using_expression() - } - - } - - case 5: - p.SetState(11151) - p.GetErrorHandler().Sync(p) - - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1094, p.GetParserRuleContext()) == 1 { - { - p.SetState(11150) - p.Opt_reverse() - } - } else if p.HasError() { // JIM - goto errorExit - } - { - p.SetState(11153) - p.A_expr() - } - { - p.SetState(11154) - p.Match(PostgreSQLParserDOT_DOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11155) - p.A_expr() - } - p.SetState(11157) + p.SetState(11215) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserBY { - { - p.SetState(11156) - p.Opt_by_expression() - } - - } - - case antlr.ATNInvalidAltNumber: - goto errorExit } errorExit: @@ -184279,8 +182648,8 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_for_using_expressionContext is an interface to support dynamic dispatch. -type IOpt_for_using_expressionContext interface { +// IOpt_raise_usingContext is an interface to support dynamic dispatch. +type IOpt_raise_usingContext interface { antlr.ParserRuleContext // GetParser returns the parser. @@ -184288,52 +182657,52 @@ type IOpt_for_using_expressionContext interface { // Getter signatures USING() antlr.TerminalNode - Expr_list() IExpr_listContext + Opt_raise_using_elem_list() IOpt_raise_using_elem_listContext - // IsOpt_for_using_expressionContext differentiates from other interfaces. - IsOpt_for_using_expressionContext() + // IsOpt_raise_usingContext differentiates from other interfaces. + IsOpt_raise_usingContext() } -type Opt_for_using_expressionContext struct { +type Opt_raise_usingContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_for_using_expressionContext() *Opt_for_using_expressionContext { - var p = new(Opt_for_using_expressionContext) +func NewEmptyOpt_raise_usingContext() *Opt_raise_usingContext { + var p = new(Opt_raise_usingContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_for_using_expression + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using return p } -func InitEmptyOpt_for_using_expressionContext(p *Opt_for_using_expressionContext) { +func InitEmptyOpt_raise_usingContext(p *Opt_raise_usingContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_for_using_expression + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using } -func (*Opt_for_using_expressionContext) IsOpt_for_using_expressionContext() {} +func (*Opt_raise_usingContext) IsOpt_raise_usingContext() {} -func NewOpt_for_using_expressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_for_using_expressionContext { - var p = new(Opt_for_using_expressionContext) +func NewOpt_raise_usingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_usingContext { + var p = new(Opt_raise_usingContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_for_using_expression + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using return p } -func (s *Opt_for_using_expressionContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_raise_usingContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_for_using_expressionContext) USING() antlr.TerminalNode { +func (s *Opt_raise_usingContext) USING() antlr.TerminalNode { return s.GetToken(PostgreSQLParserUSING, 0) } -func (s *Opt_for_using_expressionContext) Expr_list() IExpr_listContext { +func (s *Opt_raise_usingContext) Opt_raise_using_elem_list() IOpt_raise_using_elem_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_listContext); ok { + if _, ok := ctx.(IOpt_raise_using_elem_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -184343,45 +182712,45 @@ func (s *Opt_for_using_expressionContext) Expr_list() IExpr_listContext { return nil } - return t.(IExpr_listContext) + return t.(IOpt_raise_using_elem_listContext) } -func (s *Opt_for_using_expressionContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_raise_usingContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_for_using_expressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_raise_usingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_for_using_expressionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_usingContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_for_using_expression(s) + listenerT.EnterOpt_raise_using(s) } } -func (s *Opt_for_using_expressionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_usingContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_for_using_expression(s) + listenerT.ExitOpt_raise_using(s) } } -func (s *Opt_for_using_expressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_raise_usingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_for_using_expression(s) + return t.VisitOpt_raise_using(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_for_using_expression() (localctx IOpt_for_using_expressionContext) { - localctx = NewOpt_for_using_expressionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1556, PostgreSQLParserRULE_opt_for_using_expression) +func (p *PostgreSQLParser) Opt_raise_using() (localctx IOpt_raise_usingContext) { + localctx = NewOpt_raise_usingContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1576, PostgreSQLParserRULE_opt_raise_using) p.EnterOuterAlt(localctx, 1) { - p.SetState(11161) + p.SetState(11217) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -184389,8 +182758,8 @@ func (p *PostgreSQLParser) Opt_for_using_expression() (localctx IOpt_for_using_e } } { - p.SetState(11162) - p.Expr_list() + p.SetState(11218) + p.Opt_raise_using_elem_list() } errorExit: @@ -184406,92 +182775,80 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_cursor_parametersContext is an interface to support dynamic dispatch. -type IOpt_cursor_parametersContext interface { +// IOpt_raise_using_elemContext is an interface to support dynamic dispatch. +type IOpt_raise_using_elemContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - OPEN_PAREN() antlr.TerminalNode - AllA_expr() []IA_exprContext - A_expr(i int) IA_exprContext - CLOSE_PAREN() antlr.TerminalNode - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode + Identifier() IIdentifierContext + EQUAL() antlr.TerminalNode + A_expr() IA_exprContext - // IsOpt_cursor_parametersContext differentiates from other interfaces. - IsOpt_cursor_parametersContext() + // IsOpt_raise_using_elemContext differentiates from other interfaces. + IsOpt_raise_using_elemContext() } -type Opt_cursor_parametersContext struct { +type Opt_raise_using_elemContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_cursor_parametersContext() *Opt_cursor_parametersContext { - var p = new(Opt_cursor_parametersContext) +func NewEmptyOpt_raise_using_elemContext() *Opt_raise_using_elemContext { + var p = new(Opt_raise_using_elemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_cursor_parameters + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem return p } -func InitEmptyOpt_cursor_parametersContext(p *Opt_cursor_parametersContext) { +func InitEmptyOpt_raise_using_elemContext(p *Opt_raise_using_elemContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_cursor_parameters + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem } -func (*Opt_cursor_parametersContext) IsOpt_cursor_parametersContext() {} +func (*Opt_raise_using_elemContext) IsOpt_raise_using_elemContext() {} -func NewOpt_cursor_parametersContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_cursor_parametersContext { - var p = new(Opt_cursor_parametersContext) +func NewOpt_raise_using_elemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_using_elemContext { + var p = new(Opt_raise_using_elemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_cursor_parameters + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem return p } -func (s *Opt_cursor_parametersContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_cursor_parametersContext) OPEN_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) -} +func (s *Opt_raise_using_elemContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_cursor_parametersContext) AllA_expr() []IA_exprContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IA_exprContext); ok { - len++ +func (s *Opt_raise_using_elemContext) Identifier() IIdentifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IA_exprContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IA_exprContext); ok { - tst[i] = t.(IA_exprContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IIdentifierContext) } -func (s *Opt_cursor_parametersContext) A_expr(i int) IA_exprContext { +func (s *Opt_raise_using_elemContext) EQUAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEQUAL, 0) +} + +func (s *Opt_raise_using_elemContext) A_expr() IA_exprContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IA_exprContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + t = ctx.(antlr.RuleContext) + break } } @@ -184502,101 +182859,55 @@ func (s *Opt_cursor_parametersContext) A_expr(i int) IA_exprContext { return t.(IA_exprContext) } -func (s *Opt_cursor_parametersContext) CLOSE_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) -} - -func (s *Opt_cursor_parametersContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) -} - -func (s *Opt_cursor_parametersContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) -} - -func (s *Opt_cursor_parametersContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_raise_using_elemContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_cursor_parametersContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_raise_using_elemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_cursor_parametersContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_using_elemContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_cursor_parameters(s) + listenerT.EnterOpt_raise_using_elem(s) } } -func (s *Opt_cursor_parametersContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_using_elemContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_cursor_parameters(s) + listenerT.ExitOpt_raise_using_elem(s) } } -func (s *Opt_cursor_parametersContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_raise_using_elemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_cursor_parameters(s) + return t.VisitOpt_raise_using_elem(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_cursor_parameters() (localctx IOpt_cursor_parametersContext) { - localctx = NewOpt_cursor_parametersContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1558, PostgreSQLParserRULE_opt_cursor_parameters) - var _la int - +func (p *PostgreSQLParser) Opt_raise_using_elem() (localctx IOpt_raise_using_elemContext) { + localctx = NewOpt_raise_using_elemContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1578, PostgreSQLParserRULE_opt_raise_using_elem) p.EnterOuterAlt(localctx, 1) { - p.SetState(11164) - p.Match(PostgreSQLParserOPEN_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11220) + p.Identifier() } { - p.SetState(11165) - p.A_expr() - } - p.SetState(11170) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == PostgreSQLParserCOMMA { - { - p.SetState(11166) - p.Match(PostgreSQLParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11167) - p.A_expr() - } - - p.SetState(11172) - p.GetErrorHandler().Sync(p) + p.SetState(11221) + p.Match(PostgreSQLParserEQUAL) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) } { - p.SetState(11173) - p.Match(PostgreSQLParserCLOSE_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11222) + p.A_expr() } errorExit: @@ -184612,97 +182923,171 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_reverseContext is an interface to support dynamic dispatch. -type IOpt_reverseContext interface { +// IOpt_raise_using_elem_listContext is an interface to support dynamic dispatch. +type IOpt_raise_using_elem_listContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - REVERSE() antlr.TerminalNode + AllOpt_raise_using_elem() []IOpt_raise_using_elemContext + Opt_raise_using_elem(i int) IOpt_raise_using_elemContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode - // IsOpt_reverseContext differentiates from other interfaces. - IsOpt_reverseContext() + // IsOpt_raise_using_elem_listContext differentiates from other interfaces. + IsOpt_raise_using_elem_listContext() } -type Opt_reverseContext struct { +type Opt_raise_using_elem_listContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_reverseContext() *Opt_reverseContext { - var p = new(Opt_reverseContext) +func NewEmptyOpt_raise_using_elem_listContext() *Opt_raise_using_elem_listContext { + var p = new(Opt_raise_using_elem_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_reverse + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem_list return p } -func InitEmptyOpt_reverseContext(p *Opt_reverseContext) { +func InitEmptyOpt_raise_using_elem_listContext(p *Opt_raise_using_elem_listContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_reverse + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem_list } -func (*Opt_reverseContext) IsOpt_reverseContext() {} +func (*Opt_raise_using_elem_listContext) IsOpt_raise_using_elem_listContext() {} -func NewOpt_reverseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_reverseContext { - var p = new(Opt_reverseContext) +func NewOpt_raise_using_elem_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_using_elem_listContext { + var p = new(Opt_raise_using_elem_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_reverse + p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem_list return p } -func (s *Opt_reverseContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_raise_using_elem_listContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_reverseContext) REVERSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserREVERSE, 0) +func (s *Opt_raise_using_elem_listContext) AllOpt_raise_using_elem() []IOpt_raise_using_elemContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IOpt_raise_using_elemContext); ok { + len++ + } + } + + tst := make([]IOpt_raise_using_elemContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IOpt_raise_using_elemContext); ok { + tst[i] = t.(IOpt_raise_using_elemContext) + i++ + } + } + + return tst } -func (s *Opt_reverseContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_raise_using_elem_listContext) Opt_raise_using_elem(i int) IOpt_raise_using_elemContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_raise_using_elemContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IOpt_raise_using_elemContext) +} + +func (s *Opt_raise_using_elem_listContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) +} + +func (s *Opt_raise_using_elem_listContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) +} + +func (s *Opt_raise_using_elem_listContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_reverseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_raise_using_elem_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_reverseContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_using_elem_listContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_reverse(s) + listenerT.EnterOpt_raise_using_elem_list(s) } } -func (s *Opt_reverseContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_raise_using_elem_listContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_reverse(s) + listenerT.ExitOpt_raise_using_elem_list(s) } } -func (s *Opt_reverseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_raise_using_elem_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_reverse(s) + return t.VisitOpt_raise_using_elem_list(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_reverse() (localctx IOpt_reverseContext) { - localctx = NewOpt_reverseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1560, PostgreSQLParserRULE_opt_reverse) +func (p *PostgreSQLParser) Opt_raise_using_elem_list() (localctx IOpt_raise_using_elem_listContext) { + localctx = NewOpt_raise_using_elem_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1580, PostgreSQLParserRULE_opt_raise_using_elem_list) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11175) - p.Match(PostgreSQLParserREVERSE) + p.SetState(11224) + p.Opt_raise_using_elem() + } + p.SetState(11229) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for _la == PostgreSQLParserCOMMA { + { + p.SetState(11225) + p.Match(PostgreSQLParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11226) + p.Opt_raise_using_elem() + } + + p.SetState(11231) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -184718,61 +183103,63 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_by_expressionContext is an interface to support dynamic dispatch. -type IOpt_by_expressionContext interface { +// IStmt_assertContext is an interface to support dynamic dispatch. +type IStmt_assertContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - BY() antlr.TerminalNode - A_expr() IA_exprContext + ASSERT() antlr.TerminalNode + Sql_expression() ISql_expressionContext + SEMI() antlr.TerminalNode + Opt_stmt_assert_message() IOpt_stmt_assert_messageContext - // IsOpt_by_expressionContext differentiates from other interfaces. - IsOpt_by_expressionContext() + // IsStmt_assertContext differentiates from other interfaces. + IsStmt_assertContext() } -type Opt_by_expressionContext struct { +type Stmt_assertContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_by_expressionContext() *Opt_by_expressionContext { - var p = new(Opt_by_expressionContext) +func NewEmptyStmt_assertContext() *Stmt_assertContext { + var p = new(Stmt_assertContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_by_expression + p.RuleIndex = PostgreSQLParserRULE_stmt_assert return p } -func InitEmptyOpt_by_expressionContext(p *Opt_by_expressionContext) { +func InitEmptyStmt_assertContext(p *Stmt_assertContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_by_expression + p.RuleIndex = PostgreSQLParserRULE_stmt_assert } -func (*Opt_by_expressionContext) IsOpt_by_expressionContext() {} +func (*Stmt_assertContext) IsStmt_assertContext() {} -func NewOpt_by_expressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_by_expressionContext { - var p = new(Opt_by_expressionContext) +func NewStmt_assertContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_assertContext { + var p = new(Stmt_assertContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_by_expression + p.RuleIndex = PostgreSQLParserRULE_stmt_assert return p } -func (s *Opt_by_expressionContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_assertContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_by_expressionContext) BY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBY, 0) +func (s *Stmt_assertContext) ASSERT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASSERT, 0) } -func (s *Opt_by_expressionContext) A_expr() IA_exprContext { +func (s *Stmt_assertContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -184782,54 +183169,98 @@ func (s *Opt_by_expressionContext) A_expr() IA_exprContext { return nil } - return t.(IA_exprContext) + return t.(ISql_expressionContext) } -func (s *Opt_by_expressionContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_assertContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_assertContext) Opt_stmt_assert_message() IOpt_stmt_assert_messageContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_stmt_assert_messageContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_stmt_assert_messageContext) +} + +func (s *Stmt_assertContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_by_expressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_assertContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_by_expressionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_assertContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_by_expression(s) + listenerT.EnterStmt_assert(s) } } -func (s *Opt_by_expressionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_assertContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_by_expression(s) + listenerT.ExitStmt_assert(s) } } -func (s *Opt_by_expressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_assertContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_by_expression(s) + return t.VisitStmt_assert(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_by_expression() (localctx IOpt_by_expressionContext) { - localctx = NewOpt_by_expressionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1562, PostgreSQLParserRULE_opt_by_expression) +func (p *PostgreSQLParser) Stmt_assert() (localctx IStmt_assertContext) { + localctx = NewStmt_assertContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1582, PostgreSQLParserRULE_stmt_assert) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11177) - p.Match(PostgreSQLParserBY) + p.SetState(11232) + p.Match(PostgreSQLParserASSERT) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11178) - p.A_expr() + p.SetState(11233) + p.Sql_expression() + } + p.SetState(11235) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserCOMMA { + { + p.SetState(11234) + p.Opt_stmt_assert_message() + } + + } + { + p.SetState(11237) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -184845,56 +183276,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFor_variableContext is an interface to support dynamic dispatch. -type IFor_variableContext interface { +// IOpt_stmt_assert_messageContext is an interface to support dynamic dispatch. +type IOpt_stmt_assert_messageContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Any_name_list() IAny_name_listContext + COMMA() antlr.TerminalNode + Sql_expression() ISql_expressionContext - // IsFor_variableContext differentiates from other interfaces. - IsFor_variableContext() + // IsOpt_stmt_assert_messageContext differentiates from other interfaces. + IsOpt_stmt_assert_messageContext() } -type For_variableContext struct { +type Opt_stmt_assert_messageContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFor_variableContext() *For_variableContext { - var p = new(For_variableContext) +func NewEmptyOpt_stmt_assert_messageContext() *Opt_stmt_assert_messageContext { + var p = new(Opt_stmt_assert_messageContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_for_variable + p.RuleIndex = PostgreSQLParserRULE_opt_stmt_assert_message return p } -func InitEmptyFor_variableContext(p *For_variableContext) { +func InitEmptyOpt_stmt_assert_messageContext(p *Opt_stmt_assert_messageContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_for_variable + p.RuleIndex = PostgreSQLParserRULE_opt_stmt_assert_message } -func (*For_variableContext) IsFor_variableContext() {} +func (*Opt_stmt_assert_messageContext) IsOpt_stmt_assert_messageContext() {} -func NewFor_variableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *For_variableContext { - var p = new(For_variableContext) +func NewOpt_stmt_assert_messageContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_stmt_assert_messageContext { + var p = new(Opt_stmt_assert_messageContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_for_variable + p.RuleIndex = PostgreSQLParserRULE_opt_stmt_assert_message return p } -func (s *For_variableContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_stmt_assert_messageContext) GetParser() antlr.Parser { return s.parser } -func (s *For_variableContext) Any_name_list() IAny_name_listContext { +func (s *Opt_stmt_assert_messageContext) COMMA() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, 0) +} + +func (s *Opt_stmt_assert_messageContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_name_listContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -184904,46 +183340,54 @@ func (s *For_variableContext) Any_name_list() IAny_name_listContext { return nil } - return t.(IAny_name_listContext) + return t.(ISql_expressionContext) } -func (s *For_variableContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_stmt_assert_messageContext) GetRuleContext() antlr.RuleContext { return s } -func (s *For_variableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_stmt_assert_messageContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *For_variableContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_stmt_assert_messageContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterFor_variable(s) + listenerT.EnterOpt_stmt_assert_message(s) } } -func (s *For_variableContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_stmt_assert_messageContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitFor_variable(s) + listenerT.ExitOpt_stmt_assert_message(s) } } -func (s *For_variableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_stmt_assert_messageContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitFor_variable(s) + return t.VisitOpt_stmt_assert_message(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) For_variable() (localctx IFor_variableContext) { - localctx = NewFor_variableContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1564, PostgreSQLParserRULE_for_variable) +func (p *PostgreSQLParser) Opt_stmt_assert_message() (localctx IOpt_stmt_assert_messageContext) { + localctx = NewOpt_stmt_assert_messageContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1584, PostgreSQLParserRULE_opt_stmt_assert_message) p.EnterOuterAlt(localctx, 1) { - p.SetState(11180) - p.Any_name_list() + p.SetState(11239) + p.Match(PostgreSQLParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11240) + p.Sql_expression() } errorExit: @@ -184959,91 +183403,69 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_foreach_aContext is an interface to support dynamic dispatch. -type IStmt_foreach_aContext interface { +// ILoop_bodyContext is an interface to support dynamic dispatch. +type ILoop_bodyContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FOREACH() antlr.TerminalNode - For_variable() IFor_variableContext - IN_P() antlr.TerminalNode - ARRAY() antlr.TerminalNode - A_expr() IA_exprContext - Loop_body() ILoop_bodyContext - Opt_loop_label() IOpt_loop_labelContext - Foreach_slice() IForeach_sliceContext + AllLOOP() []antlr.TerminalNode + LOOP(i int) antlr.TerminalNode + Proc_sect() IProc_sectContext + END_P() antlr.TerminalNode + SEMI() antlr.TerminalNode + Opt_label() IOpt_labelContext - // IsStmt_foreach_aContext differentiates from other interfaces. - IsStmt_foreach_aContext() + // IsLoop_bodyContext differentiates from other interfaces. + IsLoop_bodyContext() } -type Stmt_foreach_aContext struct { +type Loop_bodyContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_foreach_aContext() *Stmt_foreach_aContext { - var p = new(Stmt_foreach_aContext) +func NewEmptyLoop_bodyContext() *Loop_bodyContext { + var p = new(Loop_bodyContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_foreach_a + p.RuleIndex = PostgreSQLParserRULE_loop_body return p } -func InitEmptyStmt_foreach_aContext(p *Stmt_foreach_aContext) { +func InitEmptyLoop_bodyContext(p *Loop_bodyContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_foreach_a + p.RuleIndex = PostgreSQLParserRULE_loop_body } -func (*Stmt_foreach_aContext) IsStmt_foreach_aContext() {} +func (*Loop_bodyContext) IsLoop_bodyContext() {} -func NewStmt_foreach_aContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_foreach_aContext { - var p = new(Stmt_foreach_aContext) +func NewLoop_bodyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Loop_bodyContext { + var p = new(Loop_bodyContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_foreach_a + p.RuleIndex = PostgreSQLParserRULE_loop_body return p } -func (s *Stmt_foreach_aContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_foreach_aContext) FOREACH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOREACH, 0) -} - -func (s *Stmt_foreach_aContext) For_variable() IFor_variableContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFor_variableContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IFor_variableContext) -} +func (s *Loop_bodyContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_foreach_aContext) IN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIN_P, 0) +func (s *Loop_bodyContext) AllLOOP() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserLOOP) } -func (s *Stmt_foreach_aContext) ARRAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserARRAY, 0) +func (s *Loop_bodyContext) LOOP(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOOP, i) } -func (s *Stmt_foreach_aContext) A_expr() IA_exprContext { +func (s *Loop_bodyContext) Proc_sect() IProc_sectContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(IProc_sectContext); ok { t = ctx.(antlr.RuleContext) break } @@ -185053,45 +183475,21 @@ func (s *Stmt_foreach_aContext) A_expr() IA_exprContext { return nil } - return t.(IA_exprContext) + return t.(IProc_sectContext) } -func (s *Stmt_foreach_aContext) Loop_body() ILoop_bodyContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILoop_bodyContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ILoop_bodyContext) +func (s *Loop_bodyContext) END_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEND_P, 0) } -func (s *Stmt_foreach_aContext) Opt_loop_label() IOpt_loop_labelContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_loop_labelContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_loop_labelContext) +func (s *Loop_bodyContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Stmt_foreach_aContext) Foreach_slice() IForeach_sliceContext { +func (s *Loop_bodyContext) Opt_label() IOpt_labelContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IForeach_sliceContext); ok { + if _, ok := ctx.(IOpt_labelContext); ok { t = ctx.(antlr.RuleContext) break } @@ -185101,109 +183499,95 @@ func (s *Stmt_foreach_aContext) Foreach_slice() IForeach_sliceContext { return nil } - return t.(IForeach_sliceContext) + return t.(IOpt_labelContext) } -func (s *Stmt_foreach_aContext) GetRuleContext() antlr.RuleContext { +func (s *Loop_bodyContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_foreach_aContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Loop_bodyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_foreach_aContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Loop_bodyContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_foreach_a(s) + listenerT.EnterLoop_body(s) } } -func (s *Stmt_foreach_aContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Loop_bodyContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_foreach_a(s) + listenerT.ExitLoop_body(s) } } -func (s *Stmt_foreach_aContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Loop_bodyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_foreach_a(s) + return t.VisitLoop_body(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_foreach_a() (localctx IStmt_foreach_aContext) { - localctx = NewStmt_foreach_aContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1566, PostgreSQLParserRULE_stmt_foreach_a) +func (p *PostgreSQLParser) Loop_body() (localctx ILoop_bodyContext) { + localctx = NewLoop_bodyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1586, PostgreSQLParserRULE_loop_body) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(11183) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserLESS_LESS { - { - p.SetState(11182) - p.Opt_loop_label() + { + p.SetState(11242) + p.Match(PostgreSQLParserLOOP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - } { - p.SetState(11185) - p.Match(PostgreSQLParserFOREACH) + p.SetState(11243) + p.Proc_sect() + } + { + p.SetState(11244) + p.Match(PostgreSQLParserEND_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11186) - p.For_variable() + p.SetState(11245) + p.Match(PostgreSQLParserLOOP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - p.SetState(11188) + p.SetState(11247) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserSLICE { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-1162140119887168514) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-581105639441498129) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204785269981511647) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-217806381599235) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1152993575237189649) != 0) || ((int64((_la-321)) & ^0x3f) == 0 && ((int64(1)<<(_la-321))&-4683743681188986945) != 0) || ((int64((_la-385)) & ^0x3f) == 0 && ((int64(1)<<(_la-385))&-6919834713322422801) != 0) || ((int64((_la-449)) & ^0x3f) == 0 && ((int64(1)<<(_la-449))&70368687513551) != 0) || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&108086429443121151) != 0) { { - p.SetState(11187) - p.Foreach_slice() + p.SetState(11246) + p.Opt_label() } } { - p.SetState(11190) - p.Match(PostgreSQLParserIN_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11191) - p.Match(PostgreSQLParserARRAY) + p.SetState(11249) + p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11192) - p.A_expr() - } - { - p.SetState(11193) - p.Loop_body() - } errorExit: if p.HasError() { @@ -185218,61 +183602,57 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IForeach_sliceContext is an interface to support dynamic dispatch. -type IForeach_sliceContext interface { +// IStmt_execsqlContext is an interface to support dynamic dispatch. +type IStmt_execsqlContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - SLICE() antlr.TerminalNode - Iconst() IIconstContext + Make_execsql_stmt() IMake_execsql_stmtContext + SEMI() antlr.TerminalNode - // IsForeach_sliceContext differentiates from other interfaces. - IsForeach_sliceContext() + // IsStmt_execsqlContext differentiates from other interfaces. + IsStmt_execsqlContext() } -type Foreach_sliceContext struct { +type Stmt_execsqlContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyForeach_sliceContext() *Foreach_sliceContext { - var p = new(Foreach_sliceContext) +func NewEmptyStmt_execsqlContext() *Stmt_execsqlContext { + var p = new(Stmt_execsqlContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_foreach_slice + p.RuleIndex = PostgreSQLParserRULE_stmt_execsql return p } -func InitEmptyForeach_sliceContext(p *Foreach_sliceContext) { +func InitEmptyStmt_execsqlContext(p *Stmt_execsqlContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_foreach_slice + p.RuleIndex = PostgreSQLParserRULE_stmt_execsql } -func (*Foreach_sliceContext) IsForeach_sliceContext() {} +func (*Stmt_execsqlContext) IsStmt_execsqlContext() {} -func NewForeach_sliceContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Foreach_sliceContext { - var p = new(Foreach_sliceContext) +func NewStmt_execsqlContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_execsqlContext { + var p = new(Stmt_execsqlContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_foreach_slice + p.RuleIndex = PostgreSQLParserRULE_stmt_execsql return p } -func (s *Foreach_sliceContext) GetParser() antlr.Parser { return s.parser } - -func (s *Foreach_sliceContext) SLICE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSLICE, 0) -} +func (s *Stmt_execsqlContext) GetParser() antlr.Parser { return s.parser } -func (s *Foreach_sliceContext) Iconst() IIconstContext { +func (s *Stmt_execsqlContext) Make_execsql_stmt() IMake_execsql_stmtContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIconstContext); ok { + if _, ok := ctx.(IMake_execsql_stmtContext); ok { t = ctx.(antlr.RuleContext) break } @@ -185282,55 +183662,59 @@ func (s *Foreach_sliceContext) Iconst() IIconstContext { return nil } - return t.(IIconstContext) + return t.(IMake_execsql_stmtContext) } -func (s *Foreach_sliceContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_execsqlContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_execsqlContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Foreach_sliceContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_execsqlContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Foreach_sliceContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_execsqlContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterForeach_slice(s) + listenerT.EnterStmt_execsql(s) } } -func (s *Foreach_sliceContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_execsqlContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitForeach_slice(s) + listenerT.ExitStmt_execsql(s) } } -func (s *Foreach_sliceContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_execsqlContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitForeach_slice(s) + return t.VisitStmt_execsql(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Foreach_slice() (localctx IForeach_sliceContext) { - localctx = NewForeach_sliceContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1568, PostgreSQLParserRULE_foreach_slice) +func (p *PostgreSQLParser) Stmt_execsql() (localctx IStmt_execsqlContext) { + localctx = NewStmt_execsqlContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1588, PostgreSQLParserRULE_stmt_execsql) p.EnterOuterAlt(localctx, 1) { - p.SetState(11195) - p.Match(PostgreSQLParserSLICE) + p.SetState(11251) + p.Make_execsql_stmt() + } + { + p.SetState(11252) + p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11196) - p.Iconst() - } errorExit: if p.HasError() { @@ -185345,59 +183729,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_exitContext is an interface to support dynamic dispatch. -type IStmt_exitContext interface { +// IStmt_dynexecuteContext is an interface to support dynamic dispatch. +type IStmt_dynexecuteContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Exit_type() IExit_typeContext + EXECUTE() antlr.TerminalNode + A_expr() IA_exprContext SEMI() antlr.TerminalNode - Opt_label() IOpt_labelContext - Opt_exitcond() IOpt_exitcondContext + Opt_execute_into() IOpt_execute_intoContext + Opt_execute_using() IOpt_execute_usingContext - // IsStmt_exitContext differentiates from other interfaces. - IsStmt_exitContext() + // IsStmt_dynexecuteContext differentiates from other interfaces. + IsStmt_dynexecuteContext() } -type Stmt_exitContext struct { +type Stmt_dynexecuteContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_exitContext() *Stmt_exitContext { - var p = new(Stmt_exitContext) +func NewEmptyStmt_dynexecuteContext() *Stmt_dynexecuteContext { + var p = new(Stmt_dynexecuteContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_exit + p.RuleIndex = PostgreSQLParserRULE_stmt_dynexecute return p } -func InitEmptyStmt_exitContext(p *Stmt_exitContext) { +func InitEmptyStmt_dynexecuteContext(p *Stmt_dynexecuteContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_exit + p.RuleIndex = PostgreSQLParserRULE_stmt_dynexecute } -func (*Stmt_exitContext) IsStmt_exitContext() {} +func (*Stmt_dynexecuteContext) IsStmt_dynexecuteContext() {} -func NewStmt_exitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_exitContext { - var p = new(Stmt_exitContext) +func NewStmt_dynexecuteContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_dynexecuteContext { + var p = new(Stmt_dynexecuteContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_exit + p.RuleIndex = PostgreSQLParserRULE_stmt_dynexecute return p } -func (s *Stmt_exitContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_dynexecuteContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_exitContext) Exit_type() IExit_typeContext { +func (s *Stmt_dynexecuteContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXECUTE, 0) +} + +func (s *Stmt_dynexecuteContext) A_expr() IA_exprContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExit_typeContext); ok { + if _, ok := ctx.(IA_exprContext); ok { t = ctx.(antlr.RuleContext) break } @@ -185407,17 +183796,17 @@ func (s *Stmt_exitContext) Exit_type() IExit_typeContext { return nil } - return t.(IExit_typeContext) + return t.(IA_exprContext) } -func (s *Stmt_exitContext) SEMI() antlr.TerminalNode { +func (s *Stmt_dynexecuteContext) SEMI() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Stmt_exitContext) Opt_label() IOpt_labelContext { +func (s *Stmt_dynexecuteContext) Opt_execute_into() IOpt_execute_intoContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_labelContext); ok { + if _, ok := ctx.(IOpt_execute_intoContext); ok { t = ctx.(antlr.RuleContext) break } @@ -185427,13 +183816,13 @@ func (s *Stmt_exitContext) Opt_label() IOpt_labelContext { return nil } - return t.(IOpt_labelContext) + return t.(IOpt_execute_intoContext) } -func (s *Stmt_exitContext) Opt_exitcond() IOpt_exitcondContext { +func (s *Stmt_dynexecuteContext) Opt_execute_using() IOpt_execute_usingContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_exitcondContext); ok { + if _, ok := ctx.(IOpt_execute_usingContext); ok { t = ctx.(antlr.RuleContext) break } @@ -185443,79 +183832,131 @@ func (s *Stmt_exitContext) Opt_exitcond() IOpt_exitcondContext { return nil } - return t.(IOpt_exitcondContext) + return t.(IOpt_execute_usingContext) } -func (s *Stmt_exitContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_dynexecuteContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_exitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_dynexecuteContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_exitContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_dynexecuteContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_exit(s) + listenerT.EnterStmt_dynexecute(s) } } -func (s *Stmt_exitContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_dynexecuteContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_exit(s) + listenerT.ExitStmt_dynexecute(s) } } -func (s *Stmt_exitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_dynexecuteContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_exit(s) + return t.VisitStmt_dynexecute(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_exit() (localctx IStmt_exitContext) { - localctx = NewStmt_exitContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1570, PostgreSQLParserRULE_stmt_exit) - var _la int +func (p *PostgreSQLParser) Stmt_dynexecute() (localctx IStmt_dynexecuteContext) { + localctx = NewStmt_dynexecuteContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1590, PostgreSQLParserRULE_stmt_dynexecute) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11254) + p.Match(PostgreSQLParserEXECUTE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11255) + p.A_expr() + } + p.SetState(11269) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1123, p.GetParserRuleContext()) { + case 1: + p.SetState(11257) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserINTO { + { + p.SetState(11256) + p.Opt_execute_into() + } + + } + p.SetState(11260) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserUSING { + { + p.SetState(11259) + p.Opt_execute_using() + } + + } + + case 2: + p.SetState(11263) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11198) - p.Exit_type() - } - p.SetState(11200) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + if _la == PostgreSQLParserUSING { + { + p.SetState(11262) + p.Opt_execute_using() + } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { - { - p.SetState(11199) - p.Opt_label() } + p.SetState(11266) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - } - p.SetState(11203) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + if _la == PostgreSQLParserINTO { + { + p.SetState(11265) + p.Opt_execute_into() + } - if _la == PostgreSQLParserWHEN { - { - p.SetState(11202) - p.Opt_exitcond() } + case 3: + + case antlr.ATNInvalidAltNumber: + goto errorExit } { - p.SetState(11205) + p.SetState(11271) p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -185536,108 +183977,119 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IExit_typeContext is an interface to support dynamic dispatch. -type IExit_typeContext interface { +// IOpt_execute_usingContext is an interface to support dynamic dispatch. +type IOpt_execute_usingContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - EXIT() antlr.TerminalNode - CONTINUE_P() antlr.TerminalNode + USING() antlr.TerminalNode + Opt_execute_using_list() IOpt_execute_using_listContext - // IsExit_typeContext differentiates from other interfaces. - IsExit_typeContext() + // IsOpt_execute_usingContext differentiates from other interfaces. + IsOpt_execute_usingContext() } -type Exit_typeContext struct { +type Opt_execute_usingContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyExit_typeContext() *Exit_typeContext { - var p = new(Exit_typeContext) +func NewEmptyOpt_execute_usingContext() *Opt_execute_usingContext { + var p = new(Opt_execute_usingContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_exit_type + p.RuleIndex = PostgreSQLParserRULE_opt_execute_using return p } -func InitEmptyExit_typeContext(p *Exit_typeContext) { +func InitEmptyOpt_execute_usingContext(p *Opt_execute_usingContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_exit_type + p.RuleIndex = PostgreSQLParserRULE_opt_execute_using } -func (*Exit_typeContext) IsExit_typeContext() {} +func (*Opt_execute_usingContext) IsOpt_execute_usingContext() {} -func NewExit_typeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Exit_typeContext { - var p = new(Exit_typeContext) +func NewOpt_execute_usingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_execute_usingContext { + var p = new(Opt_execute_usingContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_exit_type + p.RuleIndex = PostgreSQLParserRULE_opt_execute_using return p } -func (s *Exit_typeContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_execute_usingContext) GetParser() antlr.Parser { return s.parser } -func (s *Exit_typeContext) EXIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXIT, 0) +func (s *Opt_execute_usingContext) USING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSING, 0) } -func (s *Exit_typeContext) CONTINUE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONTINUE_P, 0) +func (s *Opt_execute_usingContext) Opt_execute_using_list() IOpt_execute_using_listContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_execute_using_listContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_execute_using_listContext) } -func (s *Exit_typeContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_execute_usingContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Exit_typeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_execute_usingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Exit_typeContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_execute_usingContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterExit_type(s) + listenerT.EnterOpt_execute_using(s) } } -func (s *Exit_typeContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_execute_usingContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitExit_type(s) + listenerT.ExitOpt_execute_using(s) } } -func (s *Exit_typeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_execute_usingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitExit_type(s) + return t.VisitOpt_execute_using(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Exit_type() (localctx IExit_typeContext) { - localctx = NewExit_typeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1572, PostgreSQLParserRULE_exit_type) - var _la int - +func (p *PostgreSQLParser) Opt_execute_using() (localctx IOpt_execute_usingContext) { + localctx = NewOpt_execute_usingContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1592, PostgreSQLParserRULE_opt_execute_using) p.EnterOuterAlt(localctx, 1) { - p.SetState(11207) - _la = p.GetTokenStream().LA(1) - - if !(_la == PostgreSQLParserCONTINUE_P || _la == PostgreSQLParserEXIT) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + p.SetState(11273) + p.Match(PostgreSQLParserUSING) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } + { + p.SetState(11274) + p.Opt_execute_using_list() + } errorExit: if p.HasError() { @@ -185652,103 +184104,86 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_returnContext is an interface to support dynamic dispatch. -type IStmt_returnContext interface { +// IOpt_execute_using_listContext is an interface to support dynamic dispatch. +type IOpt_execute_using_listContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - RETURN() antlr.TerminalNode - SEMI() antlr.TerminalNode - NEXT() antlr.TerminalNode - Sql_expression() ISql_expressionContext - QUERY() antlr.TerminalNode - EXECUTE() antlr.TerminalNode - A_expr() IA_exprContext - Selectstmt() ISelectstmtContext - Opt_return_result() IOpt_return_resultContext - Opt_for_using_expression() IOpt_for_using_expressionContext + AllA_expr() []IA_exprContext + A_expr(i int) IA_exprContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode - // IsStmt_returnContext differentiates from other interfaces. - IsStmt_returnContext() + // IsOpt_execute_using_listContext differentiates from other interfaces. + IsOpt_execute_using_listContext() } -type Stmt_returnContext struct { +type Opt_execute_using_listContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_returnContext() *Stmt_returnContext { - var p = new(Stmt_returnContext) +func NewEmptyOpt_execute_using_listContext() *Opt_execute_using_listContext { + var p = new(Opt_execute_using_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_return + p.RuleIndex = PostgreSQLParserRULE_opt_execute_using_list return p } -func InitEmptyStmt_returnContext(p *Stmt_returnContext) { +func InitEmptyOpt_execute_using_listContext(p *Opt_execute_using_listContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_return + p.RuleIndex = PostgreSQLParserRULE_opt_execute_using_list } -func (*Stmt_returnContext) IsStmt_returnContext() {} +func (*Opt_execute_using_listContext) IsOpt_execute_using_listContext() {} -func NewStmt_returnContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_returnContext { - var p = new(Stmt_returnContext) +func NewOpt_execute_using_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_execute_using_listContext { + var p = new(Opt_execute_using_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_return + p.RuleIndex = PostgreSQLParserRULE_opt_execute_using_list return p } -func (s *Stmt_returnContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_returnContext) RETURN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRETURN, 0) -} - -func (s *Stmt_returnContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) -} - -func (s *Stmt_returnContext) NEXT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNEXT, 0) -} +func (s *Opt_execute_using_listContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_returnContext) Sql_expression() ISql_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break +func (s *Opt_execute_using_listContext) AllA_expr() []IA_exprContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IA_exprContext); ok { + len++ } } - if t == nil { - return nil + tst := make([]IA_exprContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IA_exprContext); ok { + tst[i] = t.(IA_exprContext) + i++ + } } - return t.(ISql_expressionContext) -} - -func (s *Stmt_returnContext) QUERY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserQUERY, 0) -} - -func (s *Stmt_returnContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXECUTE, 0) + return tst } -func (s *Stmt_returnContext) A_expr() IA_exprContext { +func (s *Opt_execute_using_listContext) A_expr(i int) IA_exprContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { if _, ok := ctx.(IA_exprContext); ok { - t = ctx.(antlr.RuleContext) - break + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -185759,200 +184194,81 @@ func (s *Stmt_returnContext) A_expr() IA_exprContext { return t.(IA_exprContext) } -func (s *Stmt_returnContext) Selectstmt() ISelectstmtContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISelectstmtContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISelectstmtContext) -} - -func (s *Stmt_returnContext) Opt_return_result() IOpt_return_resultContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_return_resultContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_return_resultContext) +func (s *Opt_execute_using_listContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) } -func (s *Stmt_returnContext) Opt_for_using_expression() IOpt_for_using_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_for_using_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_for_using_expressionContext) +func (s *Opt_execute_using_listContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) } -func (s *Stmt_returnContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_execute_using_listContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_returnContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_execute_using_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_returnContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_execute_using_listContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_return(s) + listenerT.EnterOpt_execute_using_list(s) } } -func (s *Stmt_returnContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_execute_using_listContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_return(s) + listenerT.ExitOpt_execute_using_list(s) } } -func (s *Stmt_returnContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_execute_using_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_return(s) + return t.VisitOpt_execute_using_list(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_return() (localctx IStmt_returnContext) { - localctx = NewStmt_returnContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1574, PostgreSQLParserRULE_stmt_return) +func (p *PostgreSQLParser) Opt_execute_using_list() (localctx IOpt_execute_using_listContext) { + localctx = NewOpt_execute_using_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1594, PostgreSQLParserRULE_opt_execute_using_list) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11209) - p.Match(PostgreSQLParserRETURN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11276) + p.A_expr() } - p.SetState(11224) + p.SetState(11281) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } + _la = p.GetTokenStream().LA(1) - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1105, p.GetParserRuleContext()) { - case 1: + for _la == PostgreSQLParserCOMMA { { - p.SetState(11210) - p.Match(PostgreSQLParserNEXT) + p.SetState(11277) + p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11211) - p.Sql_expression() - } - - case 2: - { - p.SetState(11212) - p.Match(PostgreSQLParserQUERY) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11219) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserEXECUTE: - { - p.SetState(11213) - p.Match(PostgreSQLParserEXECUTE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11214) - p.A_expr() - } - p.SetState(11216) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserUSING { - { - p.SetState(11215) - p.Opt_for_using_expression() - } - - } - - case PostgreSQLParserOPEN_PAREN, PostgreSQLParserSELECT, PostgreSQLParserTABLE, PostgreSQLParserWITH, PostgreSQLParserVALUES: - { - p.SetState(11218) - p.Selectstmt() - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + p.SetState(11278) + p.A_expr() } - case 3: - p.SetState(11222) + p.SetState(11283) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&3692875871896482308) != 0) || ((int64((_la-75)) & ^0x3f) == 0 && ((int64(1)<<(_la-75))&-684997864177649) != 0) || ((int64((_la-139)) & ^0x3f) == 0 && ((int64(1)<<(_la-139))&-1) != 0) || ((int64((_la-203)) & ^0x3f) == 0 && ((int64(1)<<(_la-203))&-1) != 0) || ((int64((_la-267)) & ^0x3f) == 0 && ((int64(1)<<(_la-267))&-37) != 0) || ((int64((_la-331)) & ^0x3f) == 0 && ((int64(1)<<(_la-331))&-1) != 0) || ((int64((_la-395)) & ^0x3f) == 0 && ((int64(1)<<(_la-395))&-1) != 0) || ((int64((_la-459)) & ^0x3f) == 0 && ((int64(1)<<(_la-459))&-65537) != 0) || ((int64((_la-523)) & ^0x3f) == 0 && ((int64(1)<<(_la-523))&-131083) != 0) || ((int64((_la-587)) & ^0x3f) == 0 && ((int64(1)<<(_la-587))&-1) != 0) || ((int64((_la-651)) & ^0x3f) == 0 && ((int64(1)<<(_la-651))&282473779198079) != 0) { - { - p.SetState(11221) - p.Opt_return_result() - } - - } - - case antlr.ATNInvalidAltNumber: - goto errorExit - } - { - p.SetState(11226) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } } errorExit: @@ -185968,56 +184284,62 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_return_resultContext is an interface to support dynamic dispatch. -type IOpt_return_resultContext interface { +// IOpt_execute_intoContext is an interface to support dynamic dispatch. +type IOpt_execute_intoContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Sql_expression() ISql_expressionContext + INTO() antlr.TerminalNode + Into_target() IInto_targetContext + STRICT_P() antlr.TerminalNode - // IsOpt_return_resultContext differentiates from other interfaces. - IsOpt_return_resultContext() + // IsOpt_execute_intoContext differentiates from other interfaces. + IsOpt_execute_intoContext() } -type Opt_return_resultContext struct { +type Opt_execute_intoContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_return_resultContext() *Opt_return_resultContext { - var p = new(Opt_return_resultContext) +func NewEmptyOpt_execute_intoContext() *Opt_execute_intoContext { + var p = new(Opt_execute_intoContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_return_result + p.RuleIndex = PostgreSQLParserRULE_opt_execute_into return p } -func InitEmptyOpt_return_resultContext(p *Opt_return_resultContext) { +func InitEmptyOpt_execute_intoContext(p *Opt_execute_intoContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_return_result + p.RuleIndex = PostgreSQLParserRULE_opt_execute_into } -func (*Opt_return_resultContext) IsOpt_return_resultContext() {} +func (*Opt_execute_intoContext) IsOpt_execute_intoContext() {} -func NewOpt_return_resultContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_return_resultContext { - var p = new(Opt_return_resultContext) +func NewOpt_execute_intoContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_execute_intoContext { + var p = new(Opt_execute_intoContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_return_result + p.RuleIndex = PostgreSQLParserRULE_opt_execute_into return p } -func (s *Opt_return_resultContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_execute_intoContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_return_resultContext) Sql_expression() ISql_expressionContext { +func (s *Opt_execute_intoContext) INTO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTO, 0) +} + +func (s *Opt_execute_intoContext) Into_target() IInto_targetContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { + if _, ok := ctx.(IInto_targetContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186027,46 +184349,74 @@ func (s *Opt_return_resultContext) Sql_expression() ISql_expressionContext { return nil } - return t.(ISql_expressionContext) + return t.(IInto_targetContext) } -func (s *Opt_return_resultContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_execute_intoContext) STRICT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTRICT_P, 0) +} + +func (s *Opt_execute_intoContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_return_resultContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_execute_intoContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_return_resultContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_execute_intoContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_return_result(s) + listenerT.EnterOpt_execute_into(s) } } -func (s *Opt_return_resultContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_execute_intoContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_return_result(s) + listenerT.ExitOpt_execute_into(s) } } -func (s *Opt_return_resultContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_execute_intoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_return_result(s) + return t.VisitOpt_execute_into(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_return_result() (localctx IOpt_return_resultContext) { - localctx = NewOpt_return_resultContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1576, PostgreSQLParserRULE_opt_return_result) +func (p *PostgreSQLParser) Opt_execute_into() (localctx IOpt_execute_intoContext) { + localctx = NewOpt_execute_intoContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1596, PostgreSQLParserRULE_opt_execute_into) p.EnterOuterAlt(localctx, 1) { - p.SetState(11228) - p.Sql_expression() + p.SetState(11284) + p.Match(PostgreSQLParserINTO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11286) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1125, p.GetParserRuleContext()) == 1 { + { + p.SetState(11285) + p.Match(PostgreSQLParserSTRICT_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } else if p.HasError() { // JIM + goto errorExit + } + { + p.SetState(11288) + p.Into_target() } errorExit: @@ -186082,67 +184432,76 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_raiseContext is an interface to support dynamic dispatch. -type IStmt_raiseContext interface { +// IStmt_openContext is an interface to support dynamic dispatch. +type IStmt_openContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - RAISE() antlr.TerminalNode - Sconst() ISconstContext + OPEN() antlr.TerminalNode SEMI() antlr.TerminalNode - Opt_stmt_raise_level() IOpt_stmt_raise_levelContext - Opt_raise_list() IOpt_raise_listContext - Opt_raise_using() IOpt_raise_usingContext - Identifier() IIdentifierContext - SQLSTATE() antlr.TerminalNode + Cursor_variable() ICursor_variableContext + FOR() antlr.TerminalNode + Colid() IColidContext + Selectstmt() ISelectstmtContext + EXECUTE() antlr.TerminalNode + Sql_expression() ISql_expressionContext + Opt_scroll_option() IOpt_scroll_optionContext + OPEN_PAREN() antlr.TerminalNode + Opt_open_bound_list() IOpt_open_bound_listContext + CLOSE_PAREN() antlr.TerminalNode + Opt_open_using() IOpt_open_usingContext - // IsStmt_raiseContext differentiates from other interfaces. - IsStmt_raiseContext() + // IsStmt_openContext differentiates from other interfaces. + IsStmt_openContext() } -type Stmt_raiseContext struct { +type Stmt_openContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_raiseContext() *Stmt_raiseContext { - var p = new(Stmt_raiseContext) +func NewEmptyStmt_openContext() *Stmt_openContext { + var p = new(Stmt_openContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_raise + p.RuleIndex = PostgreSQLParserRULE_stmt_open return p } -func InitEmptyStmt_raiseContext(p *Stmt_raiseContext) { +func InitEmptyStmt_openContext(p *Stmt_openContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_raise + p.RuleIndex = PostgreSQLParserRULE_stmt_open } -func (*Stmt_raiseContext) IsStmt_raiseContext() {} +func (*Stmt_openContext) IsStmt_openContext() {} -func NewStmt_raiseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_raiseContext { - var p = new(Stmt_raiseContext) +func NewStmt_openContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_openContext { + var p = new(Stmt_openContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_raise + p.RuleIndex = PostgreSQLParserRULE_stmt_open return p } -func (s *Stmt_raiseContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_openContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_raiseContext) RAISE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRAISE, 0) +func (s *Stmt_openContext) OPEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN, 0) } -func (s *Stmt_raiseContext) Sconst() ISconstContext { +func (s *Stmt_openContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_openContext) Cursor_variable() ICursor_variableContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISconstContext); ok { + if _, ok := ctx.(ICursor_variableContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186152,17 +184511,17 @@ func (s *Stmt_raiseContext) Sconst() ISconstContext { return nil } - return t.(ISconstContext) + return t.(ICursor_variableContext) } -func (s *Stmt_raiseContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Stmt_openContext) FOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOR, 0) } -func (s *Stmt_raiseContext) Opt_stmt_raise_level() IOpt_stmt_raise_levelContext { +func (s *Stmt_openContext) Colid() IColidContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_stmt_raise_levelContext); ok { + if _, ok := ctx.(IColidContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186172,13 +184531,13 @@ func (s *Stmt_raiseContext) Opt_stmt_raise_level() IOpt_stmt_raise_levelContext return nil } - return t.(IOpt_stmt_raise_levelContext) + return t.(IColidContext) } -func (s *Stmt_raiseContext) Opt_raise_list() IOpt_raise_listContext { +func (s *Stmt_openContext) Selectstmt() ISelectstmtContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_raise_listContext); ok { + if _, ok := ctx.(ISelectstmtContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186188,13 +184547,17 @@ func (s *Stmt_raiseContext) Opt_raise_list() IOpt_raise_listContext { return nil } - return t.(IOpt_raise_listContext) + return t.(ISelectstmtContext) } -func (s *Stmt_raiseContext) Opt_raise_using() IOpt_raise_usingContext { +func (s *Stmt_openContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXECUTE, 0) +} + +func (s *Stmt_openContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_raise_usingContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186204,13 +184567,13 @@ func (s *Stmt_raiseContext) Opt_raise_using() IOpt_raise_usingContext { return nil } - return t.(IOpt_raise_usingContext) + return t.(ISql_expressionContext) } -func (s *Stmt_raiseContext) Identifier() IIdentifierContext { +func (s *Stmt_openContext) Opt_scroll_option() IOpt_scroll_optionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { + if _, ok := ctx.(IOpt_scroll_optionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186220,289 +184583,220 @@ func (s *Stmt_raiseContext) Identifier() IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(IOpt_scroll_optionContext) } -func (s *Stmt_raiseContext) SQLSTATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSQLSTATE, 0) +func (s *Stmt_openContext) OPEN_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) } -func (s *Stmt_raiseContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_openContext) Opt_open_bound_list() IOpt_open_bound_listContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_open_bound_listContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_open_bound_listContext) +} + +func (s *Stmt_openContext) CLOSE_PAREN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) +} + +func (s *Stmt_openContext) Opt_open_using() IOpt_open_usingContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_open_usingContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_open_usingContext) +} + +func (s *Stmt_openContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_raiseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_openContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_raiseContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_openContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_raise(s) + listenerT.EnterStmt_open(s) } } -func (s *Stmt_raiseContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_openContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_raise(s) + listenerT.ExitStmt_open(s) } } -func (s *Stmt_raiseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_openContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_raise(s) + return t.VisitStmt_open(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_raise() (localctx IStmt_raiseContext) { - localctx = NewStmt_raiseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1578, PostgreSQLParserRULE_stmt_raise) +func (p *PostgreSQLParser) Stmt_open() (localctx IStmt_openContext) { + localctx = NewStmt_openContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1598, PostgreSQLParserRULE_stmt_open) var _la int - p.SetState(11273) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11290) + p.Match(PostgreSQLParserOPEN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11311) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1115, p.GetParserRuleContext()) { + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1130, p.GetParserRuleContext()) { case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11230) - p.Match(PostgreSQLParserRAISE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11232) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if (int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&63) != 0 { - { - p.SetState(11231) - p.Opt_stmt_raise_level() - } - - } { - p.SetState(11234) - p.Sconst() - } - p.SetState(11236) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserCOMMA { - { - p.SetState(11235) - p.Opt_raise_list() - } - + p.SetState(11291) + p.Cursor_variable() } - p.SetState(11239) + p.SetState(11293) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserUSING { + if _la == PostgreSQLParserNO || _la == PostgreSQLParserSCROLL { { - p.SetState(11238) - p.Opt_raise_using() + p.SetState(11292) + p.Opt_scroll_option() } } { - p.SetState(11241) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11243) - p.Match(PostgreSQLParserRAISE) + p.SetState(11295) + p.Match(PostgreSQLParserFOR) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(11245) - p.GetErrorHandler().Sync(p) - - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1109, p.GetParserRuleContext()) == 1 { - { - p.SetState(11244) - p.Opt_stmt_raise_level() - } - - } else if p.HasError() { // JIM - goto errorExit - } - { - p.SetState(11247) - p.Identifier() - } - p.SetState(11249) + p.SetState(11302) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserUSING { + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserSELECT, PostgreSQLParserTABLE, PostgreSQLParserVALUES, PostgreSQLParserWITH, PostgreSQLParserOPEN_PAREN: { - p.SetState(11248) - p.Opt_raise_using() - } - - } - { - p.SetState(11251) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(11296) + p.Selectstmt() } - } - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(11253) - p.Match(PostgreSQLParserRAISE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + case PostgreSQLParserEXECUTE: + { + p.SetState(11297) + p.Match(PostgreSQLParserEXECUTE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - p.SetState(11255) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if (int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&63) != 0 { { - p.SetState(11254) - p.Opt_stmt_raise_level() + p.SetState(11298) + p.Sql_expression() } - - } - { - p.SetState(11257) - p.Match(PostgreSQLParserSQLSTATE) + p.SetState(11300) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } - } - { - p.SetState(11258) - p.Sconst() - } - p.SetState(11260) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserUSING { - { - p.SetState(11259) - p.Opt_raise_using() - } + if _la == PostgreSQLParserUSING { + { + p.SetState(11299) + p.Opt_open_using() + } - } - { - p.SetState(11262) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } - case 4: - p.EnterOuterAlt(localctx, 4) + case 2: { - p.SetState(11264) - p.Match(PostgreSQLParserRAISE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11304) + p.Colid() } - p.SetState(11266) + p.SetState(11309) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if (int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&63) != 0 { + if _la == PostgreSQLParserOPEN_PAREN { { - p.SetState(11265) - p.Opt_stmt_raise_level() + p.SetState(11305) + p.Match(PostgreSQLParserOPEN_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - } - p.SetState(11269) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserUSING { { - p.SetState(11268) - p.Opt_raise_using() + p.SetState(11306) + p.Opt_open_bound_list() } - - } - { - p.SetState(11271) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + { + p.SetState(11307) + p.Match(PostgreSQLParserCLOSE_PAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - case 5: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(11272) - p.Match(PostgreSQLParserRAISE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } } case antlr.ATNInvalidAltNumber: goto errorExit } + { + p.SetState(11313) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } errorExit: if p.HasError() { @@ -186517,127 +184811,158 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_stmt_raise_levelContext is an interface to support dynamic dispatch. -type IOpt_stmt_raise_levelContext interface { +// IOpt_open_bound_list_itemContext is an interface to support dynamic dispatch. +type IOpt_open_bound_list_itemContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DEBUG() antlr.TerminalNode - LOG() antlr.TerminalNode - INFO() antlr.TerminalNode - NOTICE() antlr.TerminalNode - WARNING() antlr.TerminalNode - EXCEPTION() antlr.TerminalNode + Colid() IColidContext + COLON_EQUALS() antlr.TerminalNode + A_expr() IA_exprContext - // IsOpt_stmt_raise_levelContext differentiates from other interfaces. - IsOpt_stmt_raise_levelContext() + // IsOpt_open_bound_list_itemContext differentiates from other interfaces. + IsOpt_open_bound_list_itemContext() } -type Opt_stmt_raise_levelContext struct { +type Opt_open_bound_list_itemContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_stmt_raise_levelContext() *Opt_stmt_raise_levelContext { - var p = new(Opt_stmt_raise_levelContext) +func NewEmptyOpt_open_bound_list_itemContext() *Opt_open_bound_list_itemContext { + var p = new(Opt_open_bound_list_itemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_stmt_raise_level + p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list_item return p } -func InitEmptyOpt_stmt_raise_levelContext(p *Opt_stmt_raise_levelContext) { +func InitEmptyOpt_open_bound_list_itemContext(p *Opt_open_bound_list_itemContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_stmt_raise_level + p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list_item } -func (*Opt_stmt_raise_levelContext) IsOpt_stmt_raise_levelContext() {} +func (*Opt_open_bound_list_itemContext) IsOpt_open_bound_list_itemContext() {} -func NewOpt_stmt_raise_levelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_stmt_raise_levelContext { - var p = new(Opt_stmt_raise_levelContext) +func NewOpt_open_bound_list_itemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_open_bound_list_itemContext { + var p = new(Opt_open_bound_list_itemContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_stmt_raise_level + p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list_item return p } -func (s *Opt_stmt_raise_levelContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_open_bound_list_itemContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_stmt_raise_levelContext) DEBUG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEBUG, 0) -} +func (s *Opt_open_bound_list_itemContext) Colid() IColidContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IColidContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Opt_stmt_raise_levelContext) LOG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOG, 0) -} + if t == nil { + return nil + } -func (s *Opt_stmt_raise_levelContext) INFO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINFO, 0) + return t.(IColidContext) } -func (s *Opt_stmt_raise_levelContext) NOTICE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOTICE, 0) +func (s *Opt_open_bound_list_itemContext) COLON_EQUALS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLON_EQUALS, 0) } -func (s *Opt_stmt_raise_levelContext) WARNING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWARNING, 0) -} +func (s *Opt_open_bound_list_itemContext) A_expr() IA_exprContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IA_exprContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Opt_stmt_raise_levelContext) EXCEPTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCEPTION, 0) + if t == nil { + return nil + } + + return t.(IA_exprContext) } -func (s *Opt_stmt_raise_levelContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_open_bound_list_itemContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_stmt_raise_levelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_open_bound_list_itemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_stmt_raise_levelContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_open_bound_list_itemContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_stmt_raise_level(s) + listenerT.EnterOpt_open_bound_list_item(s) } } -func (s *Opt_stmt_raise_levelContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_open_bound_list_itemContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_stmt_raise_level(s) + listenerT.ExitOpt_open_bound_list_item(s) } } -func (s *Opt_stmt_raise_levelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_open_bound_list_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_stmt_raise_level(s) + return t.VisitOpt_open_bound_list_item(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_stmt_raise_level() (localctx IOpt_stmt_raise_levelContext) { - localctx = NewOpt_stmt_raise_levelContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1580, PostgreSQLParserRULE_opt_stmt_raise_level) - var _la int +func (p *PostgreSQLParser) Opt_open_bound_list_item() (localctx IOpt_open_bound_list_itemContext) { + localctx = NewOpt_open_bound_list_itemContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1600, PostgreSQLParserRULE_opt_open_bound_list_item) + p.SetState(11320) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11275) - _la = p.GetTokenStream().LA(1) + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1131, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11315) + p.Colid() + } + { + p.SetState(11316) + p.Match(PostgreSQLParserCOLON_EQUALS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11317) + p.A_expr() + } - if !((int64((_la-533)) & ^0x3f) == 0 && ((int64(1)<<(_la-533))&63) != 0) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(11319) + p.A_expr() } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -186653,77 +184978,69 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_raise_listContext is an interface to support dynamic dispatch. -type IOpt_raise_listContext interface { +// IOpt_open_bound_listContext is an interface to support dynamic dispatch. +type IOpt_open_bound_listContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures + AllOpt_open_bound_list_item() []IOpt_open_bound_list_itemContext + Opt_open_bound_list_item(i int) IOpt_open_bound_list_itemContext AllCOMMA() []antlr.TerminalNode COMMA(i int) antlr.TerminalNode - AllA_expr() []IA_exprContext - A_expr(i int) IA_exprContext - // IsOpt_raise_listContext differentiates from other interfaces. - IsOpt_raise_listContext() + // IsOpt_open_bound_listContext differentiates from other interfaces. + IsOpt_open_bound_listContext() } -type Opt_raise_listContext struct { +type Opt_open_bound_listContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_raise_listContext() *Opt_raise_listContext { - var p = new(Opt_raise_listContext) +func NewEmptyOpt_open_bound_listContext() *Opt_open_bound_listContext { + var p = new(Opt_open_bound_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_list + p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list return p } -func InitEmptyOpt_raise_listContext(p *Opt_raise_listContext) { +func InitEmptyOpt_open_bound_listContext(p *Opt_open_bound_listContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_list + p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list } -func (*Opt_raise_listContext) IsOpt_raise_listContext() {} +func (*Opt_open_bound_listContext) IsOpt_open_bound_listContext() {} -func NewOpt_raise_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_listContext { - var p = new(Opt_raise_listContext) +func NewOpt_open_bound_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_open_bound_listContext { + var p = new(Opt_open_bound_listContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_raise_list + p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list return p } -func (s *Opt_raise_listContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_raise_listContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) -} - -func (s *Opt_raise_listContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) -} +func (s *Opt_open_bound_listContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_raise_listContext) AllA_expr() []IA_exprContext { +func (s *Opt_open_bound_listContext) AllOpt_open_bound_list_item() []IOpt_open_bound_list_itemContext { children := s.GetChildren() len := 0 for _, ctx := range children { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(IOpt_open_bound_list_itemContext); ok { len++ } } - tst := make([]IA_exprContext, len) + tst := make([]IOpt_open_bound_list_itemContext, len) i := 0 for _, ctx := range children { - if t, ok := ctx.(IA_exprContext); ok { - tst[i] = t.(IA_exprContext) + if t, ok := ctx.(IOpt_open_bound_list_itemContext); ok { + tst[i] = t.(IOpt_open_bound_list_itemContext) i++ } } @@ -186731,11 +185048,11 @@ func (s *Opt_raise_listContext) AllA_expr() []IA_exprContext { return tst } -func (s *Opt_raise_listContext) A_expr(i int) IA_exprContext { +func (s *Opt_open_bound_listContext) Opt_open_bound_list_item(i int) IOpt_open_bound_list_itemContext { var t antlr.RuleContext j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(IOpt_open_bound_list_itemContext); ok { if j == i { t = ctx.(antlr.RuleContext) break @@ -186748,55 +185065,67 @@ func (s *Opt_raise_listContext) A_expr(i int) IA_exprContext { return nil } - return t.(IA_exprContext) + return t.(IOpt_open_bound_list_itemContext) } -func (s *Opt_raise_listContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_open_bound_listContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserCOMMA) +} + +func (s *Opt_open_bound_listContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMA, i) +} + +func (s *Opt_open_bound_listContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_raise_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_open_bound_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_raise_listContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_open_bound_listContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_raise_list(s) + listenerT.EnterOpt_open_bound_list(s) } } -func (s *Opt_raise_listContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_open_bound_listContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_raise_list(s) + listenerT.ExitOpt_open_bound_list(s) } } -func (s *Opt_raise_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_open_bound_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_raise_list(s) + return t.VisitOpt_open_bound_list(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_raise_list() (localctx IOpt_raise_listContext) { - localctx = NewOpt_raise_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1582, PostgreSQLParserRULE_opt_raise_list) +func (p *PostgreSQLParser) Opt_open_bound_list() (localctx IOpt_open_bound_listContext) { + localctx = NewOpt_open_bound_listContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1602, PostgreSQLParserRULE_opt_open_bound_list) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(11279) + { + p.SetState(11322) + p.Opt_open_bound_list_item() + } + p.SetState(11327) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ok := true; ok; ok = _la == PostgreSQLParserCOMMA { + for _la == PostgreSQLParserCOMMA { { - p.SetState(11277) + p.SetState(11323) p.Match(PostgreSQLParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -186804,11 +185133,11 @@ func (p *PostgreSQLParser) Opt_raise_list() (localctx IOpt_raise_listContext) { } } { - p.SetState(11278) - p.A_expr() + p.SetState(11324) + p.Opt_open_bound_list_item() } - p.SetState(11281) + p.SetState(11329) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -186829,8 +185158,8 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_raise_usingContext is an interface to support dynamic dispatch. -type IOpt_raise_usingContext interface { +// IOpt_open_usingContext is an interface to support dynamic dispatch. +type IOpt_open_usingContext interface { antlr.ParserRuleContext // GetParser returns the parser. @@ -186838,52 +185167,52 @@ type IOpt_raise_usingContext interface { // Getter signatures USING() antlr.TerminalNode - Opt_raise_using_elem_list() IOpt_raise_using_elem_listContext + Expr_list() IExpr_listContext - // IsOpt_raise_usingContext differentiates from other interfaces. - IsOpt_raise_usingContext() + // IsOpt_open_usingContext differentiates from other interfaces. + IsOpt_open_usingContext() } -type Opt_raise_usingContext struct { +type Opt_open_usingContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_raise_usingContext() *Opt_raise_usingContext { - var p = new(Opt_raise_usingContext) +func NewEmptyOpt_open_usingContext() *Opt_open_usingContext { + var p = new(Opt_open_usingContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using + p.RuleIndex = PostgreSQLParserRULE_opt_open_using return p } -func InitEmptyOpt_raise_usingContext(p *Opt_raise_usingContext) { +func InitEmptyOpt_open_usingContext(p *Opt_open_usingContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using + p.RuleIndex = PostgreSQLParserRULE_opt_open_using } -func (*Opt_raise_usingContext) IsOpt_raise_usingContext() {} +func (*Opt_open_usingContext) IsOpt_open_usingContext() {} -func NewOpt_raise_usingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_usingContext { - var p = new(Opt_raise_usingContext) +func NewOpt_open_usingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_open_usingContext { + var p = new(Opt_open_usingContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using + p.RuleIndex = PostgreSQLParserRULE_opt_open_using return p } -func (s *Opt_raise_usingContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_open_usingContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_raise_usingContext) USING() antlr.TerminalNode { +func (s *Opt_open_usingContext) USING() antlr.TerminalNode { return s.GetToken(PostgreSQLParserUSING, 0) } -func (s *Opt_raise_usingContext) Opt_raise_using_elem_list() IOpt_raise_using_elem_listContext { +func (s *Opt_open_usingContext) Expr_list() IExpr_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_raise_using_elem_listContext); ok { + if _, ok := ctx.(IExpr_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -186893,45 +185222,45 @@ func (s *Opt_raise_usingContext) Opt_raise_using_elem_list() IOpt_raise_using_el return nil } - return t.(IOpt_raise_using_elem_listContext) + return t.(IExpr_listContext) } -func (s *Opt_raise_usingContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_open_usingContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_raise_usingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_open_usingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_raise_usingContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_open_usingContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_raise_using(s) + listenerT.EnterOpt_open_using(s) } } -func (s *Opt_raise_usingContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_open_usingContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_raise_using(s) + listenerT.ExitOpt_open_using(s) } } -func (s *Opt_raise_usingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_open_usingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_raise_using(s) + return t.VisitOpt_open_using(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_raise_using() (localctx IOpt_raise_usingContext) { - localctx = NewOpt_raise_usingContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1584, PostgreSQLParserRULE_opt_raise_using) +func (p *PostgreSQLParser) Opt_open_using() (localctx IOpt_open_usingContext) { + localctx = NewOpt_open_usingContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1604, PostgreSQLParserRULE_opt_open_using) p.EnterOuterAlt(localctx, 1) { - p.SetState(11283) + p.SetState(11330) p.Match(PostgreSQLParserUSING) if p.HasError() { // Recognition error - abort rule @@ -186939,8 +185268,8 @@ func (p *PostgreSQLParser) Opt_raise_using() (localctx IOpt_raise_usingContext) } } { - p.SetState(11284) - p.Opt_raise_using_elem_list() + p.SetState(11331) + p.Expr_list() } errorExit: @@ -186956,78 +185285,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_raise_using_elemContext is an interface to support dynamic dispatch. -type IOpt_raise_using_elemContext interface { +// IOpt_scroll_optionContext is an interface to support dynamic dispatch. +type IOpt_scroll_optionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Identifier() IIdentifierContext - EQUAL() antlr.TerminalNode - A_expr() IA_exprContext + SCROLL() antlr.TerminalNode + Opt_scroll_option_no() IOpt_scroll_option_noContext - // IsOpt_raise_using_elemContext differentiates from other interfaces. - IsOpt_raise_using_elemContext() + // IsOpt_scroll_optionContext differentiates from other interfaces. + IsOpt_scroll_optionContext() } -type Opt_raise_using_elemContext struct { +type Opt_scroll_optionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_raise_using_elemContext() *Opt_raise_using_elemContext { - var p = new(Opt_raise_using_elemContext) +func NewEmptyOpt_scroll_optionContext() *Opt_scroll_optionContext { + var p = new(Opt_scroll_optionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem + p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option return p } -func InitEmptyOpt_raise_using_elemContext(p *Opt_raise_using_elemContext) { +func InitEmptyOpt_scroll_optionContext(p *Opt_scroll_optionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem + p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option } -func (*Opt_raise_using_elemContext) IsOpt_raise_using_elemContext() {} +func (*Opt_scroll_optionContext) IsOpt_scroll_optionContext() {} -func NewOpt_raise_using_elemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_using_elemContext { - var p = new(Opt_raise_using_elemContext) +func NewOpt_scroll_optionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_scroll_optionContext { + var p = new(Opt_scroll_optionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem + p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option return p } -func (s *Opt_raise_using_elemContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_raise_using_elemContext) Identifier() IIdentifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IIdentifierContext) -} +func (s *Opt_scroll_optionContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_raise_using_elemContext) EQUAL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEQUAL, 0) +func (s *Opt_scroll_optionContext) SCROLL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCROLL, 0) } -func (s *Opt_raise_using_elemContext) A_expr() IA_exprContext { +func (s *Opt_scroll_optionContext) Opt_scroll_option_no() IOpt_scroll_option_noContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(IOpt_scroll_option_noContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187037,59 +185349,67 @@ func (s *Opt_raise_using_elemContext) A_expr() IA_exprContext { return nil } - return t.(IA_exprContext) + return t.(IOpt_scroll_option_noContext) } -func (s *Opt_raise_using_elemContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_scroll_optionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_raise_using_elemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_scroll_optionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_raise_using_elemContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_scroll_optionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_raise_using_elem(s) + listenerT.EnterOpt_scroll_option(s) } } -func (s *Opt_raise_using_elemContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_scroll_optionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_raise_using_elem(s) + listenerT.ExitOpt_scroll_option(s) } } -func (s *Opt_raise_using_elemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_scroll_optionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_raise_using_elem(s) + return t.VisitOpt_scroll_option(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_raise_using_elem() (localctx IOpt_raise_using_elemContext) { - localctx = NewOpt_raise_using_elemContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1586, PostgreSQLParserRULE_opt_raise_using_elem) +func (p *PostgreSQLParser) Opt_scroll_option() (localctx IOpt_scroll_optionContext) { + localctx = NewOpt_scroll_optionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1606, PostgreSQLParserRULE_opt_scroll_option) + var _la int + p.EnterOuterAlt(localctx, 1) - { - p.SetState(11286) - p.Identifier() + p.SetState(11334) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserNO { + { + p.SetState(11333) + p.Opt_scroll_option_no() + } + } { - p.SetState(11287) - p.Match(PostgreSQLParserEQUAL) + p.SetState(11336) + p.Match(PostgreSQLParserSCROLL) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11288) - p.A_expr() - } errorExit: if p.HasError() { @@ -187104,171 +185424,97 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_raise_using_elem_listContext is an interface to support dynamic dispatch. -type IOpt_raise_using_elem_listContext interface { +// IOpt_scroll_option_noContext is an interface to support dynamic dispatch. +type IOpt_scroll_option_noContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllOpt_raise_using_elem() []IOpt_raise_using_elemContext - Opt_raise_using_elem(i int) IOpt_raise_using_elemContext - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode + NO() antlr.TerminalNode - // IsOpt_raise_using_elem_listContext differentiates from other interfaces. - IsOpt_raise_using_elem_listContext() + // IsOpt_scroll_option_noContext differentiates from other interfaces. + IsOpt_scroll_option_noContext() } -type Opt_raise_using_elem_listContext struct { +type Opt_scroll_option_noContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_raise_using_elem_listContext() *Opt_raise_using_elem_listContext { - var p = new(Opt_raise_using_elem_listContext) +func NewEmptyOpt_scroll_option_noContext() *Opt_scroll_option_noContext { + var p = new(Opt_scroll_option_noContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem_list + p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option_no return p } -func InitEmptyOpt_raise_using_elem_listContext(p *Opt_raise_using_elem_listContext) { +func InitEmptyOpt_scroll_option_noContext(p *Opt_scroll_option_noContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem_list + p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option_no } -func (*Opt_raise_using_elem_listContext) IsOpt_raise_using_elem_listContext() {} +func (*Opt_scroll_option_noContext) IsOpt_scroll_option_noContext() {} -func NewOpt_raise_using_elem_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_raise_using_elem_listContext { - var p = new(Opt_raise_using_elem_listContext) +func NewOpt_scroll_option_noContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_scroll_option_noContext { + var p = new(Opt_scroll_option_noContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_raise_using_elem_list + p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option_no return p } -func (s *Opt_raise_using_elem_listContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_raise_using_elem_listContext) AllOpt_raise_using_elem() []IOpt_raise_using_elemContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IOpt_raise_using_elemContext); ok { - len++ - } - } - - tst := make([]IOpt_raise_using_elemContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IOpt_raise_using_elemContext); ok { - tst[i] = t.(IOpt_raise_using_elemContext) - i++ - } - } - - return tst -} - -func (s *Opt_raise_using_elem_listContext) Opt_raise_using_elem(i int) IOpt_raise_using_elemContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_raise_using_elemContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ - } - } - - if t == nil { - return nil - } - - return t.(IOpt_raise_using_elemContext) -} - -func (s *Opt_raise_using_elem_listContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) -} +func (s *Opt_scroll_option_noContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_raise_using_elem_listContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) +func (s *Opt_scroll_option_noContext) NO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNO, 0) } -func (s *Opt_raise_using_elem_listContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_scroll_option_noContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_raise_using_elem_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_scroll_option_noContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_raise_using_elem_listContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_scroll_option_noContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_raise_using_elem_list(s) + listenerT.EnterOpt_scroll_option_no(s) } } -func (s *Opt_raise_using_elem_listContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_scroll_option_noContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_raise_using_elem_list(s) + listenerT.ExitOpt_scroll_option_no(s) } } -func (s *Opt_raise_using_elem_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_scroll_option_noContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_raise_using_elem_list(s) + return t.VisitOpt_scroll_option_no(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_raise_using_elem_list() (localctx IOpt_raise_using_elem_listContext) { - localctx = NewOpt_raise_using_elem_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1588, PostgreSQLParserRULE_opt_raise_using_elem_list) - var _la int - +func (p *PostgreSQLParser) Opt_scroll_option_no() (localctx IOpt_scroll_option_noContext) { + localctx = NewOpt_scroll_option_noContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1608, PostgreSQLParserRULE_opt_scroll_option_no) p.EnterOuterAlt(localctx, 1) { - p.SetState(11290) - p.Opt_raise_using_elem() - } - p.SetState(11295) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == PostgreSQLParserCOMMA { - { - p.SetState(11291) - p.Match(PostgreSQLParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11292) - p.Opt_raise_using_elem() - } - - p.SetState(11297) - p.GetErrorHandler().Sync(p) + p.SetState(11338) + p.Match(PostgreSQLParserNO) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -187284,63 +185530,77 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_assertContext is an interface to support dynamic dispatch. -type IStmt_assertContext interface { +// IStmt_fetchContext is an interface to support dynamic dispatch. +type IStmt_fetchContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser + // GetDirection returns the direction rule contexts. + GetDirection() IOpt_fetch_directionContext + + // SetDirection sets the direction rule contexts. + SetDirection(IOpt_fetch_directionContext) + // Getter signatures - ASSERT() antlr.TerminalNode - Sql_expression() ISql_expressionContext + FETCH() antlr.TerminalNode + Cursor_variable() ICursor_variableContext + INTO() antlr.TerminalNode + Into_target() IInto_targetContext SEMI() antlr.TerminalNode - Opt_stmt_assert_message() IOpt_stmt_assert_messageContext + Opt_cursor_from() IOpt_cursor_fromContext + Opt_fetch_direction() IOpt_fetch_directionContext - // IsStmt_assertContext differentiates from other interfaces. - IsStmt_assertContext() + // IsStmt_fetchContext differentiates from other interfaces. + IsStmt_fetchContext() } -type Stmt_assertContext struct { +type Stmt_fetchContext struct { antlr.BaseParserRuleContext - parser antlr.Parser + parser antlr.Parser + direction IOpt_fetch_directionContext } -func NewEmptyStmt_assertContext() *Stmt_assertContext { - var p = new(Stmt_assertContext) +func NewEmptyStmt_fetchContext() *Stmt_fetchContext { + var p = new(Stmt_fetchContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_assert + p.RuleIndex = PostgreSQLParserRULE_stmt_fetch return p } -func InitEmptyStmt_assertContext(p *Stmt_assertContext) { +func InitEmptyStmt_fetchContext(p *Stmt_fetchContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_assert + p.RuleIndex = PostgreSQLParserRULE_stmt_fetch } -func (*Stmt_assertContext) IsStmt_assertContext() {} +func (*Stmt_fetchContext) IsStmt_fetchContext() {} -func NewStmt_assertContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_assertContext { - var p = new(Stmt_assertContext) +func NewStmt_fetchContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_fetchContext { + var p = new(Stmt_fetchContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_assert + p.RuleIndex = PostgreSQLParserRULE_stmt_fetch return p } -func (s *Stmt_assertContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_fetchContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_assertContext) ASSERT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASSERT, 0) +func (s *Stmt_fetchContext) GetDirection() IOpt_fetch_directionContext { return s.direction } + +func (s *Stmt_fetchContext) SetDirection(v IOpt_fetch_directionContext) { s.direction = v } + +func (s *Stmt_fetchContext) FETCH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFETCH, 0) } -func (s *Stmt_assertContext) Sql_expression() ISql_expressionContext { +func (s *Stmt_fetchContext) Cursor_variable() ICursor_variableContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { + if _, ok := ctx.(ICursor_variableContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187350,17 +185610,37 @@ func (s *Stmt_assertContext) Sql_expression() ISql_expressionContext { return nil } - return t.(ISql_expressionContext) + return t.(ICursor_variableContext) } -func (s *Stmt_assertContext) SEMI() antlr.TerminalNode { +func (s *Stmt_fetchContext) INTO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTO, 0) +} + +func (s *Stmt_fetchContext) Into_target() IInto_targetContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IInto_targetContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IInto_targetContext) +} + +func (s *Stmt_fetchContext) SEMI() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Stmt_assertContext) Opt_stmt_assert_message() IOpt_stmt_assert_messageContext { +func (s *Stmt_fetchContext) Opt_cursor_from() IOpt_cursor_fromContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_stmt_assert_messageContext); ok { + if _, ok := ctx.(IOpt_cursor_fromContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187370,73 +185650,116 @@ func (s *Stmt_assertContext) Opt_stmt_assert_message() IOpt_stmt_assert_messageC return nil } - return t.(IOpt_stmt_assert_messageContext) + return t.(IOpt_cursor_fromContext) } -func (s *Stmt_assertContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_fetchContext) Opt_fetch_direction() IOpt_fetch_directionContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_fetch_directionContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_fetch_directionContext) +} + +func (s *Stmt_fetchContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_assertContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_fetchContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_assertContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_fetchContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_assert(s) + listenerT.EnterStmt_fetch(s) } } -func (s *Stmt_assertContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_fetchContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_assert(s) + listenerT.ExitStmt_fetch(s) } } -func (s *Stmt_assertContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_fetchContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_assert(s) + return t.VisitStmt_fetch(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_assert() (localctx IStmt_assertContext) { - localctx = NewStmt_assertContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1590, PostgreSQLParserRULE_stmt_assert) +func (p *PostgreSQLParser) Stmt_fetch() (localctx IStmt_fetchContext) { + localctx = NewStmt_fetchContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1610, PostgreSQLParserRULE_stmt_fetch) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11298) - p.Match(PostgreSQLParserASSERT) + p.SetState(11340) + p.Match(PostgreSQLParserFETCH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11299) - p.Sql_expression() + p.SetState(11342) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1134, p.GetParserRuleContext()) == 1 { + { + p.SetState(11341) + + var _x = p.Opt_fetch_direction() + + localctx.(*Stmt_fetchContext).direction = _x + } + + } else if p.HasError() { // JIM + goto errorExit } - p.SetState(11301) + p.SetState(11345) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserCOMMA { + if _la == PostgreSQLParserFROM || _la == PostgreSQLParserIN_P { { - p.SetState(11300) - p.Opt_stmt_assert_message() + p.SetState(11344) + p.Opt_cursor_from() } } { - p.SetState(11303) + p.SetState(11347) + p.Cursor_variable() + } + { + p.SetState(11348) + p.Match(PostgreSQLParserINTO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11349) + p.Into_target() + } + { + p.SetState(11350) p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -187457,61 +185780,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_stmt_assert_messageContext is an interface to support dynamic dispatch. -type IOpt_stmt_assert_messageContext interface { +// IInto_targetContext is an interface to support dynamic dispatch. +type IInto_targetContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - COMMA() antlr.TerminalNode - Sql_expression() ISql_expressionContext + Expr_list() IExpr_listContext - // IsOpt_stmt_assert_messageContext differentiates from other interfaces. - IsOpt_stmt_assert_messageContext() + // IsInto_targetContext differentiates from other interfaces. + IsInto_targetContext() } -type Opt_stmt_assert_messageContext struct { +type Into_targetContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_stmt_assert_messageContext() *Opt_stmt_assert_messageContext { - var p = new(Opt_stmt_assert_messageContext) +func NewEmptyInto_targetContext() *Into_targetContext { + var p = new(Into_targetContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_stmt_assert_message + p.RuleIndex = PostgreSQLParserRULE_into_target return p } -func InitEmptyOpt_stmt_assert_messageContext(p *Opt_stmt_assert_messageContext) { +func InitEmptyInto_targetContext(p *Into_targetContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_stmt_assert_message + p.RuleIndex = PostgreSQLParserRULE_into_target } -func (*Opt_stmt_assert_messageContext) IsOpt_stmt_assert_messageContext() {} +func (*Into_targetContext) IsInto_targetContext() {} -func NewOpt_stmt_assert_messageContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_stmt_assert_messageContext { - var p = new(Opt_stmt_assert_messageContext) +func NewInto_targetContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Into_targetContext { + var p = new(Into_targetContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_stmt_assert_message + p.RuleIndex = PostgreSQLParserRULE_into_target return p } -func (s *Opt_stmt_assert_messageContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_stmt_assert_messageContext) COMMA() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, 0) -} +func (s *Into_targetContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_stmt_assert_messageContext) Sql_expression() ISql_expressionContext { +func (s *Into_targetContext) Expr_list() IExpr_listContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { + if _, ok := ctx.(IExpr_listContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187521,54 +185839,46 @@ func (s *Opt_stmt_assert_messageContext) Sql_expression() ISql_expressionContext return nil } - return t.(ISql_expressionContext) + return t.(IExpr_listContext) } -func (s *Opt_stmt_assert_messageContext) GetRuleContext() antlr.RuleContext { +func (s *Into_targetContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_stmt_assert_messageContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Into_targetContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_stmt_assert_messageContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Into_targetContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_stmt_assert_message(s) + listenerT.EnterInto_target(s) } } -func (s *Opt_stmt_assert_messageContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Into_targetContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_stmt_assert_message(s) + listenerT.ExitInto_target(s) } } -func (s *Opt_stmt_assert_messageContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Into_targetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_stmt_assert_message(s) + return t.VisitInto_target(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_stmt_assert_message() (localctx IOpt_stmt_assert_messageContext) { - localctx = NewOpt_stmt_assert_messageContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1592, PostgreSQLParserRULE_opt_stmt_assert_message) +func (p *PostgreSQLParser) Into_target() (localctx IInto_targetContext) { + localctx = NewInto_targetContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1612, PostgreSQLParserRULE_into_target) p.EnterOuterAlt(localctx, 1) { - p.SetState(11305) - p.Match(PostgreSQLParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11306) - p.Sql_expression() + p.SetState(11352) + p.Expr_list() } errorExit: @@ -187584,93 +185894,201 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ILoop_bodyContext is an interface to support dynamic dispatch. -type ILoop_bodyContext interface { +// IOpt_cursor_fromContext is an interface to support dynamic dispatch. +type IOpt_cursor_fromContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllLOOP() []antlr.TerminalNode - LOOP(i int) antlr.TerminalNode - Proc_sect() IProc_sectContext - END_P() antlr.TerminalNode - SEMI() antlr.TerminalNode - Opt_label() IOpt_labelContext + FROM() antlr.TerminalNode + IN_P() antlr.TerminalNode - // IsLoop_bodyContext differentiates from other interfaces. - IsLoop_bodyContext() + // IsOpt_cursor_fromContext differentiates from other interfaces. + IsOpt_cursor_fromContext() } -type Loop_bodyContext struct { +type Opt_cursor_fromContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyLoop_bodyContext() *Loop_bodyContext { - var p = new(Loop_bodyContext) +func NewEmptyOpt_cursor_fromContext() *Opt_cursor_fromContext { + var p = new(Opt_cursor_fromContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_loop_body + p.RuleIndex = PostgreSQLParserRULE_opt_cursor_from return p } -func InitEmptyLoop_bodyContext(p *Loop_bodyContext) { +func InitEmptyOpt_cursor_fromContext(p *Opt_cursor_fromContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_loop_body + p.RuleIndex = PostgreSQLParserRULE_opt_cursor_from } -func (*Loop_bodyContext) IsLoop_bodyContext() {} +func (*Opt_cursor_fromContext) IsOpt_cursor_fromContext() {} -func NewLoop_bodyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Loop_bodyContext { - var p = new(Loop_bodyContext) +func NewOpt_cursor_fromContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_cursor_fromContext { + var p = new(Opt_cursor_fromContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_loop_body + p.RuleIndex = PostgreSQLParserRULE_opt_cursor_from return p } -func (s *Loop_bodyContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_cursor_fromContext) GetParser() antlr.Parser { return s.parser } -func (s *Loop_bodyContext) AllLOOP() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserLOOP) +func (s *Opt_cursor_fromContext) FROM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFROM, 0) } -func (s *Loop_bodyContext) LOOP(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLOOP, i) +func (s *Opt_cursor_fromContext) IN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIN_P, 0) } -func (s *Loop_bodyContext) Proc_sect() IProc_sectContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { - t = ctx.(antlr.RuleContext) - break +func (s *Opt_cursor_fromContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *Opt_cursor_fromContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *Opt_cursor_fromContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.EnterOpt_cursor_from(s) + } +} + +func (s *Opt_cursor_fromContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(PostgreSQLParserListener); ok { + listenerT.ExitOpt_cursor_from(s) + } +} + +func (s *Opt_cursor_fromContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case PostgreSQLParserVisitor: + return t.VisitOpt_cursor_from(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *PostgreSQLParser) Opt_cursor_from() (localctx IOpt_cursor_fromContext) { + localctx = NewOpt_cursor_fromContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1614, PostgreSQLParserRULE_opt_cursor_from) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11354) + _la = p.GetTokenStream().LA(1) + + if !(_la == PostgreSQLParserFROM || _la == PostgreSQLParserIN_P) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - return t.(IProc_sectContext) +// IOpt_fetch_directionContext is an interface to support dynamic dispatch. +type IOpt_fetch_directionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + NEXT() antlr.TerminalNode + PRIOR() antlr.TerminalNode + FIRST_P() antlr.TerminalNode + LAST_P() antlr.TerminalNode + ABSOLUTE_P() antlr.TerminalNode + A_expr() IA_exprContext + RELATIVE_P() antlr.TerminalNode + ALL() antlr.TerminalNode + FORWARD() antlr.TerminalNode + BACKWARD() antlr.TerminalNode + + // IsOpt_fetch_directionContext differentiates from other interfaces. + IsOpt_fetch_directionContext() } -func (s *Loop_bodyContext) END_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEND_P, 0) +type Opt_fetch_directionContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *Loop_bodyContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func NewEmptyOpt_fetch_directionContext() *Opt_fetch_directionContext { + var p = new(Opt_fetch_directionContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_fetch_direction + return p } -func (s *Loop_bodyContext) Opt_label() IOpt_labelContext { +func InitEmptyOpt_fetch_directionContext(p *Opt_fetch_directionContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = PostgreSQLParserRULE_opt_fetch_direction +} + +func (*Opt_fetch_directionContext) IsOpt_fetch_directionContext() {} + +func NewOpt_fetch_directionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_fetch_directionContext { + var p = new(Opt_fetch_directionContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_opt_fetch_direction + + return p +} + +func (s *Opt_fetch_directionContext) GetParser() antlr.Parser { return s.parser } + +func (s *Opt_fetch_directionContext) NEXT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNEXT, 0) +} + +func (s *Opt_fetch_directionContext) PRIOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRIOR, 0) +} + +func (s *Opt_fetch_directionContext) FIRST_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFIRST_P, 0) +} + +func (s *Opt_fetch_directionContext) LAST_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLAST_P, 0) +} + +func (s *Opt_fetch_directionContext) ABSOLUTE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserABSOLUTE_P, 0) +} + +func (s *Opt_fetch_directionContext) A_expr() IA_exprContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_labelContext); ok { + if _, ok := ctx.(IA_exprContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187680,94 +186098,199 @@ func (s *Loop_bodyContext) Opt_label() IOpt_labelContext { return nil } - return t.(IOpt_labelContext) + return t.(IA_exprContext) } -func (s *Loop_bodyContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_fetch_directionContext) RELATIVE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRELATIVE_P, 0) +} + +func (s *Opt_fetch_directionContext) ALL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALL, 0) +} + +func (s *Opt_fetch_directionContext) FORWARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFORWARD, 0) +} + +func (s *Opt_fetch_directionContext) BACKWARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBACKWARD, 0) +} + +func (s *Opt_fetch_directionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Loop_bodyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_fetch_directionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Loop_bodyContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_fetch_directionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterLoop_body(s) + listenerT.EnterOpt_fetch_direction(s) } } -func (s *Loop_bodyContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_fetch_directionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitLoop_body(s) + listenerT.ExitOpt_fetch_direction(s) } } -func (s *Loop_bodyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_fetch_directionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitLoop_body(s) + return t.VisitOpt_fetch_direction(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Loop_body() (localctx ILoop_bodyContext) { - localctx = NewLoop_bodyContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1594, PostgreSQLParserRULE_loop_body) +func (p *PostgreSQLParser) Opt_fetch_direction() (localctx IOpt_fetch_directionContext) { + localctx = NewOpt_fetch_directionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1616, PostgreSQLParserRULE_opt_fetch_direction) var _la int - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11308) - p.Match(PostgreSQLParserLOOP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11309) - p.Proc_sect() - } - { - p.SetState(11310) - p.Match(PostgreSQLParserEND_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11311) - p.Match(PostgreSQLParserLOOP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11313) + p.SetState(11371) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2459027012145119232) != 0) || ((int64((_la-92)) & ^0x3f) == 0 && ((int64(1)<<(_la-92))&-59593526869901311) != 0) || ((int64((_la-156)) & ^0x3f) == 0 && ((int64(1)<<(_la-156))&-1) != 0) || ((int64((_la-220)) & ^0x3f) == 0 && ((int64(1)<<(_la-220))&-5066549580791809) != 0) || ((int64((_la-284)) & ^0x3f) == 0 && ((int64(1)<<(_la-284))&-1) != 0) || ((int64((_la-348)) & ^0x3f) == 0 && ((int64(1)<<(_la-348))&-1) != 0) || ((int64((_la-412)) & ^0x3f) == 0 && ((int64(1)<<(_la-412))&9223372036854775807) != 0) || ((int64((_la-476)) & ^0x3f) == 0 && ((int64(1)<<(_la-476))&-1407374883684353) != 0) || ((int64((_la-541)) & ^0x3f) == 0 && ((int64(1)<<(_la-541))&-1) != 0) || ((int64((_la-605)) & ^0x3f) == 0 && ((int64(1)<<(_la-605))&2170735020392579071) != 0) || ((int64((_la-669)) & ^0x3f) == 0 && ((int64(1)<<(_la-669))&3145729) != 0) { + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1137, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) { - p.SetState(11312) - p.Opt_label() + p.SetState(11356) + p.Match(PostgreSQLParserNEXT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - { - p.SetState(11315) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(11357) + p.Match(PostgreSQLParserPRIOR) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 3: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(11358) + p.Match(PostgreSQLParserFIRST_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 4: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(11359) + p.Match(PostgreSQLParserLAST_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 5: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(11360) + p.Match(PostgreSQLParserABSOLUTE_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11361) + p.A_expr() + } + + case 6: + p.EnterOuterAlt(localctx, 6) + { + p.SetState(11362) + p.Match(PostgreSQLParserRELATIVE_P) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11363) + p.A_expr() + } + + case 7: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(11364) + p.A_expr() + } + + case 8: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(11365) + p.Match(PostgreSQLParserALL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 9: + p.EnterOuterAlt(localctx, 9) + { + p.SetState(11366) + _la = p.GetTokenStream().LA(1) + + if !(_la == PostgreSQLParserBACKWARD || _la == PostgreSQLParserFORWARD) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + p.SetState(11369) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1136, p.GetParserRuleContext()) == 1 { + { + p.SetState(11367) + p.A_expr() + } + + } else if p.HasError() { // JIM + goto errorExit + } else if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1136, p.GetParserRuleContext()) == 2 { + { + p.SetState(11368) + p.Match(PostgreSQLParserALL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + } else if p.HasError() { // JIM goto errorExit } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -187783,57 +186306,63 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_execsqlContext is an interface to support dynamic dispatch. -type IStmt_execsqlContext interface { +// IStmt_moveContext is an interface to support dynamic dispatch. +type IStmt_moveContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Make_execsql_stmt() IMake_execsql_stmtContext + MOVE() antlr.TerminalNode + Cursor_variable() ICursor_variableContext SEMI() antlr.TerminalNode + Opt_fetch_direction() IOpt_fetch_directionContext - // IsStmt_execsqlContext differentiates from other interfaces. - IsStmt_execsqlContext() + // IsStmt_moveContext differentiates from other interfaces. + IsStmt_moveContext() } -type Stmt_execsqlContext struct { +type Stmt_moveContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_execsqlContext() *Stmt_execsqlContext { - var p = new(Stmt_execsqlContext) +func NewEmptyStmt_moveContext() *Stmt_moveContext { + var p = new(Stmt_moveContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_execsql + p.RuleIndex = PostgreSQLParserRULE_stmt_move return p } -func InitEmptyStmt_execsqlContext(p *Stmt_execsqlContext) { +func InitEmptyStmt_moveContext(p *Stmt_moveContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_execsql + p.RuleIndex = PostgreSQLParserRULE_stmt_move } -func (*Stmt_execsqlContext) IsStmt_execsqlContext() {} +func (*Stmt_moveContext) IsStmt_moveContext() {} -func NewStmt_execsqlContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_execsqlContext { - var p = new(Stmt_execsqlContext) +func NewStmt_moveContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_moveContext { + var p = new(Stmt_moveContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_execsql + p.RuleIndex = PostgreSQLParserRULE_stmt_move return p } -func (s *Stmt_execsqlContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_moveContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_execsqlContext) Make_execsql_stmt() IMake_execsql_stmtContext { +func (s *Stmt_moveContext) MOVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMOVE, 0) +} + +func (s *Stmt_moveContext) Cursor_variable() ICursor_variableContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMake_execsql_stmtContext); ok { + if _, ok := ctx.(ICursor_variableContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187843,53 +186372,89 @@ func (s *Stmt_execsqlContext) Make_execsql_stmt() IMake_execsql_stmtContext { return nil } - return t.(IMake_execsql_stmtContext) + return t.(ICursor_variableContext) } -func (s *Stmt_execsqlContext) SEMI() antlr.TerminalNode { +func (s *Stmt_moveContext) SEMI() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Stmt_execsqlContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_moveContext) Opt_fetch_direction() IOpt_fetch_directionContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_fetch_directionContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_fetch_directionContext) +} + +func (s *Stmt_moveContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_execsqlContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_moveContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_execsqlContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_moveContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_execsql(s) + listenerT.EnterStmt_move(s) } } -func (s *Stmt_execsqlContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_moveContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_execsql(s) + listenerT.ExitStmt_move(s) } } -func (s *Stmt_execsqlContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_moveContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_execsql(s) + return t.VisitStmt_move(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_execsql() (localctx IStmt_execsqlContext) { - localctx = NewStmt_execsqlContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1596, PostgreSQLParserRULE_stmt_execsql) +func (p *PostgreSQLParser) Stmt_move() (localctx IStmt_moveContext) { + localctx = NewStmt_moveContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1618, PostgreSQLParserRULE_stmt_move) p.EnterOuterAlt(localctx, 1) { - p.SetState(11317) - p.Make_execsql_stmt() + p.SetState(11373) + p.Match(PostgreSQLParserMOVE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11375) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1138, p.GetParserRuleContext()) == 1 { + { + p.SetState(11374) + p.Opt_fetch_direction() + } + + } else if p.HasError() { // JIM + goto errorExit + } + { + p.SetState(11377) + p.Cursor_variable() } { - p.SetState(11318) + p.SetState(11378) p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -187910,64 +186475,62 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_dynexecuteContext is an interface to support dynamic dispatch. -type IStmt_dynexecuteContext interface { +// IStmt_closeContext is an interface to support dynamic dispatch. +type IStmt_closeContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - EXECUTE() antlr.TerminalNode - A_expr() IA_exprContext + CLOSE() antlr.TerminalNode + Cursor_variable() ICursor_variableContext SEMI() antlr.TerminalNode - Opt_execute_into() IOpt_execute_intoContext - Opt_execute_using() IOpt_execute_usingContext - // IsStmt_dynexecuteContext differentiates from other interfaces. - IsStmt_dynexecuteContext() + // IsStmt_closeContext differentiates from other interfaces. + IsStmt_closeContext() } -type Stmt_dynexecuteContext struct { +type Stmt_closeContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_dynexecuteContext() *Stmt_dynexecuteContext { - var p = new(Stmt_dynexecuteContext) +func NewEmptyStmt_closeContext() *Stmt_closeContext { + var p = new(Stmt_closeContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_dynexecute + p.RuleIndex = PostgreSQLParserRULE_stmt_close return p } -func InitEmptyStmt_dynexecuteContext(p *Stmt_dynexecuteContext) { +func InitEmptyStmt_closeContext(p *Stmt_closeContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_dynexecute + p.RuleIndex = PostgreSQLParserRULE_stmt_close } -func (*Stmt_dynexecuteContext) IsStmt_dynexecuteContext() {} +func (*Stmt_closeContext) IsStmt_closeContext() {} -func NewStmt_dynexecuteContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_dynexecuteContext { - var p = new(Stmt_dynexecuteContext) +func NewStmt_closeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_closeContext { + var p = new(Stmt_closeContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_dynexecute + p.RuleIndex = PostgreSQLParserRULE_stmt_close return p } -func (s *Stmt_dynexecuteContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_closeContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_dynexecuteContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXECUTE, 0) +func (s *Stmt_closeContext) CLOSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE, 0) } -func (s *Stmt_dynexecuteContext) A_expr() IA_exprContext { +func (s *Stmt_closeContext) Cursor_variable() ICursor_variableContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(ICursor_variableContext); ok { t = ctx.(antlr.RuleContext) break } @@ -187977,167 +186540,61 @@ func (s *Stmt_dynexecuteContext) A_expr() IA_exprContext { return nil } - return t.(IA_exprContext) + return t.(ICursor_variableContext) } -func (s *Stmt_dynexecuteContext) SEMI() antlr.TerminalNode { +func (s *Stmt_closeContext) SEMI() antlr.TerminalNode { return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Stmt_dynexecuteContext) Opt_execute_into() IOpt_execute_intoContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_execute_intoContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_execute_intoContext) -} - -func (s *Stmt_dynexecuteContext) Opt_execute_using() IOpt_execute_usingContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_execute_usingContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_execute_usingContext) -} - -func (s *Stmt_dynexecuteContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_closeContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_dynexecuteContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_closeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_dynexecuteContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_closeContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_dynexecute(s) + listenerT.EnterStmt_close(s) } } -func (s *Stmt_dynexecuteContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_closeContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_dynexecute(s) + listenerT.ExitStmt_close(s) } } -func (s *Stmt_dynexecuteContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_closeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_dynexecute(s) + return t.VisitStmt_close(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_dynexecute() (localctx IStmt_dynexecuteContext) { - localctx = NewStmt_dynexecuteContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1598, PostgreSQLParserRULE_stmt_dynexecute) - var _la int - +func (p *PostgreSQLParser) Stmt_close() (localctx IStmt_closeContext) { + localctx = NewStmt_closeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1620, PostgreSQLParserRULE_stmt_close) p.EnterOuterAlt(localctx, 1) { - p.SetState(11320) - p.Match(PostgreSQLParserEXECUTE) + p.SetState(11380) + p.Match(PostgreSQLParserCLOSE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11321) - p.A_expr() - } - p.SetState(11335) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1124, p.GetParserRuleContext()) { - case 1: - p.SetState(11323) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserINTO { - { - p.SetState(11322) - p.Opt_execute_into() - } - - } - p.SetState(11326) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserUSING { - { - p.SetState(11325) - p.Opt_execute_using() - } - - } - - case 2: - p.SetState(11329) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserUSING { - { - p.SetState(11328) - p.Opt_execute_using() - } - - } - p.SetState(11332) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserINTO { - { - p.SetState(11331) - p.Opt_execute_into() - } - - } - - case 3: - - case antlr.ATNInvalidAltNumber: - goto errorExit + p.SetState(11381) + p.Cursor_variable() } { - p.SetState(11337) + p.SetState(11382) p.Match(PostgreSQLParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -188158,118 +186615,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_execute_usingContext is an interface to support dynamic dispatch. -type IOpt_execute_usingContext interface { +// IStmt_nullContext is an interface to support dynamic dispatch. +type IStmt_nullContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - USING() antlr.TerminalNode - Opt_execute_using_list() IOpt_execute_using_listContext + NULL_P() antlr.TerminalNode + SEMI() antlr.TerminalNode - // IsOpt_execute_usingContext differentiates from other interfaces. - IsOpt_execute_usingContext() + // IsStmt_nullContext differentiates from other interfaces. + IsStmt_nullContext() } -type Opt_execute_usingContext struct { +type Stmt_nullContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_execute_usingContext() *Opt_execute_usingContext { - var p = new(Opt_execute_usingContext) +func NewEmptyStmt_nullContext() *Stmt_nullContext { + var p = new(Stmt_nullContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_execute_using + p.RuleIndex = PostgreSQLParserRULE_stmt_null return p } -func InitEmptyOpt_execute_usingContext(p *Opt_execute_usingContext) { +func InitEmptyStmt_nullContext(p *Stmt_nullContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_execute_using + p.RuleIndex = PostgreSQLParserRULE_stmt_null } -func (*Opt_execute_usingContext) IsOpt_execute_usingContext() {} +func (*Stmt_nullContext) IsStmt_nullContext() {} -func NewOpt_execute_usingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_execute_usingContext { - var p = new(Opt_execute_usingContext) +func NewStmt_nullContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_nullContext { + var p = new(Stmt_nullContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_execute_using + p.RuleIndex = PostgreSQLParserRULE_stmt_null return p } -func (s *Opt_execute_usingContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_nullContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_execute_usingContext) USING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSING, 0) +func (s *Stmt_nullContext) NULL_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNULL_P, 0) } -func (s *Opt_execute_usingContext) Opt_execute_using_list() IOpt_execute_using_listContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_execute_using_listContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_execute_using_listContext) +func (s *Stmt_nullContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Opt_execute_usingContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_nullContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_execute_usingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_nullContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_execute_usingContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_nullContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_execute_using(s) + listenerT.EnterStmt_null(s) } } -func (s *Opt_execute_usingContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_nullContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_execute_using(s) + listenerT.ExitStmt_null(s) } } -func (s *Opt_execute_usingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_nullContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_execute_using(s) + return t.VisitStmt_null(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_execute_using() (localctx IOpt_execute_usingContext) { - localctx = NewOpt_execute_usingContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1600, PostgreSQLParserRULE_opt_execute_using) +func (p *PostgreSQLParser) Stmt_null() (localctx IStmt_nullContext) { + localctx = NewStmt_nullContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1622, PostgreSQLParserRULE_stmt_null) p.EnterOuterAlt(localctx, 1) { - p.SetState(11339) - p.Match(PostgreSQLParserUSING) + p.SetState(11384) + p.Match(PostgreSQLParserNULL_P) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11340) - p.Opt_execute_using_list() + p.SetState(11385) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -188285,86 +186734,68 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_execute_using_listContext is an interface to support dynamic dispatch. -type IOpt_execute_using_listContext interface { +// IStmt_commitContext is an interface to support dynamic dispatch. +type IStmt_commitContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllA_expr() []IA_exprContext - A_expr(i int) IA_exprContext - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode + COMMIT() antlr.TerminalNode + SEMI() antlr.TerminalNode + Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext - // IsOpt_execute_using_listContext differentiates from other interfaces. - IsOpt_execute_using_listContext() + // IsStmt_commitContext differentiates from other interfaces. + IsStmt_commitContext() } -type Opt_execute_using_listContext struct { +type Stmt_commitContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_execute_using_listContext() *Opt_execute_using_listContext { - var p = new(Opt_execute_using_listContext) +func NewEmptyStmt_commitContext() *Stmt_commitContext { + var p = new(Stmt_commitContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_execute_using_list + p.RuleIndex = PostgreSQLParserRULE_stmt_commit return p } -func InitEmptyOpt_execute_using_listContext(p *Opt_execute_using_listContext) { +func InitEmptyStmt_commitContext(p *Stmt_commitContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_execute_using_list + p.RuleIndex = PostgreSQLParserRULE_stmt_commit } -func (*Opt_execute_using_listContext) IsOpt_execute_using_listContext() {} +func (*Stmt_commitContext) IsStmt_commitContext() {} -func NewOpt_execute_using_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_execute_using_listContext { - var p = new(Opt_execute_using_listContext) +func NewStmt_commitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_commitContext { + var p = new(Stmt_commitContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_execute_using_list + p.RuleIndex = PostgreSQLParserRULE_stmt_commit return p } -func (s *Opt_execute_using_listContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_execute_using_listContext) AllA_expr() []IA_exprContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IA_exprContext); ok { - len++ - } - } +func (s *Stmt_commitContext) GetParser() antlr.Parser { return s.parser } - tst := make([]IA_exprContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IA_exprContext); ok { - tst[i] = t.(IA_exprContext) - i++ - } - } +func (s *Stmt_commitContext) COMMIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMIT, 0) +} - return tst +func (s *Stmt_commitContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) } -func (s *Opt_execute_using_listContext) A_expr(i int) IA_exprContext { +func (s *Stmt_commitContext) Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IPlsql_opt_transaction_chainContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -188372,84 +186803,74 @@ func (s *Opt_execute_using_listContext) A_expr(i int) IA_exprContext { return nil } - return t.(IA_exprContext) -} - -func (s *Opt_execute_using_listContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) -} - -func (s *Opt_execute_using_listContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) + return t.(IPlsql_opt_transaction_chainContext) } -func (s *Opt_execute_using_listContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_commitContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_execute_using_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_commitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_execute_using_listContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_commitContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_execute_using_list(s) + listenerT.EnterStmt_commit(s) } } -func (s *Opt_execute_using_listContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_commitContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_execute_using_list(s) + listenerT.ExitStmt_commit(s) } } -func (s *Opt_execute_using_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_commitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_execute_using_list(s) + return t.VisitStmt_commit(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_execute_using_list() (localctx IOpt_execute_using_listContext) { - localctx = NewOpt_execute_using_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1602, PostgreSQLParserRULE_opt_execute_using_list) +func (p *PostgreSQLParser) Stmt_commit() (localctx IStmt_commitContext) { + localctx = NewStmt_commitContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1624, PostgreSQLParserRULE_stmt_commit) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11342) - p.A_expr() + p.SetState(11387) + p.Match(PostgreSQLParserCOMMIT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - p.SetState(11347) + p.SetState(11389) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for _la == PostgreSQLParserCOMMA { - { - p.SetState(11343) - p.Match(PostgreSQLParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + if _la == PostgreSQLParserAND { { - p.SetState(11344) - p.A_expr() + p.SetState(11388) + p.Plsql_opt_transaction_chain() } - p.SetState(11349) - p.GetErrorHandler().Sync(p) + } + { + p.SetState(11391) + p.Match(PostgreSQLParserSEMI) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -188465,62 +186886,66 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_execute_intoContext is an interface to support dynamic dispatch. -type IOpt_execute_intoContext interface { +// IStmt_rollbackContext is an interface to support dynamic dispatch. +type IStmt_rollbackContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - INTO() antlr.TerminalNode - Into_target() IInto_targetContext - STRICT_P() antlr.TerminalNode + ROLLBACK() antlr.TerminalNode + SEMI() antlr.TerminalNode + Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext - // IsOpt_execute_intoContext differentiates from other interfaces. - IsOpt_execute_intoContext() + // IsStmt_rollbackContext differentiates from other interfaces. + IsStmt_rollbackContext() } -type Opt_execute_intoContext struct { +type Stmt_rollbackContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_execute_intoContext() *Opt_execute_intoContext { - var p = new(Opt_execute_intoContext) +func NewEmptyStmt_rollbackContext() *Stmt_rollbackContext { + var p = new(Stmt_rollbackContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_execute_into + p.RuleIndex = PostgreSQLParserRULE_stmt_rollback return p } -func InitEmptyOpt_execute_intoContext(p *Opt_execute_intoContext) { +func InitEmptyStmt_rollbackContext(p *Stmt_rollbackContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_execute_into + p.RuleIndex = PostgreSQLParserRULE_stmt_rollback } -func (*Opt_execute_intoContext) IsOpt_execute_intoContext() {} +func (*Stmt_rollbackContext) IsStmt_rollbackContext() {} -func NewOpt_execute_intoContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_execute_intoContext { - var p = new(Opt_execute_intoContext) +func NewStmt_rollbackContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_rollbackContext { + var p = new(Stmt_rollbackContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_execute_into + p.RuleIndex = PostgreSQLParserRULE_stmt_rollback return p } -func (s *Opt_execute_intoContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_rollbackContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_execute_intoContext) INTO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINTO, 0) +func (s *Stmt_rollbackContext) ROLLBACK() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROLLBACK, 0) } -func (s *Opt_execute_intoContext) Into_target() IInto_targetContext { +func (s *Stmt_rollbackContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} + +func (s *Stmt_rollbackContext) Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IInto_targetContext); ok { + if _, ok := ctx.(IPlsql_opt_transaction_chainContext); ok { t = ctx.(antlr.RuleContext) break } @@ -188530,74 +186955,74 @@ func (s *Opt_execute_intoContext) Into_target() IInto_targetContext { return nil } - return t.(IInto_targetContext) -} - -func (s *Opt_execute_intoContext) STRICT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTRICT_P, 0) + return t.(IPlsql_opt_transaction_chainContext) } -func (s *Opt_execute_intoContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_rollbackContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_execute_intoContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_rollbackContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_execute_intoContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_rollbackContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_execute_into(s) + listenerT.EnterStmt_rollback(s) } } -func (s *Opt_execute_intoContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_rollbackContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_execute_into(s) + listenerT.ExitStmt_rollback(s) } } -func (s *Opt_execute_intoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_rollbackContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_execute_into(s) + return t.VisitStmt_rollback(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_execute_into() (localctx IOpt_execute_intoContext) { - localctx = NewOpt_execute_intoContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1604, PostgreSQLParserRULE_opt_execute_into) +func (p *PostgreSQLParser) Stmt_rollback() (localctx IStmt_rollbackContext) { + localctx = NewStmt_rollbackContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1626, PostgreSQLParserRULE_stmt_rollback) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11350) - p.Match(PostgreSQLParserINTO) + p.SetState(11393) + p.Match(PostgreSQLParserROLLBACK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(11352) + p.SetState(11395) p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1126, p.GetParserRuleContext()) == 1 { + if _la == PostgreSQLParserAND { { - p.SetState(11351) - p.Match(PostgreSQLParserSTRICT_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11394) + p.Plsql_opt_transaction_chain() } - } else if p.HasError() { // JIM - goto errorExit } { - p.SetState(11354) - p.Into_target() + p.SetState(11397) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -188613,366 +187038,131 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_openContext is an interface to support dynamic dispatch. -type IStmt_openContext interface { +// IPlsql_opt_transaction_chainContext is an interface to support dynamic dispatch. +type IPlsql_opt_transaction_chainContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - OPEN() antlr.TerminalNode - SEMI() antlr.TerminalNode - Cursor_variable() ICursor_variableContext - FOR() antlr.TerminalNode - Colid() IColidContext - Selectstmt() ISelectstmtContext - EXECUTE() antlr.TerminalNode - Sql_expression() ISql_expressionContext - Opt_scroll_option() IOpt_scroll_optionContext - OPEN_PAREN() antlr.TerminalNode - Opt_open_bound_list() IOpt_open_bound_listContext - CLOSE_PAREN() antlr.TerminalNode - Opt_open_using() IOpt_open_usingContext + AND() antlr.TerminalNode + CHAIN() antlr.TerminalNode + NO() antlr.TerminalNode - // IsStmt_openContext differentiates from other interfaces. - IsStmt_openContext() + // IsPlsql_opt_transaction_chainContext differentiates from other interfaces. + IsPlsql_opt_transaction_chainContext() } -type Stmt_openContext struct { +type Plsql_opt_transaction_chainContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_openContext() *Stmt_openContext { - var p = new(Stmt_openContext) +func NewEmptyPlsql_opt_transaction_chainContext() *Plsql_opt_transaction_chainContext { + var p = new(Plsql_opt_transaction_chainContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_open + p.RuleIndex = PostgreSQLParserRULE_plsql_opt_transaction_chain return p } -func InitEmptyStmt_openContext(p *Stmt_openContext) { +func InitEmptyPlsql_opt_transaction_chainContext(p *Plsql_opt_transaction_chainContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_open + p.RuleIndex = PostgreSQLParserRULE_plsql_opt_transaction_chain } -func (*Stmt_openContext) IsStmt_openContext() {} +func (*Plsql_opt_transaction_chainContext) IsPlsql_opt_transaction_chainContext() {} -func NewStmt_openContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_openContext { - var p = new(Stmt_openContext) +func NewPlsql_opt_transaction_chainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Plsql_opt_transaction_chainContext { + var p = new(Plsql_opt_transaction_chainContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_open + p.RuleIndex = PostgreSQLParserRULE_plsql_opt_transaction_chain return p } -func (s *Stmt_openContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_openContext) OPEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN, 0) -} - -func (s *Stmt_openContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) -} - -func (s *Stmt_openContext) Cursor_variable() ICursor_variableContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICursor_variableContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ICursor_variableContext) -} - -func (s *Stmt_openContext) FOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFOR, 0) -} - -func (s *Stmt_openContext) Colid() IColidContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IColidContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IColidContext) -} - -func (s *Stmt_openContext) Selectstmt() ISelectstmtContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISelectstmtContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISelectstmtContext) -} - -func (s *Stmt_openContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXECUTE, 0) -} - -func (s *Stmt_openContext) Sql_expression() ISql_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISql_expressionContext) -} - -func (s *Stmt_openContext) Opt_scroll_option() IOpt_scroll_optionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_scroll_optionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_scroll_optionContext) -} - -func (s *Stmt_openContext) OPEN_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN_PAREN, 0) -} - -func (s *Stmt_openContext) Opt_open_bound_list() IOpt_open_bound_listContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_open_bound_listContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Plsql_opt_transaction_chainContext) GetParser() antlr.Parser { return s.parser } - return t.(IOpt_open_bound_listContext) +func (s *Plsql_opt_transaction_chainContext) AND() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAND, 0) } -func (s *Stmt_openContext) CLOSE_PAREN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE_PAREN, 0) +func (s *Plsql_opt_transaction_chainContext) CHAIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHAIN, 0) } -func (s *Stmt_openContext) Opt_open_using() IOpt_open_usingContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_open_usingContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOpt_open_usingContext) +func (s *Plsql_opt_transaction_chainContext) NO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNO, 0) } -func (s *Stmt_openContext) GetRuleContext() antlr.RuleContext { +func (s *Plsql_opt_transaction_chainContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_openContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Plsql_opt_transaction_chainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_openContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Plsql_opt_transaction_chainContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_open(s) + listenerT.EnterPlsql_opt_transaction_chain(s) } } -func (s *Stmt_openContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Plsql_opt_transaction_chainContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_open(s) + listenerT.ExitPlsql_opt_transaction_chain(s) } } -func (s *Stmt_openContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Plsql_opt_transaction_chainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_open(s) + return t.VisitPlsql_opt_transaction_chain(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_open() (localctx IStmt_openContext) { - localctx = NewStmt_openContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1606, PostgreSQLParserRULE_stmt_open) +func (p *PostgreSQLParser) Plsql_opt_transaction_chain() (localctx IPlsql_opt_transaction_chainContext) { + localctx = NewPlsql_opt_transaction_chainContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1628, PostgreSQLParserRULE_plsql_opt_transaction_chain) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11356) - p.Match(PostgreSQLParserOPEN) + p.SetState(11399) + p.Match(PostgreSQLParserAND) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(11377) + p.SetState(11401) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } + _la = p.GetTokenStream().LA(1) - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1131, p.GetParserRuleContext()) { - case 1: - { - p.SetState(11357) - p.Cursor_variable() - } - p.SetState(11359) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserNO || _la == PostgreSQLParserSCROLL { - { - p.SetState(11358) - p.Opt_scroll_option() - } - - } + if _la == PostgreSQLParserNO { { - p.SetState(11361) - p.Match(PostgreSQLParserFOR) + p.SetState(11400) + p.Match(PostgreSQLParserNO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(11368) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserOPEN_PAREN, PostgreSQLParserSELECT, PostgreSQLParserTABLE, PostgreSQLParserWITH, PostgreSQLParserVALUES: - { - p.SetState(11362) - p.Selectstmt() - } - - case PostgreSQLParserEXECUTE: - { - p.SetState(11363) - p.Match(PostgreSQLParserEXECUTE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11364) - p.Sql_expression() - } - p.SetState(11366) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserUSING { - { - p.SetState(11365) - p.Opt_open_using() - } - - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit - } - - case 2: - { - p.SetState(11370) - p.Colid() - } - p.SetState(11375) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserOPEN_PAREN { - { - p.SetState(11371) - p.Match(PostgreSQLParserOPEN_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11372) - p.Opt_open_bound_list() - } - { - p.SetState(11373) - p.Match(PostgreSQLParserCLOSE_PAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - } - case antlr.ATNInvalidAltNumber: - goto errorExit } { - p.SetState(11379) - p.Match(PostgreSQLParserSEMI) + p.SetState(11403) + p.Match(PostgreSQLParserCHAIN) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -188992,58 +187182,66 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_open_bound_list_itemContext is an interface to support dynamic dispatch. -type IOpt_open_bound_list_itemContext interface { +// IStmt_setContext is an interface to support dynamic dispatch. +type IStmt_setContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Colid() IColidContext - COLON_EQUALS() antlr.TerminalNode - A_expr() IA_exprContext + SET() antlr.TerminalNode + Any_name() IAny_nameContext + TO() antlr.TerminalNode + DEFAULT() antlr.TerminalNode + SEMI() antlr.TerminalNode + RESET() antlr.TerminalNode + ALL() antlr.TerminalNode - // IsOpt_open_bound_list_itemContext differentiates from other interfaces. - IsOpt_open_bound_list_itemContext() + // IsStmt_setContext differentiates from other interfaces. + IsStmt_setContext() } -type Opt_open_bound_list_itemContext struct { +type Stmt_setContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_open_bound_list_itemContext() *Opt_open_bound_list_itemContext { - var p = new(Opt_open_bound_list_itemContext) +func NewEmptyStmt_setContext() *Stmt_setContext { + var p = new(Stmt_setContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list_item + p.RuleIndex = PostgreSQLParserRULE_stmt_set return p } -func InitEmptyOpt_open_bound_list_itemContext(p *Opt_open_bound_list_itemContext) { +func InitEmptyStmt_setContext(p *Stmt_setContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list_item + p.RuleIndex = PostgreSQLParserRULE_stmt_set } -func (*Opt_open_bound_list_itemContext) IsOpt_open_bound_list_itemContext() {} +func (*Stmt_setContext) IsStmt_setContext() {} -func NewOpt_open_bound_list_itemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_open_bound_list_itemContext { - var p = new(Opt_open_bound_list_itemContext) +func NewStmt_setContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_setContext { + var p = new(Stmt_setContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list_item + p.RuleIndex = PostgreSQLParserRULE_stmt_set return p } -func (s *Opt_open_bound_list_itemContext) GetParser() antlr.Parser { return s.parser } +func (s *Stmt_setContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_open_bound_list_itemContext) Colid() IColidContext { +func (s *Stmt_setContext) SET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSET, 0) +} + +func (s *Stmt_setContext) Any_name() IAny_nameContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IColidContext); ok { + if _, ok := ctx.(IAny_nameContext); ok { t = ctx.(antlr.RuleContext) break } @@ -189053,96 +187251,156 @@ func (s *Opt_open_bound_list_itemContext) Colid() IColidContext { return nil } - return t.(IColidContext) + return t.(IAny_nameContext) } -func (s *Opt_open_bound_list_itemContext) COLON_EQUALS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLON_EQUALS, 0) +func (s *Stmt_setContext) TO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTO, 0) } -func (s *Opt_open_bound_list_itemContext) A_expr() IA_exprContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Stmt_setContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFAULT, 0) +} - if t == nil { - return nil - } +func (s *Stmt_setContext) SEMI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEMI, 0) +} - return t.(IA_exprContext) +func (s *Stmt_setContext) RESET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRESET, 0) } -func (s *Opt_open_bound_list_itemContext) GetRuleContext() antlr.RuleContext { +func (s *Stmt_setContext) ALL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALL, 0) +} + +func (s *Stmt_setContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_open_bound_list_itemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Stmt_setContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_open_bound_list_itemContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Stmt_setContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_open_bound_list_item(s) + listenerT.EnterStmt_set(s) } } -func (s *Opt_open_bound_list_itemContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Stmt_setContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_open_bound_list_item(s) + listenerT.ExitStmt_set(s) } } -func (s *Opt_open_bound_list_itemContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Stmt_setContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_open_bound_list_item(s) + return t.VisitStmt_set(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_open_bound_list_item() (localctx IOpt_open_bound_list_itemContext) { - localctx = NewOpt_open_bound_list_itemContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1608, PostgreSQLParserRULE_opt_open_bound_list_item) - p.SetState(11386) +func (p *PostgreSQLParser) Stmt_set() (localctx IStmt_setContext) { + localctx = NewStmt_setContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1630, PostgreSQLParserRULE_stmt_set) + p.SetState(11417) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1132, p.GetParserRuleContext()) { - case 1: + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserSET: p.EnterOuterAlt(localctx, 1) { - p.SetState(11381) - p.Colid() + p.SetState(11405) + p.Match(PostgreSQLParserSET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } { - p.SetState(11382) - p.Match(PostgreSQLParserCOLON_EQUALS) + p.SetState(11406) + p.Any_name() + } + { + p.SetState(11407) + p.Match(PostgreSQLParserTO) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11383) - p.A_expr() + p.SetState(11408) + p.Match(PostgreSQLParserDEFAULT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11409) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - case 2: + case PostgreSQLParserRESET: p.EnterOuterAlt(localctx, 2) { - p.SetState(11385) - p.A_expr() + p.SetState(11411) + p.Match(PostgreSQLParserRESET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(11414) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - case antlr.ATNInvalidAltNumber: + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + { + p.SetState(11412) + p.Any_name() + } + + case PostgreSQLParserALL: + { + p.SetState(11413) + p.Match(PostgreSQLParserALL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } + { + p.SetState(11416) + p.Match(PostgreSQLParserSEMI) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } @@ -189159,86 +187417,59 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_open_bound_listContext is an interface to support dynamic dispatch. -type IOpt_open_bound_listContext interface { +// ICursor_variableContext is an interface to support dynamic dispatch. +type ICursor_variableContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllOpt_open_bound_list_item() []IOpt_open_bound_list_itemContext - Opt_open_bound_list_item(i int) IOpt_open_bound_list_itemContext - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode + Colid() IColidContext + PARAM() antlr.TerminalNode - // IsOpt_open_bound_listContext differentiates from other interfaces. - IsOpt_open_bound_listContext() + // IsCursor_variableContext differentiates from other interfaces. + IsCursor_variableContext() } -type Opt_open_bound_listContext struct { +type Cursor_variableContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_open_bound_listContext() *Opt_open_bound_listContext { - var p = new(Opt_open_bound_listContext) +func NewEmptyCursor_variableContext() *Cursor_variableContext { + var p = new(Cursor_variableContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list + p.RuleIndex = PostgreSQLParserRULE_cursor_variable return p } -func InitEmptyOpt_open_bound_listContext(p *Opt_open_bound_listContext) { +func InitEmptyCursor_variableContext(p *Cursor_variableContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list + p.RuleIndex = PostgreSQLParserRULE_cursor_variable } -func (*Opt_open_bound_listContext) IsOpt_open_bound_listContext() {} - -func NewOpt_open_bound_listContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_open_bound_listContext { - var p = new(Opt_open_bound_listContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_open_bound_list - - return p -} +func (*Cursor_variableContext) IsCursor_variableContext() {} -func (s *Opt_open_bound_listContext) GetParser() antlr.Parser { return s.parser } +func NewCursor_variableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Cursor_variableContext { + var p = new(Cursor_variableContext) -func (s *Opt_open_bound_listContext) AllOpt_open_bound_list_item() []IOpt_open_bound_list_itemContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IOpt_open_bound_list_itemContext); ok { - len++ - } - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - tst := make([]IOpt_open_bound_list_itemContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IOpt_open_bound_list_itemContext); ok { - tst[i] = t.(IOpt_open_bound_list_itemContext) - i++ - } - } + p.parser = parser + p.RuleIndex = PostgreSQLParserRULE_cursor_variable - return tst + return p } -func (s *Opt_open_bound_listContext) Opt_open_bound_list_item(i int) IOpt_open_bound_list_itemContext { +func (s *Cursor_variableContext) GetParser() antlr.Parser { return s.parser } + +func (s *Cursor_variableContext) Colid() IColidContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_open_bound_list_itemContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IColidContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -189246,84 +187477,74 @@ func (s *Opt_open_bound_listContext) Opt_open_bound_list_item(i int) IOpt_open_b return nil } - return t.(IOpt_open_bound_list_itemContext) -} - -func (s *Opt_open_bound_listContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserCOMMA) + return t.(IColidContext) } -func (s *Opt_open_bound_listContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMA, i) +func (s *Cursor_variableContext) PARAM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARAM, 0) } -func (s *Opt_open_bound_listContext) GetRuleContext() antlr.RuleContext { +func (s *Cursor_variableContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_open_bound_listContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Cursor_variableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_open_bound_listContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Cursor_variableContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_open_bound_list(s) + listenerT.EnterCursor_variable(s) } } -func (s *Opt_open_bound_listContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Cursor_variableContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_open_bound_list(s) + listenerT.ExitCursor_variable(s) } } -func (s *Opt_open_bound_listContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Cursor_variableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_open_bound_list(s) + return t.VisitCursor_variable(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_open_bound_list() (localctx IOpt_open_bound_listContext) { - localctx = NewOpt_open_bound_listContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1610, PostgreSQLParserRULE_opt_open_bound_list) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11388) - p.Opt_open_bound_list_item() - } - p.SetState(11393) +func (p *PostgreSQLParser) Cursor_variable() (localctx ICursor_variableContext) { + localctx = NewCursor_variableContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1632, PostgreSQLParserRULE_cursor_variable) + p.SetState(11421) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - for _la == PostgreSQLParserCOMMA { + switch p.GetTokenStream().LA(1) { + case PostgreSQLParserABORT_P, PostgreSQLParserABSENT, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserASENSITIVE, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATOMIC, PostgreSQLParserATTACH, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserBREADTH, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALL, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG_P, PostgreSQLParserCHAIN, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOALESCE, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCOLUMNS, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCOMPRESSION, PostgreSQLParserCONDITIONAL, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONFLICT, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINT, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCUBE, PostgreSQLParserCURRENT_P, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULT, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDEPENDS, PostgreSQLParserDEPTH, PostgreSQLParserDETACH, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDO, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserEMPTY_P, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENFORCED, PostgreSQLParserENUM_P, PostgreSQLParserERROR_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXISTS, PostgreSQLParserEXPLAIN, PostgreSQLParserEXPRESSION, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserEXTRACT, PostgreSQLParserFAMILY, PostgreSQLParserFETCH, PostgreSQLParserFILTER, PostgreSQLParserFINALIZE, PostgreSQLParserFIRST_P, PostgreSQLParserFLOAT_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORMAT, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGENERATED, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserGREATEST, PostgreSQLParserGROUPING, PostgreSQLParserGROUPS, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserIMPORT_P, PostgreSQLParserINCLUDE, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINOUT, PostgreSQLParserINPUT_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserINVOKER, PostgreSQLParserIS, PostgreSQLParserISOLATION, PostgreSQLParserJSON, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_EXISTS, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserJSON_QUERY, PostgreSQLParserJSON_SCALAR, PostgreSQLParserJSON_SERIALIZE, PostgreSQLParserJSON_TABLE, PostgreSQLParserJSON_VALUE, PostgreSQLParserKEEP, PostgreSQLParserKEY, PostgreSQLParserKEYS, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEAST, PostgreSQLParserLEFT, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserLOCKED, PostgreSQLParserLOGGED, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATCHED, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMERGE, PostgreSQLParserMERGE_ACTION, PostgreSQLParserMETHOD, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNESTED, PostgreSQLParserNEW, PostgreSQLParserNEXT, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserNO, PostgreSQLParserNONE, PostgreSQLParserNORMALIZE, PostgreSQLParserNORMALIZED, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLIF, PostgreSQLParserNULLS_P, PostgreSQLParserNUMERIC, PostgreSQLParserOBJECT_P, PostgreSQLParserOBJECTS_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOLD, PostgreSQLParserOMIT, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserORDINALITY, PostgreSQLParserOTHERS, PostgreSQLParserOUT_P, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserOVERLAY, PostgreSQLParserOVERRIDING, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARALLEL, PostgreSQLParserPARAMETER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPATH, PostgreSQLParserPERIOD, PostgreSQLParserPLAN, PostgreSQLParserPLANS, PostgreSQLParserPOLICY, PostgreSQLParserPOSITION, PostgreSQLParserPRECEDING, PostgreSQLParserPRECISION, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROCEDURES, PostgreSQLParserPROGRAM, PostgreSQLParserPUBLICATION, PostgreSQLParserQUOTE, PostgreSQLParserQUOTES, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREAL, PostgreSQLParserREASSIGN, PostgreSQLParserRECURSIVE, PostgreSQLParserREF_P, PostgreSQLParserREFERENCING, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURN, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserRIGHT, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROLLUP, PostgreSQLParserROUTINE, PostgreSQLParserROUTINES, PostgreSQLParserROW, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCALAR, PostgreSQLParserSCHEMA, PostgreSQLParserSCHEMAS, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSETOF, PostgreSQLParserSETS, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSKIP_P, PostgreSQLParserSMALLINT, PostgreSQLParserSNAPSHOT, PostgreSQLParserSOURCE, PostgreSQLParserSQL_P, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTORED, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRING_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserSUBSTRING, PostgreSQLParserSUPPORT, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLE, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTARGET, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTIES, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTRANSACTION, PostgreSQLParserTRANSFORM, PostgreSQLParserTREAT, PostgreSQLParserTRIGGER, PostgreSQLParserTRIM, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUESCAPE, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNCONDITIONAL, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVALUE_P, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVIEWS, PostgreSQLParserVIRTUAL, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHIN, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserXMLTABLE, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserROWTYPE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: + p.EnterOuterAlt(localctx, 1) { - p.SetState(11389) - p.Match(PostgreSQLParserCOMMA) + p.SetState(11419) + p.Colid() + } + + case PostgreSQLParserPARAM: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(11420) + p.Match(PostgreSQLParserPARAM) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11390) - p.Opt_open_bound_list_item() - } - p.SetState(11395) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } errorExit: @@ -189339,61 +187560,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_open_usingContext is an interface to support dynamic dispatch. -type IOpt_open_usingContext interface { +// IException_sectContext is an interface to support dynamic dispatch. +type IException_sectContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - USING() antlr.TerminalNode - Expr_list() IExpr_listContext + EXCEPTION() antlr.TerminalNode + Proc_exceptions() IProc_exceptionsContext - // IsOpt_open_usingContext differentiates from other interfaces. - IsOpt_open_usingContext() + // IsException_sectContext differentiates from other interfaces. + IsException_sectContext() } -type Opt_open_usingContext struct { +type Exception_sectContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_open_usingContext() *Opt_open_usingContext { - var p = new(Opt_open_usingContext) +func NewEmptyException_sectContext() *Exception_sectContext { + var p = new(Exception_sectContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_open_using + p.RuleIndex = PostgreSQLParserRULE_exception_sect return p } -func InitEmptyOpt_open_usingContext(p *Opt_open_usingContext) { +func InitEmptyException_sectContext(p *Exception_sectContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_open_using + p.RuleIndex = PostgreSQLParserRULE_exception_sect } -func (*Opt_open_usingContext) IsOpt_open_usingContext() {} +func (*Exception_sectContext) IsException_sectContext() {} -func NewOpt_open_usingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_open_usingContext { - var p = new(Opt_open_usingContext) +func NewException_sectContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Exception_sectContext { + var p = new(Exception_sectContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_open_using + p.RuleIndex = PostgreSQLParserRULE_exception_sect return p } -func (s *Opt_open_usingContext) GetParser() antlr.Parser { return s.parser } +func (s *Exception_sectContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_open_usingContext) USING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSING, 0) +func (s *Exception_sectContext) EXCEPTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCEPTION, 0) } -func (s *Opt_open_usingContext) Expr_list() IExpr_listContext { +func (s *Exception_sectContext) Proc_exceptions() IProc_exceptionsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_listContext); ok { + if _, ok := ctx.(IProc_exceptionsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -189403,54 +187624,54 @@ func (s *Opt_open_usingContext) Expr_list() IExpr_listContext { return nil } - return t.(IExpr_listContext) + return t.(IProc_exceptionsContext) } -func (s *Opt_open_usingContext) GetRuleContext() antlr.RuleContext { +func (s *Exception_sectContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_open_usingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Exception_sectContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_open_usingContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Exception_sectContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_open_using(s) + listenerT.EnterException_sect(s) } } -func (s *Opt_open_usingContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Exception_sectContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_open_using(s) + listenerT.ExitException_sect(s) } } -func (s *Opt_open_usingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Exception_sectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_open_using(s) + return t.VisitException_sect(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_open_using() (localctx IOpt_open_usingContext) { - localctx = NewOpt_open_usingContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1612, PostgreSQLParserRULE_opt_open_using) +func (p *PostgreSQLParser) Exception_sect() (localctx IException_sectContext) { + localctx = NewException_sectContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1634, PostgreSQLParserRULE_exception_sect) p.EnterOuterAlt(localctx, 1) { - p.SetState(11396) - p.Match(PostgreSQLParserUSING) + p.SetState(11423) + p.Match(PostgreSQLParserEXCEPTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11397) - p.Expr_list() + p.SetState(11424) + p.Proc_exceptions() } errorExit: @@ -189466,63 +187687,84 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_scroll_optionContext is an interface to support dynamic dispatch. -type IOpt_scroll_optionContext interface { +// IProc_exceptionsContext is an interface to support dynamic dispatch. +type IProc_exceptionsContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - SCROLL() antlr.TerminalNode - Opt_scroll_option_no() IOpt_scroll_option_noContext + AllProc_exception() []IProc_exceptionContext + Proc_exception(i int) IProc_exceptionContext - // IsOpt_scroll_optionContext differentiates from other interfaces. - IsOpt_scroll_optionContext() + // IsProc_exceptionsContext differentiates from other interfaces. + IsProc_exceptionsContext() } -type Opt_scroll_optionContext struct { +type Proc_exceptionsContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_scroll_optionContext() *Opt_scroll_optionContext { - var p = new(Opt_scroll_optionContext) +func NewEmptyProc_exceptionsContext() *Proc_exceptionsContext { + var p = new(Proc_exceptionsContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option + p.RuleIndex = PostgreSQLParserRULE_proc_exceptions return p } -func InitEmptyOpt_scroll_optionContext(p *Opt_scroll_optionContext) { +func InitEmptyProc_exceptionsContext(p *Proc_exceptionsContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option + p.RuleIndex = PostgreSQLParserRULE_proc_exceptions } -func (*Opt_scroll_optionContext) IsOpt_scroll_optionContext() {} +func (*Proc_exceptionsContext) IsProc_exceptionsContext() {} -func NewOpt_scroll_optionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_scroll_optionContext { - var p = new(Opt_scroll_optionContext) +func NewProc_exceptionsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_exceptionsContext { + var p = new(Proc_exceptionsContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option + p.RuleIndex = PostgreSQLParserRULE_proc_exceptions return p } -func (s *Opt_scroll_optionContext) GetParser() antlr.Parser { return s.parser } +func (s *Proc_exceptionsContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_scroll_optionContext) SCROLL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCROLL, 0) +func (s *Proc_exceptionsContext) AllProc_exception() []IProc_exceptionContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IProc_exceptionContext); ok { + len++ + } + } + + tst := make([]IProc_exceptionContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IProc_exceptionContext); ok { + tst[i] = t.(IProc_exceptionContext) + i++ + } + } + + return tst } -func (s *Opt_scroll_optionContext) Opt_scroll_option_no() IOpt_scroll_option_noContext { +func (s *Proc_exceptionsContext) Proc_exception(i int) IProc_exceptionContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_scroll_option_noContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(IProc_exceptionContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -189530,66 +187772,64 @@ func (s *Opt_scroll_optionContext) Opt_scroll_option_no() IOpt_scroll_option_noC return nil } - return t.(IOpt_scroll_option_noContext) + return t.(IProc_exceptionContext) } -func (s *Opt_scroll_optionContext) GetRuleContext() antlr.RuleContext { +func (s *Proc_exceptionsContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_scroll_optionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Proc_exceptionsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_scroll_optionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Proc_exceptionsContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_scroll_option(s) + listenerT.EnterProc_exceptions(s) } } -func (s *Opt_scroll_optionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Proc_exceptionsContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_scroll_option(s) + listenerT.ExitProc_exceptions(s) } } -func (s *Opt_scroll_optionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Proc_exceptionsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_scroll_option(s) + return t.VisitProc_exceptions(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_scroll_option() (localctx IOpt_scroll_optionContext) { - localctx = NewOpt_scroll_optionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1614, PostgreSQLParserRULE_opt_scroll_option) +func (p *PostgreSQLParser) Proc_exceptions() (localctx IProc_exceptionsContext) { + localctx = NewProc_exceptionsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1636, PostgreSQLParserRULE_proc_exceptions) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(11400) + p.SetState(11427) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserNO { + for ok := true; ok; ok = _la == PostgreSQLParserWHEN { { - p.SetState(11399) - p.Opt_scroll_option_no() + p.SetState(11426) + p.Proc_exception() } - } - { - p.SetState(11402) - p.Match(PostgreSQLParserSCROLL) + p.SetState(11429) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -189605,98 +187845,153 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_scroll_option_noContext is an interface to support dynamic dispatch. -type IOpt_scroll_option_noContext interface { +// IProc_exceptionContext is an interface to support dynamic dispatch. +type IProc_exceptionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - NO() antlr.TerminalNode + WHEN() antlr.TerminalNode + Proc_conditions() IProc_conditionsContext + THEN() antlr.TerminalNode + Proc_sect() IProc_sectContext - // IsOpt_scroll_option_noContext differentiates from other interfaces. - IsOpt_scroll_option_noContext() + // IsProc_exceptionContext differentiates from other interfaces. + IsProc_exceptionContext() } -type Opt_scroll_option_noContext struct { +type Proc_exceptionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_scroll_option_noContext() *Opt_scroll_option_noContext { - var p = new(Opt_scroll_option_noContext) +func NewEmptyProc_exceptionContext() *Proc_exceptionContext { + var p = new(Proc_exceptionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option_no + p.RuleIndex = PostgreSQLParserRULE_proc_exception return p } -func InitEmptyOpt_scroll_option_noContext(p *Opt_scroll_option_noContext) { +func InitEmptyProc_exceptionContext(p *Proc_exceptionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option_no + p.RuleIndex = PostgreSQLParserRULE_proc_exception } -func (*Opt_scroll_option_noContext) IsOpt_scroll_option_noContext() {} +func (*Proc_exceptionContext) IsProc_exceptionContext() {} -func NewOpt_scroll_option_noContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_scroll_option_noContext { - var p = new(Opt_scroll_option_noContext) +func NewProc_exceptionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_exceptionContext { + var p = new(Proc_exceptionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_scroll_option_no + p.RuleIndex = PostgreSQLParserRULE_proc_exception return p } -func (s *Opt_scroll_option_noContext) GetParser() antlr.Parser { return s.parser } +func (s *Proc_exceptionContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_scroll_option_noContext) NO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNO, 0) +func (s *Proc_exceptionContext) WHEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHEN, 0) } -func (s *Opt_scroll_option_noContext) GetRuleContext() antlr.RuleContext { +func (s *Proc_exceptionContext) Proc_conditions() IProc_conditionsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProc_conditionsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IProc_conditionsContext) +} + +func (s *Proc_exceptionContext) THEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTHEN, 0) +} + +func (s *Proc_exceptionContext) Proc_sect() IProc_sectContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProc_sectContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IProc_sectContext) +} + +func (s *Proc_exceptionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_scroll_option_noContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Proc_exceptionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_scroll_option_noContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Proc_exceptionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_scroll_option_no(s) + listenerT.EnterProc_exception(s) } } -func (s *Opt_scroll_option_noContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Proc_exceptionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_scroll_option_no(s) + listenerT.ExitProc_exception(s) } } -func (s *Opt_scroll_option_noContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Proc_exceptionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_scroll_option_no(s) + return t.VisitProc_exception(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_scroll_option_no() (localctx IOpt_scroll_option_noContext) { - localctx = NewOpt_scroll_option_noContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1616, PostgreSQLParserRULE_opt_scroll_option_no) +func (p *PostgreSQLParser) Proc_exception() (localctx IProc_exceptionContext) { + localctx = NewProc_exceptionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1638, PostgreSQLParserRULE_proc_exception) p.EnterOuterAlt(localctx, 1) { - p.SetState(11404) - p.Match(PostgreSQLParserNO) + p.SetState(11431) + p.Match(PostgreSQLParserWHEN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11432) + p.Proc_conditions() + } + { + p.SetState(11433) + p.Match(PostgreSQLParserTHEN) if p.HasError() { // Recognition error - abort rule goto errorExit } } + { + p.SetState(11434) + p.Proc_sect() + } errorExit: if p.HasError() { @@ -189711,119 +188006,86 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_fetchContext is an interface to support dynamic dispatch. -type IStmt_fetchContext interface { +// IProc_conditionsContext is an interface to support dynamic dispatch. +type IProc_conditionsContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser - // GetDirection returns the direction rule contexts. - GetDirection() IOpt_fetch_directionContext - - // SetDirection sets the direction rule contexts. - SetDirection(IOpt_fetch_directionContext) - // Getter signatures - FETCH() antlr.TerminalNode - Cursor_variable() ICursor_variableContext - INTO() antlr.TerminalNode - Into_target() IInto_targetContext - SEMI() antlr.TerminalNode - Opt_cursor_from() IOpt_cursor_fromContext - Opt_fetch_direction() IOpt_fetch_directionContext + AllProc_condition() []IProc_conditionContext + Proc_condition(i int) IProc_conditionContext + AllOR() []antlr.TerminalNode + OR(i int) antlr.TerminalNode - // IsStmt_fetchContext differentiates from other interfaces. - IsStmt_fetchContext() + // IsProc_conditionsContext differentiates from other interfaces. + IsProc_conditionsContext() } -type Stmt_fetchContext struct { +type Proc_conditionsContext struct { antlr.BaseParserRuleContext - parser antlr.Parser - direction IOpt_fetch_directionContext + parser antlr.Parser } -func NewEmptyStmt_fetchContext() *Stmt_fetchContext { - var p = new(Stmt_fetchContext) +func NewEmptyProc_conditionsContext() *Proc_conditionsContext { + var p = new(Proc_conditionsContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_fetch + p.RuleIndex = PostgreSQLParserRULE_proc_conditions return p } -func InitEmptyStmt_fetchContext(p *Stmt_fetchContext) { +func InitEmptyProc_conditionsContext(p *Proc_conditionsContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_fetch + p.RuleIndex = PostgreSQLParserRULE_proc_conditions } -func (*Stmt_fetchContext) IsStmt_fetchContext() {} +func (*Proc_conditionsContext) IsProc_conditionsContext() {} -func NewStmt_fetchContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_fetchContext { - var p = new(Stmt_fetchContext) +func NewProc_conditionsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_conditionsContext { + var p = new(Proc_conditionsContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_fetch + p.RuleIndex = PostgreSQLParserRULE_proc_conditions return p } -func (s *Stmt_fetchContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_fetchContext) GetDirection() IOpt_fetch_directionContext { return s.direction } - -func (s *Stmt_fetchContext) SetDirection(v IOpt_fetch_directionContext) { s.direction = v } - -func (s *Stmt_fetchContext) FETCH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFETCH, 0) -} +func (s *Proc_conditionsContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_fetchContext) Cursor_variable() ICursor_variableContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICursor_variableContext); ok { - t = ctx.(antlr.RuleContext) - break +func (s *Proc_conditionsContext) AllProc_condition() []IProc_conditionContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IProc_conditionContext); ok { + len++ } } - if t == nil { - return nil - } - - return t.(ICursor_variableContext) -} - -func (s *Stmt_fetchContext) INTO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINTO, 0) -} - -func (s *Stmt_fetchContext) Into_target() IInto_targetContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IInto_targetContext); ok { - t = ctx.(antlr.RuleContext) - break + tst := make([]IProc_conditionContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IProc_conditionContext); ok { + tst[i] = t.(IProc_conditionContext) + i++ } } - if t == nil { - return nil - } - - return t.(IInto_targetContext) -} - -func (s *Stmt_fetchContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) + return tst } -func (s *Stmt_fetchContext) Opt_cursor_from() IOpt_cursor_fromContext { +func (s *Proc_conditionsContext) Proc_condition(i int) IProc_conditionContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_cursor_fromContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(IProc_conditionContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -189831,121 +188093,84 @@ func (s *Stmt_fetchContext) Opt_cursor_from() IOpt_cursor_fromContext { return nil } - return t.(IOpt_cursor_fromContext) + return t.(IProc_conditionContext) } -func (s *Stmt_fetchContext) Opt_fetch_direction() IOpt_fetch_directionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_fetch_directionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Proc_conditionsContext) AllOR() []antlr.TerminalNode { + return s.GetTokens(PostgreSQLParserOR) +} - return t.(IOpt_fetch_directionContext) +func (s *Proc_conditionsContext) OR(i int) antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOR, i) } -func (s *Stmt_fetchContext) GetRuleContext() antlr.RuleContext { +func (s *Proc_conditionsContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_fetchContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Proc_conditionsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_fetchContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Proc_conditionsContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_fetch(s) + listenerT.EnterProc_conditions(s) } } -func (s *Stmt_fetchContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Proc_conditionsContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_fetch(s) + listenerT.ExitProc_conditions(s) } } -func (s *Stmt_fetchContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Proc_conditionsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_fetch(s) + return t.VisitProc_conditions(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_fetch() (localctx IStmt_fetchContext) { - localctx = NewStmt_fetchContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1618, PostgreSQLParserRULE_stmt_fetch) +func (p *PostgreSQLParser) Proc_conditions() (localctx IProc_conditionsContext) { + localctx = NewProc_conditionsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1640, PostgreSQLParserRULE_proc_conditions) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11406) - p.Match(PostgreSQLParserFETCH) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11408) - p.GetErrorHandler().Sync(p) - - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1135, p.GetParserRuleContext()) == 1 { - { - p.SetState(11407) - - var _x = p.Opt_fetch_direction() - - localctx.(*Stmt_fetchContext).direction = _x - } - - } else if p.HasError() { // JIM - goto errorExit + p.SetState(11436) + p.Proc_condition() } - p.SetState(11411) + p.SetState(11441) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserFROM || _la == PostgreSQLParserIN_P { + for _la == PostgreSQLParserOR { { - p.SetState(11410) - p.Opt_cursor_from() + p.SetState(11437) + p.Match(PostgreSQLParserOR) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - } - { - p.SetState(11413) - p.Cursor_variable() - } - { - p.SetState(11414) - p.Match(PostgreSQLParserINTO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + { + p.SetState(11438) + p.Proc_condition() } - } - { - p.SetState(11415) - p.Into_target() - } - { - p.SetState(11416) - p.Match(PostgreSQLParserSEMI) + + p.SetState(11443) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } + _la = p.GetTokenStream().LA(1) } errorExit: @@ -189961,56 +188186,58 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IInto_targetContext is an interface to support dynamic dispatch. -type IInto_targetContext interface { +// IProc_conditionContext is an interface to support dynamic dispatch. +type IProc_conditionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Expr_list() IExpr_listContext + Any_identifier() IAny_identifierContext + SQLSTATE() antlr.TerminalNode + Sconst() ISconstContext - // IsInto_targetContext differentiates from other interfaces. - IsInto_targetContext() + // IsProc_conditionContext differentiates from other interfaces. + IsProc_conditionContext() } -type Into_targetContext struct { +type Proc_conditionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyInto_targetContext() *Into_targetContext { - var p = new(Into_targetContext) +func NewEmptyProc_conditionContext() *Proc_conditionContext { + var p = new(Proc_conditionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_into_target + p.RuleIndex = PostgreSQLParserRULE_proc_condition return p } -func InitEmptyInto_targetContext(p *Into_targetContext) { +func InitEmptyProc_conditionContext(p *Proc_conditionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_into_target + p.RuleIndex = PostgreSQLParserRULE_proc_condition } -func (*Into_targetContext) IsInto_targetContext() {} +func (*Proc_conditionContext) IsProc_conditionContext() {} -func NewInto_targetContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Into_targetContext { - var p = new(Into_targetContext) +func NewProc_conditionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_conditionContext { + var p = new(Proc_conditionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_into_target + p.RuleIndex = PostgreSQLParserRULE_proc_condition return p } -func (s *Into_targetContext) GetParser() antlr.Parser { return s.parser } +func (s *Proc_conditionContext) GetParser() antlr.Parser { return s.parser } -func (s *Into_targetContext) Expr_list() IExpr_listContext { +func (s *Proc_conditionContext) Any_identifier() IAny_identifierContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_listContext); ok { + if _, ok := ctx.(IAny_identifierContext); ok { t = ctx.(antlr.RuleContext) break } @@ -190020,46 +188247,93 @@ func (s *Into_targetContext) Expr_list() IExpr_listContext { return nil } - return t.(IExpr_listContext) + return t.(IAny_identifierContext) } -func (s *Into_targetContext) GetRuleContext() antlr.RuleContext { +func (s *Proc_conditionContext) SQLSTATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSQLSTATE, 0) +} + +func (s *Proc_conditionContext) Sconst() ISconstContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISconstContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ISconstContext) +} + +func (s *Proc_conditionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Into_targetContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Proc_conditionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Into_targetContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Proc_conditionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterInto_target(s) + listenerT.EnterProc_condition(s) } } -func (s *Into_targetContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Proc_conditionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitInto_target(s) + listenerT.ExitProc_condition(s) } } -func (s *Into_targetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Proc_conditionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitInto_target(s) + return t.VisitProc_condition(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Into_target() (localctx IInto_targetContext) { - localctx = NewInto_targetContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1620, PostgreSQLParserRULE_into_target) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11418) - p.Expr_list() +func (p *PostgreSQLParser) Proc_condition() (localctx IProc_conditionContext) { + localctx = NewProc_conditionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1642, PostgreSQLParserRULE_proc_condition) + p.SetState(11447) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1147, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11444) + p.Any_identifier() + } + + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(11445) + p.Match(PostgreSQLParserSQLSTATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(11446) + p.Sconst() + } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -190075,107 +188349,105 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_cursor_fromContext is an interface to support dynamic dispatch. -type IOpt_cursor_fromContext interface { +// IOpt_block_labelContext is an interface to support dynamic dispatch. +type IOpt_block_labelContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FROM() antlr.TerminalNode - IN_P() antlr.TerminalNode + Label_decl() ILabel_declContext - // IsOpt_cursor_fromContext differentiates from other interfaces. - IsOpt_cursor_fromContext() + // IsOpt_block_labelContext differentiates from other interfaces. + IsOpt_block_labelContext() } -type Opt_cursor_fromContext struct { +type Opt_block_labelContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_cursor_fromContext() *Opt_cursor_fromContext { - var p = new(Opt_cursor_fromContext) +func NewEmptyOpt_block_labelContext() *Opt_block_labelContext { + var p = new(Opt_block_labelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_cursor_from + p.RuleIndex = PostgreSQLParserRULE_opt_block_label return p } -func InitEmptyOpt_cursor_fromContext(p *Opt_cursor_fromContext) { +func InitEmptyOpt_block_labelContext(p *Opt_block_labelContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_cursor_from + p.RuleIndex = PostgreSQLParserRULE_opt_block_label } -func (*Opt_cursor_fromContext) IsOpt_cursor_fromContext() {} +func (*Opt_block_labelContext) IsOpt_block_labelContext() {} -func NewOpt_cursor_fromContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_cursor_fromContext { - var p = new(Opt_cursor_fromContext) +func NewOpt_block_labelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_block_labelContext { + var p = new(Opt_block_labelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_cursor_from + p.RuleIndex = PostgreSQLParserRULE_opt_block_label return p } -func (s *Opt_cursor_fromContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_block_labelContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_cursor_fromContext) FROM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFROM, 0) -} +func (s *Opt_block_labelContext) Label_decl() ILabel_declContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILabel_declContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Opt_cursor_fromContext) IN_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIN_P, 0) + if t == nil { + return nil + } + + return t.(ILabel_declContext) } -func (s *Opt_cursor_fromContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_block_labelContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_cursor_fromContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_block_labelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_cursor_fromContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_block_labelContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_cursor_from(s) + listenerT.EnterOpt_block_label(s) } } -func (s *Opt_cursor_fromContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_block_labelContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_cursor_from(s) + listenerT.ExitOpt_block_label(s) } } -func (s *Opt_cursor_fromContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_block_labelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_cursor_from(s) + return t.VisitOpt_block_label(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_cursor_from() (localctx IOpt_cursor_fromContext) { - localctx = NewOpt_cursor_fromContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1622, PostgreSQLParserRULE_opt_cursor_from) - var _la int - +func (p *PostgreSQLParser) Opt_block_label() (localctx IOpt_block_labelContext) { + localctx = NewOpt_block_labelContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1644, PostgreSQLParserRULE_opt_block_label) p.EnterOuterAlt(localctx, 1) { - p.SetState(11420) - _la = p.GetTokenStream().LA(1) - - if !(_la == PostgreSQLParserFROM || _la == PostgreSQLParserIN_P) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() - } + p.SetState(11449) + p.Label_decl() } errorExit: @@ -190191,85 +188463,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_fetch_directionContext is an interface to support dynamic dispatch. -type IOpt_fetch_directionContext interface { +// IOpt_loop_labelContext is an interface to support dynamic dispatch. +type IOpt_loop_labelContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - NEXT() antlr.TerminalNode - PRIOR() antlr.TerminalNode - FIRST_P() antlr.TerminalNode - LAST_P() antlr.TerminalNode - ABSOLUTE_P() antlr.TerminalNode - A_expr() IA_exprContext - RELATIVE_P() antlr.TerminalNode - ALL() antlr.TerminalNode - FORWARD() antlr.TerminalNode - BACKWARD() antlr.TerminalNode + Label_decl() ILabel_declContext - // IsOpt_fetch_directionContext differentiates from other interfaces. - IsOpt_fetch_directionContext() + // IsOpt_loop_labelContext differentiates from other interfaces. + IsOpt_loop_labelContext() } -type Opt_fetch_directionContext struct { +type Opt_loop_labelContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_fetch_directionContext() *Opt_fetch_directionContext { - var p = new(Opt_fetch_directionContext) +func NewEmptyOpt_loop_labelContext() *Opt_loop_labelContext { + var p = new(Opt_loop_labelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_fetch_direction + p.RuleIndex = PostgreSQLParserRULE_opt_loop_label return p } -func InitEmptyOpt_fetch_directionContext(p *Opt_fetch_directionContext) { +func InitEmptyOpt_loop_labelContext(p *Opt_loop_labelContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_fetch_direction + p.RuleIndex = PostgreSQLParserRULE_opt_loop_label } -func (*Opt_fetch_directionContext) IsOpt_fetch_directionContext() {} +func (*Opt_loop_labelContext) IsOpt_loop_labelContext() {} -func NewOpt_fetch_directionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_fetch_directionContext { - var p = new(Opt_fetch_directionContext) +func NewOpt_loop_labelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_loop_labelContext { + var p = new(Opt_loop_labelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_fetch_direction + p.RuleIndex = PostgreSQLParserRULE_opt_loop_label return p } -func (s *Opt_fetch_directionContext) GetParser() antlr.Parser { return s.parser } - -func (s *Opt_fetch_directionContext) NEXT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNEXT, 0) -} - -func (s *Opt_fetch_directionContext) PRIOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRIOR, 0) -} - -func (s *Opt_fetch_directionContext) FIRST_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFIRST_P, 0) -} - -func (s *Opt_fetch_directionContext) LAST_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLAST_P, 0) -} - -func (s *Opt_fetch_directionContext) ABSOLUTE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserABSOLUTE_P, 0) -} +func (s *Opt_loop_labelContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_fetch_directionContext) A_expr() IA_exprContext { +func (s *Opt_loop_labelContext) Label_decl() ILabel_declContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { + if _, ok := ctx.(ILabel_declContext); ok { t = ctx.(antlr.RuleContext) break } @@ -190279,199 +188522,46 @@ func (s *Opt_fetch_directionContext) A_expr() IA_exprContext { return nil } - return t.(IA_exprContext) -} - -func (s *Opt_fetch_directionContext) RELATIVE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRELATIVE_P, 0) -} - -func (s *Opt_fetch_directionContext) ALL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALL, 0) -} - -func (s *Opt_fetch_directionContext) FORWARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFORWARD, 0) -} - -func (s *Opt_fetch_directionContext) BACKWARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBACKWARD, 0) + return t.(ILabel_declContext) } -func (s *Opt_fetch_directionContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_loop_labelContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_fetch_directionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_loop_labelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_fetch_directionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_loop_labelContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_fetch_direction(s) + listenerT.EnterOpt_loop_label(s) } } -func (s *Opt_fetch_directionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_loop_labelContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_fetch_direction(s) + listenerT.ExitOpt_loop_label(s) } } -func (s *Opt_fetch_directionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_loop_labelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_fetch_direction(s) + return t.VisitOpt_loop_label(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_fetch_direction() (localctx IOpt_fetch_directionContext) { - localctx = NewOpt_fetch_directionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1624, PostgreSQLParserRULE_opt_fetch_direction) - var _la int - - p.SetState(11437) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1138, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11422) - p.Match(PostgreSQLParserNEXT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11423) - p.Match(PostgreSQLParserPRIOR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(11424) - p.Match(PostgreSQLParserFIRST_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 4: - p.EnterOuterAlt(localctx, 4) - { - p.SetState(11425) - p.Match(PostgreSQLParserLAST_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 5: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(11426) - p.Match(PostgreSQLParserABSOLUTE_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11427) - p.A_expr() - } - - case 6: - p.EnterOuterAlt(localctx, 6) - { - p.SetState(11428) - p.Match(PostgreSQLParserRELATIVE_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11429) - p.A_expr() - } - - case 7: - p.EnterOuterAlt(localctx, 7) - { - p.SetState(11430) - p.A_expr() - } - - case 8: - p.EnterOuterAlt(localctx, 8) - { - p.SetState(11431) - p.Match(PostgreSQLParserALL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 9: - p.EnterOuterAlt(localctx, 9) - { - p.SetState(11432) - _la = p.GetTokenStream().LA(1) - - if !(_la == PostgreSQLParserBACKWARD || _la == PostgreSQLParserFORWARD) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() - } - } - p.SetState(11435) - p.GetErrorHandler().Sync(p) - - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1137, p.GetParserRuleContext()) == 1 { - { - p.SetState(11433) - p.A_expr() - } - - } else if p.HasError() { // JIM - goto errorExit - } else if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1137, p.GetParserRuleContext()) == 2 { - { - p.SetState(11434) - p.Match(PostgreSQLParserALL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - } else if p.HasError() { // JIM - goto errorExit - } - - case antlr.ATNInvalidAltNumber: - goto errorExit +func (p *PostgreSQLParser) Opt_loop_label() (localctx IOpt_loop_labelContext) { + localctx = NewOpt_loop_labelContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1646, PostgreSQLParserRULE_opt_loop_label) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11451) + p.Label_decl() } errorExit: @@ -190487,83 +188577,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_moveContext is an interface to support dynamic dispatch. -type IStmt_moveContext interface { +// IOpt_labelContext is an interface to support dynamic dispatch. +type IOpt_labelContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - MOVE() antlr.TerminalNode - Cursor_variable() ICursor_variableContext - SEMI() antlr.TerminalNode - Opt_fetch_direction() IOpt_fetch_directionContext + Any_identifier() IAny_identifierContext - // IsStmt_moveContext differentiates from other interfaces. - IsStmt_moveContext() + // IsOpt_labelContext differentiates from other interfaces. + IsOpt_labelContext() } -type Stmt_moveContext struct { +type Opt_labelContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_moveContext() *Stmt_moveContext { - var p = new(Stmt_moveContext) +func NewEmptyOpt_labelContext() *Opt_labelContext { + var p = new(Opt_labelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_move + p.RuleIndex = PostgreSQLParserRULE_opt_label return p } -func InitEmptyStmt_moveContext(p *Stmt_moveContext) { +func InitEmptyOpt_labelContext(p *Opt_labelContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_move + p.RuleIndex = PostgreSQLParserRULE_opt_label } -func (*Stmt_moveContext) IsStmt_moveContext() {} +func (*Opt_labelContext) IsOpt_labelContext() {} -func NewStmt_moveContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_moveContext { - var p = new(Stmt_moveContext) +func NewOpt_labelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_labelContext { + var p = new(Opt_labelContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_move + p.RuleIndex = PostgreSQLParserRULE_opt_label return p } -func (s *Stmt_moveContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_moveContext) MOVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMOVE, 0) -} - -func (s *Stmt_moveContext) Cursor_variable() ICursor_variableContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICursor_variableContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ICursor_variableContext) -} - -func (s *Stmt_moveContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) -} +func (s *Opt_labelContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_moveContext) Opt_fetch_direction() IOpt_fetch_directionContext { +func (s *Opt_labelContext) Any_identifier() IAny_identifierContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_fetch_directionContext); ok { + if _, ok := ctx.(IAny_identifierContext); ok { t = ctx.(antlr.RuleContext) break } @@ -190573,74 +188636,46 @@ func (s *Stmt_moveContext) Opt_fetch_direction() IOpt_fetch_directionContext { return nil } - return t.(IOpt_fetch_directionContext) + return t.(IAny_identifierContext) } -func (s *Stmt_moveContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_labelContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_moveContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_labelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_moveContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_labelContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_move(s) + listenerT.EnterOpt_label(s) } } -func (s *Stmt_moveContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_labelContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_move(s) + listenerT.ExitOpt_label(s) } } -func (s *Stmt_moveContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_labelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_move(s) + return t.VisitOpt_label(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_move() (localctx IStmt_moveContext) { - localctx = NewStmt_moveContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1626, PostgreSQLParserRULE_stmt_move) +func (p *PostgreSQLParser) Opt_label() (localctx IOpt_labelContext) { + localctx = NewOpt_labelContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1648, PostgreSQLParserRULE_opt_label) p.EnterOuterAlt(localctx, 1) { - p.SetState(11439) - p.Match(PostgreSQLParserMOVE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11441) - p.GetErrorHandler().Sync(p) - - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1139, p.GetParserRuleContext()) == 1 { - { - p.SetState(11440) - p.Opt_fetch_direction() - } - - } else if p.HasError() { // JIM - goto errorExit - } - { - p.SetState(11443) - p.Cursor_variable() - } - { - p.SetState(11444) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11453) + p.Any_identifier() } errorExit: @@ -190656,62 +188691,61 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_closeContext is an interface to support dynamic dispatch. -type IStmt_closeContext interface { +// IOpt_exitcondContext is an interface to support dynamic dispatch. +type IOpt_exitcondContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - CLOSE() antlr.TerminalNode - Cursor_variable() ICursor_variableContext - SEMI() antlr.TerminalNode + WHEN() antlr.TerminalNode + Expr_until_semi() IExpr_until_semiContext - // IsStmt_closeContext differentiates from other interfaces. - IsStmt_closeContext() + // IsOpt_exitcondContext differentiates from other interfaces. + IsOpt_exitcondContext() } -type Stmt_closeContext struct { +type Opt_exitcondContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_closeContext() *Stmt_closeContext { - var p = new(Stmt_closeContext) +func NewEmptyOpt_exitcondContext() *Opt_exitcondContext { + var p = new(Opt_exitcondContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_close + p.RuleIndex = PostgreSQLParserRULE_opt_exitcond return p } -func InitEmptyStmt_closeContext(p *Stmt_closeContext) { +func InitEmptyOpt_exitcondContext(p *Opt_exitcondContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_close + p.RuleIndex = PostgreSQLParserRULE_opt_exitcond } -func (*Stmt_closeContext) IsStmt_closeContext() {} +func (*Opt_exitcondContext) IsOpt_exitcondContext() {} -func NewStmt_closeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_closeContext { - var p = new(Stmt_closeContext) +func NewOpt_exitcondContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_exitcondContext { + var p = new(Opt_exitcondContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_close + p.RuleIndex = PostgreSQLParserRULE_opt_exitcond return p } -func (s *Stmt_closeContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_exitcondContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_closeContext) CLOSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE, 0) +func (s *Opt_exitcondContext) WHEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHEN, 0) } -func (s *Stmt_closeContext) Cursor_variable() ICursor_variableContext { +func (s *Opt_exitcondContext) Expr_until_semi() IExpr_until_semiContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICursor_variableContext); ok { + if _, ok := ctx.(IExpr_until_semiContext); ok { t = ctx.(antlr.RuleContext) break } @@ -190721,66 +188755,54 @@ func (s *Stmt_closeContext) Cursor_variable() ICursor_variableContext { return nil } - return t.(ICursor_variableContext) -} - -func (s *Stmt_closeContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) + return t.(IExpr_until_semiContext) } -func (s *Stmt_closeContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_exitcondContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_closeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_exitcondContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_closeContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_exitcondContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_close(s) + listenerT.EnterOpt_exitcond(s) } } -func (s *Stmt_closeContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_exitcondContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_close(s) + listenerT.ExitOpt_exitcond(s) } } -func (s *Stmt_closeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_exitcondContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_close(s) + return t.VisitOpt_exitcond(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_close() (localctx IStmt_closeContext) { - localctx = NewStmt_closeContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1628, PostgreSQLParserRULE_stmt_close) +func (p *PostgreSQLParser) Opt_exitcond() (localctx IOpt_exitcondContext) { + localctx = NewOpt_exitcondContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1650, PostgreSQLParserRULE_opt_exitcond) p.EnterOuterAlt(localctx, 1) { - p.SetState(11446) - p.Match(PostgreSQLParserCLOSE) + p.SetState(11455) + p.Match(PostgreSQLParserWHEN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(11447) - p.Cursor_variable() - } - { - p.SetState(11448) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11456) + p.Expr_until_semi() } errorExit: @@ -190796,110 +188818,141 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_nullContext is an interface to support dynamic dispatch. -type IStmt_nullContext interface { +// IAny_identifierContext is an interface to support dynamic dispatch. +type IAny_identifierContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - NULL_P() antlr.TerminalNode - SEMI() antlr.TerminalNode + Colid() IColidContext + Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext - // IsStmt_nullContext differentiates from other interfaces. - IsStmt_nullContext() + // IsAny_identifierContext differentiates from other interfaces. + IsAny_identifierContext() } -type Stmt_nullContext struct { +type Any_identifierContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_nullContext() *Stmt_nullContext { - var p = new(Stmt_nullContext) +func NewEmptyAny_identifierContext() *Any_identifierContext { + var p = new(Any_identifierContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_null + p.RuleIndex = PostgreSQLParserRULE_any_identifier return p } -func InitEmptyStmt_nullContext(p *Stmt_nullContext) { +func InitEmptyAny_identifierContext(p *Any_identifierContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_null + p.RuleIndex = PostgreSQLParserRULE_any_identifier } -func (*Stmt_nullContext) IsStmt_nullContext() {} +func (*Any_identifierContext) IsAny_identifierContext() {} -func NewStmt_nullContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_nullContext { - var p = new(Stmt_nullContext) +func NewAny_identifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Any_identifierContext { + var p = new(Any_identifierContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_null + p.RuleIndex = PostgreSQLParserRULE_any_identifier return p } -func (s *Stmt_nullContext) GetParser() antlr.Parser { return s.parser } +func (s *Any_identifierContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_nullContext) NULL_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNULL_P, 0) +func (s *Any_identifierContext) Colid() IColidContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IColidContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IColidContext) } -func (s *Stmt_nullContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Any_identifierContext) Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IPlsql_unreserved_keywordContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IPlsql_unreserved_keywordContext) } -func (s *Stmt_nullContext) GetRuleContext() antlr.RuleContext { +func (s *Any_identifierContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_nullContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Any_identifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_nullContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Any_identifierContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_null(s) + listenerT.EnterAny_identifier(s) } } -func (s *Stmt_nullContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Any_identifierContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_null(s) + listenerT.ExitAny_identifier(s) } } -func (s *Stmt_nullContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Any_identifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_null(s) + return t.VisitAny_identifier(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_null() (localctx IStmt_nullContext) { - localctx = NewStmt_nullContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1630, PostgreSQLParserRULE_stmt_null) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11450) - p.Match(PostgreSQLParserNULL_P) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } +func (p *PostgreSQLParser) Any_identifier() (localctx IAny_identifierContext) { + localctx = NewAny_identifierContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1652, PostgreSQLParserRULE_any_identifier) + p.SetState(11460) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - { - p.SetState(11451) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1148, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11458) + p.Colid() + } + + case 2: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(11459) + p.Plsql_unreserved_keyword() } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -190915,142 +188968,421 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_commitContext is an interface to support dynamic dispatch. -type IStmt_commitContext interface { +// IPlsql_unreserved_keywordContext is an interface to support dynamic dispatch. +type IPlsql_unreserved_keywordContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures + ABSOLUTE_P() antlr.TerminalNode + ALIAS() antlr.TerminalNode + AND() antlr.TerminalNode + ARRAY() antlr.TerminalNode + ASSERT() antlr.TerminalNode + BACKWARD() antlr.TerminalNode + CALL() antlr.TerminalNode + CHAIN() antlr.TerminalNode + CLOSE() antlr.TerminalNode + COLLATE() antlr.TerminalNode + COLUMN() antlr.TerminalNode COMMIT() antlr.TerminalNode - SEMI() antlr.TerminalNode - Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext + CONSTANT() antlr.TerminalNode + CONSTRAINT() antlr.TerminalNode + CONTINUE_P() antlr.TerminalNode + CURRENT_P() antlr.TerminalNode + CURSOR() antlr.TerminalNode + DEBUG() antlr.TerminalNode + DEFAULT() antlr.TerminalNode + DIAGNOSTICS() antlr.TerminalNode + DO() antlr.TerminalNode + DUMP() antlr.TerminalNode + ELSIF() antlr.TerminalNode + ERROR_P() antlr.TerminalNode + EXCEPTION() antlr.TerminalNode + EXIT() antlr.TerminalNode + FETCH() antlr.TerminalNode + FIRST_P() antlr.TerminalNode + FORWARD() antlr.TerminalNode + GET() antlr.TerminalNode + INFO() antlr.TerminalNode + INSERT() antlr.TerminalNode + IS() antlr.TerminalNode + LAST_P() antlr.TerminalNode + LOG() antlr.TerminalNode + MOVE() antlr.TerminalNode + NEXT() antlr.TerminalNode + NO() antlr.TerminalNode + NOTICE() antlr.TerminalNode + OPEN() antlr.TerminalNode + OPTION() antlr.TerminalNode + PERFORM() antlr.TerminalNode + PRINT_STRICT_PARAMS() antlr.TerminalNode + PRIOR() antlr.TerminalNode + QUERY() antlr.TerminalNode + RAISE() antlr.TerminalNode + RELATIVE_P() antlr.TerminalNode + RESET() antlr.TerminalNode + RETURN() antlr.TerminalNode + REVERSE() antlr.TerminalNode + ROLLBACK() antlr.TerminalNode + ROWTYPE() antlr.TerminalNode + SCHEMA() antlr.TerminalNode + SCROLL() antlr.TerminalNode + SET() antlr.TerminalNode + SLICE() antlr.TerminalNode + SQLSTATE() antlr.TerminalNode + STACKED() antlr.TerminalNode + TABLE() antlr.TerminalNode + TYPE_P() antlr.TerminalNode + USE_COLUMN() antlr.TerminalNode + USE_VARIABLE() antlr.TerminalNode + VARIABLE_CONFLICT() antlr.TerminalNode + WARNING() antlr.TerminalNode + OUTER_P() antlr.TerminalNode - // IsStmt_commitContext differentiates from other interfaces. - IsStmt_commitContext() + // IsPlsql_unreserved_keywordContext differentiates from other interfaces. + IsPlsql_unreserved_keywordContext() } -type Stmt_commitContext struct { +type Plsql_unreserved_keywordContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_commitContext() *Stmt_commitContext { - var p = new(Stmt_commitContext) +func NewEmptyPlsql_unreserved_keywordContext() *Plsql_unreserved_keywordContext { + var p = new(Plsql_unreserved_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_commit + p.RuleIndex = PostgreSQLParserRULE_plsql_unreserved_keyword return p } -func InitEmptyStmt_commitContext(p *Stmt_commitContext) { +func InitEmptyPlsql_unreserved_keywordContext(p *Plsql_unreserved_keywordContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_commit + p.RuleIndex = PostgreSQLParserRULE_plsql_unreserved_keyword } -func (*Stmt_commitContext) IsStmt_commitContext() {} +func (*Plsql_unreserved_keywordContext) IsPlsql_unreserved_keywordContext() {} -func NewStmt_commitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_commitContext { - var p = new(Stmt_commitContext) +func NewPlsql_unreserved_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Plsql_unreserved_keywordContext { + var p = new(Plsql_unreserved_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_commit + p.RuleIndex = PostgreSQLParserRULE_plsql_unreserved_keyword return p } -func (s *Stmt_commitContext) GetParser() antlr.Parser { return s.parser } +func (s *Plsql_unreserved_keywordContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_commitContext) COMMIT() antlr.TerminalNode { +func (s *Plsql_unreserved_keywordContext) ABSOLUTE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserABSOLUTE_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) ALIAS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALIAS, 0) +} + +func (s *Plsql_unreserved_keywordContext) AND() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAND, 0) +} + +func (s *Plsql_unreserved_keywordContext) ARRAY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserARRAY, 0) +} + +func (s *Plsql_unreserved_keywordContext) ASSERT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASSERT, 0) +} + +func (s *Plsql_unreserved_keywordContext) BACKWARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBACKWARD, 0) +} + +func (s *Plsql_unreserved_keywordContext) CALL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCALL, 0) +} + +func (s *Plsql_unreserved_keywordContext) CHAIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHAIN, 0) +} + +func (s *Plsql_unreserved_keywordContext) CLOSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE, 0) +} + +func (s *Plsql_unreserved_keywordContext) COLLATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLLATE, 0) +} + +func (s *Plsql_unreserved_keywordContext) COLUMN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLUMN, 0) +} + +func (s *Plsql_unreserved_keywordContext) COMMIT() antlr.TerminalNode { return s.GetToken(PostgreSQLParserCOMMIT, 0) } -func (s *Stmt_commitContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Plsql_unreserved_keywordContext) CONSTANT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONSTANT, 0) } -func (s *Stmt_commitContext) Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPlsql_opt_transaction_chainContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Plsql_unreserved_keywordContext) CONSTRAINT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONSTRAINT, 0) +} - if t == nil { - return nil - } +func (s *Plsql_unreserved_keywordContext) CONTINUE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONTINUE_P, 0) +} - return t.(IPlsql_opt_transaction_chainContext) +func (s *Plsql_unreserved_keywordContext) CURRENT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_P, 0) } -func (s *Stmt_commitContext) GetRuleContext() antlr.RuleContext { +func (s *Plsql_unreserved_keywordContext) CURSOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURSOR, 0) +} + +func (s *Plsql_unreserved_keywordContext) DEBUG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEBUG, 0) +} + +func (s *Plsql_unreserved_keywordContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFAULT, 0) +} + +func (s *Plsql_unreserved_keywordContext) DIAGNOSTICS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDIAGNOSTICS, 0) +} + +func (s *Plsql_unreserved_keywordContext) DO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDO, 0) +} + +func (s *Plsql_unreserved_keywordContext) DUMP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDUMP, 0) +} + +func (s *Plsql_unreserved_keywordContext) ELSIF() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserELSIF, 0) +} + +func (s *Plsql_unreserved_keywordContext) ERROR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserERROR_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) EXCEPTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCEPTION, 0) +} + +func (s *Plsql_unreserved_keywordContext) EXIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXIT, 0) +} + +func (s *Plsql_unreserved_keywordContext) FETCH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFETCH, 0) +} + +func (s *Plsql_unreserved_keywordContext) FIRST_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFIRST_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) FORWARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFORWARD, 0) +} + +func (s *Plsql_unreserved_keywordContext) GET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGET, 0) +} + +func (s *Plsql_unreserved_keywordContext) INFO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINFO, 0) +} + +func (s *Plsql_unreserved_keywordContext) INSERT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINSERT, 0) +} + +func (s *Plsql_unreserved_keywordContext) IS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIS, 0) +} + +func (s *Plsql_unreserved_keywordContext) LAST_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLAST_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) LOG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOG, 0) +} + +func (s *Plsql_unreserved_keywordContext) MOVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMOVE, 0) +} + +func (s *Plsql_unreserved_keywordContext) NEXT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNEXT, 0) +} + +func (s *Plsql_unreserved_keywordContext) NO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNO, 0) +} + +func (s *Plsql_unreserved_keywordContext) NOTICE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOTICE, 0) +} + +func (s *Plsql_unreserved_keywordContext) OPEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPEN, 0) +} + +func (s *Plsql_unreserved_keywordContext) OPTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPTION, 0) +} + +func (s *Plsql_unreserved_keywordContext) PERFORM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPERFORM, 0) +} + +func (s *Plsql_unreserved_keywordContext) PRINT_STRICT_PARAMS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRINT_STRICT_PARAMS, 0) +} + +func (s *Plsql_unreserved_keywordContext) PRIOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRIOR, 0) +} + +func (s *Plsql_unreserved_keywordContext) QUERY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserQUERY, 0) +} + +func (s *Plsql_unreserved_keywordContext) RAISE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRAISE, 0) +} + +func (s *Plsql_unreserved_keywordContext) RELATIVE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRELATIVE_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) RESET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRESET, 0) +} + +func (s *Plsql_unreserved_keywordContext) RETURN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRETURN, 0) +} + +func (s *Plsql_unreserved_keywordContext) REVERSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREVERSE, 0) +} + +func (s *Plsql_unreserved_keywordContext) ROLLBACK() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROLLBACK, 0) +} + +func (s *Plsql_unreserved_keywordContext) ROWTYPE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROWTYPE, 0) +} + +func (s *Plsql_unreserved_keywordContext) SCHEMA() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCHEMA, 0) +} + +func (s *Plsql_unreserved_keywordContext) SCROLL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCROLL, 0) +} + +func (s *Plsql_unreserved_keywordContext) SET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSET, 0) +} + +func (s *Plsql_unreserved_keywordContext) SLICE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSLICE, 0) +} + +func (s *Plsql_unreserved_keywordContext) SQLSTATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSQLSTATE, 0) +} + +func (s *Plsql_unreserved_keywordContext) STACKED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTACKED, 0) +} + +func (s *Plsql_unreserved_keywordContext) TABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTABLE, 0) +} + +func (s *Plsql_unreserved_keywordContext) TYPE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTYPE_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) USE_COLUMN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSE_COLUMN, 0) +} + +func (s *Plsql_unreserved_keywordContext) USE_VARIABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSE_VARIABLE, 0) +} + +func (s *Plsql_unreserved_keywordContext) VARIABLE_CONFLICT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVARIABLE_CONFLICT, 0) +} + +func (s *Plsql_unreserved_keywordContext) WARNING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWARNING, 0) +} + +func (s *Plsql_unreserved_keywordContext) OUTER_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOUTER_P, 0) +} + +func (s *Plsql_unreserved_keywordContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_commitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Plsql_unreserved_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_commitContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Plsql_unreserved_keywordContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_commit(s) + listenerT.EnterPlsql_unreserved_keyword(s) } } -func (s *Stmt_commitContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Plsql_unreserved_keywordContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_commit(s) + listenerT.ExitPlsql_unreserved_keyword(s) } } -func (s *Stmt_commitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Plsql_unreserved_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_commit(s) + return t.VisitPlsql_unreserved_keyword(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_commit() (localctx IStmt_commitContext) { - localctx = NewStmt_commitContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1632, PostgreSQLParserRULE_stmt_commit) +func (p *PostgreSQLParser) Plsql_unreserved_keyword() (localctx IPlsql_unreserved_keywordContext) { + localctx = NewPlsql_unreserved_keywordContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1654, PostgreSQLParserRULE_plsql_unreserved_keyword) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11453) - p.Match(PostgreSQLParserCOMMIT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11455) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserAND { - { - p.SetState(11454) - p.Plsql_opt_transaction_chain() - } + p.SetState(11462) + _la = p.GetTokenStream().LA(1) - } - { - p.SetState(11457) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + if !(((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2954928704629047304) != 0) || ((int64((_la-65)) & ^0x3f) == 0 && ((int64(1)<<(_la-65))&4503668481591553) != 0) || ((int64((_la-131)) & ^0x3f) == 0 && ((int64(1)<<(_la-131))&67698689) != 0) || ((int64((_la-198)) & ^0x3f) == 0 && ((int64(1)<<(_la-198))&576460752840294657) != 0) || ((int64((_la-265)) & ^0x3f) == 0 && ((int64(1)<<(_la-265))&-9223371967598428127) != 0) || ((int64((_la-347)) & ^0x3f) == 0 && ((int64(1)<<(_la-347))&137522872897) != 0) || _la == PostgreSQLParserTABLE || _la == PostgreSQLParserTYPE_P || ((int64((_la-532)) & ^0x3f) == 0 && ((int64(1)<<(_la-532))&805265407) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } @@ -191067,66 +189399,97 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_rollbackContext is an interface to support dynamic dispatch. -type IStmt_rollbackContext interface { +// ISql_expressionContext is an interface to support dynamic dispatch. +type ISql_expressionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ROLLBACK() antlr.TerminalNode - SEMI() antlr.TerminalNode - Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext + Opt_target_list() IOpt_target_listContext + Distinct_clause() IDistinct_clauseContext + From_clause() IFrom_clauseContext + Where_clause() IWhere_clauseContext + Group_clause() IGroup_clauseContext + Having_clause() IHaving_clauseContext + Window_clause() IWindow_clauseContext + Opt_sort_clause() IOpt_sort_clauseContext + Opt_select_limit() IOpt_select_limitContext + Opt_for_locking_clause() IOpt_for_locking_clauseContext - // IsStmt_rollbackContext differentiates from other interfaces. - IsStmt_rollbackContext() + // IsSql_expressionContext differentiates from other interfaces. + IsSql_expressionContext() } -type Stmt_rollbackContext struct { +type Sql_expressionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_rollbackContext() *Stmt_rollbackContext { - var p = new(Stmt_rollbackContext) +func NewEmptySql_expressionContext() *Sql_expressionContext { + var p = new(Sql_expressionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_rollback + p.RuleIndex = PostgreSQLParserRULE_sql_expression return p } -func InitEmptyStmt_rollbackContext(p *Stmt_rollbackContext) { +func InitEmptySql_expressionContext(p *Sql_expressionContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_rollback + p.RuleIndex = PostgreSQLParserRULE_sql_expression } -func (*Stmt_rollbackContext) IsStmt_rollbackContext() {} +func (*Sql_expressionContext) IsSql_expressionContext() {} -func NewStmt_rollbackContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_rollbackContext { - var p = new(Stmt_rollbackContext) +func NewSql_expressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Sql_expressionContext { + var p = new(Sql_expressionContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_rollback + p.RuleIndex = PostgreSQLParserRULE_sql_expression return p } -func (s *Stmt_rollbackContext) GetParser() antlr.Parser { return s.parser } +func (s *Sql_expressionContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_rollbackContext) ROLLBACK() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROLLBACK, 0) +func (s *Sql_expressionContext) Opt_target_list() IOpt_target_listContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_target_listContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_target_listContext) } -func (s *Stmt_rollbackContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) +func (s *Sql_expressionContext) Distinct_clause() IDistinct_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDistinct_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDistinct_clauseContext) } -func (s *Stmt_rollbackContext) Plsql_opt_transaction_chain() IPlsql_opt_transaction_chainContext { +func (s *Sql_expressionContext) From_clause() IFrom_clauseContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPlsql_opt_transaction_chainContext); ok { + if _, ok := ctx.(IFrom_clauseContext); ok { t = ctx.(antlr.RuleContext) break } @@ -191136,74 +189499,286 @@ func (s *Stmt_rollbackContext) Plsql_opt_transaction_chain() IPlsql_opt_transact return nil } - return t.(IPlsql_opt_transaction_chainContext) + return t.(IFrom_clauseContext) } -func (s *Stmt_rollbackContext) GetRuleContext() antlr.RuleContext { +func (s *Sql_expressionContext) Where_clause() IWhere_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IWhere_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IWhere_clauseContext) +} + +func (s *Sql_expressionContext) Group_clause() IGroup_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGroup_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IGroup_clauseContext) +} + +func (s *Sql_expressionContext) Having_clause() IHaving_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IHaving_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IHaving_clauseContext) +} + +func (s *Sql_expressionContext) Window_clause() IWindow_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IWindow_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IWindow_clauseContext) +} + +func (s *Sql_expressionContext) Opt_sort_clause() IOpt_sort_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_sort_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_sort_clauseContext) +} + +func (s *Sql_expressionContext) Opt_select_limit() IOpt_select_limitContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_select_limitContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_select_limitContext) +} + +func (s *Sql_expressionContext) Opt_for_locking_clause() IOpt_for_locking_clauseContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IOpt_for_locking_clauseContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IOpt_for_locking_clauseContext) +} + +func (s *Sql_expressionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_rollbackContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Sql_expressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_rollbackContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Sql_expressionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_rollback(s) + listenerT.EnterSql_expression(s) } } -func (s *Stmt_rollbackContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Sql_expressionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_rollback(s) + listenerT.ExitSql_expression(s) } } -func (s *Stmt_rollbackContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Sql_expressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_rollback(s) + return t.VisitSql_expression(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_rollback() (localctx IStmt_rollbackContext) { - localctx = NewStmt_rollbackContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1634, PostgreSQLParserRULE_stmt_rollback) +func (p *PostgreSQLParser) Sql_expression() (localctx ISql_expressionContext) { + localctx = NewSql_expressionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1656, PostgreSQLParserRULE_sql_expression) var _la int p.EnterOuterAlt(localctx, 1) + p.SetState(11465) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserDISTINCT { + { + p.SetState(11464) + p.Distinct_clause() + } + + } { - p.SetState(11459) - p.Match(PostgreSQLParserROLLBACK) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(11467) + p.Opt_target_list() + } + p.SetState(11469) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserFROM { + { + p.SetState(11468) + p.From_clause() } + } - p.SetState(11461) + p.SetState(11472) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserAND { + if _la == PostgreSQLParserWHERE { { - p.SetState(11460) - p.Plsql_opt_transaction_chain() + p.SetState(11471) + p.Where_clause() } } - { - p.SetState(11463) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(11475) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserGROUP_P { + { + p.SetState(11474) + p.Group_clause() + } + + } + p.SetState(11478) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserHAVING { + { + p.SetState(11477) + p.Having_clause() + } + + } + p.SetState(11481) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserWINDOW { + { + p.SetState(11480) + p.Window_clause() + } + + } + p.SetState(11484) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserORDER { + { + p.SetState(11483) + p.Opt_sort_clause() + } + + } + p.SetState(11487) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserFETCH || _la == PostgreSQLParserLIMIT || _la == PostgreSQLParserOFFSET { + { + p.SetState(11486) + p.Opt_select_limit() + } + + } + p.SetState(11490) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == PostgreSQLParserFOR { + { + p.SetState(11489) + p.Opt_for_locking_clause() } + } errorExit: @@ -191219,135 +189794,105 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IPlsql_opt_transaction_chainContext is an interface to support dynamic dispatch. -type IPlsql_opt_transaction_chainContext interface { +// IExpr_until_thenContext is an interface to support dynamic dispatch. +type IExpr_until_thenContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AND() antlr.TerminalNode - CHAIN() antlr.TerminalNode - NO() antlr.TerminalNode + Sql_expression() ISql_expressionContext - // IsPlsql_opt_transaction_chainContext differentiates from other interfaces. - IsPlsql_opt_transaction_chainContext() + // IsExpr_until_thenContext differentiates from other interfaces. + IsExpr_until_thenContext() } -type Plsql_opt_transaction_chainContext struct { +type Expr_until_thenContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyPlsql_opt_transaction_chainContext() *Plsql_opt_transaction_chainContext { - var p = new(Plsql_opt_transaction_chainContext) +func NewEmptyExpr_until_thenContext() *Expr_until_thenContext { + var p = new(Expr_until_thenContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_plsql_opt_transaction_chain + p.RuleIndex = PostgreSQLParserRULE_expr_until_then return p } -func InitEmptyPlsql_opt_transaction_chainContext(p *Plsql_opt_transaction_chainContext) { +func InitEmptyExpr_until_thenContext(p *Expr_until_thenContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_plsql_opt_transaction_chain + p.RuleIndex = PostgreSQLParserRULE_expr_until_then } -func (*Plsql_opt_transaction_chainContext) IsPlsql_opt_transaction_chainContext() {} +func (*Expr_until_thenContext) IsExpr_until_thenContext() {} -func NewPlsql_opt_transaction_chainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Plsql_opt_transaction_chainContext { - var p = new(Plsql_opt_transaction_chainContext) +func NewExpr_until_thenContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_thenContext { + var p = new(Expr_until_thenContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_plsql_opt_transaction_chain + p.RuleIndex = PostgreSQLParserRULE_expr_until_then return p } -func (s *Plsql_opt_transaction_chainContext) GetParser() antlr.Parser { return s.parser } +func (s *Expr_until_thenContext) GetParser() antlr.Parser { return s.parser } -func (s *Plsql_opt_transaction_chainContext) AND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAND, 0) -} +func (s *Expr_until_thenContext) Sql_expression() ISql_expressionContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISql_expressionContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *Plsql_opt_transaction_chainContext) CHAIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHAIN, 0) -} + if t == nil { + return nil + } -func (s *Plsql_opt_transaction_chainContext) NO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNO, 0) + return t.(ISql_expressionContext) } -func (s *Plsql_opt_transaction_chainContext) GetRuleContext() antlr.RuleContext { +func (s *Expr_until_thenContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Plsql_opt_transaction_chainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Expr_until_thenContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Plsql_opt_transaction_chainContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_thenContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterPlsql_opt_transaction_chain(s) + listenerT.EnterExpr_until_then(s) } } -func (s *Plsql_opt_transaction_chainContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_thenContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitPlsql_opt_transaction_chain(s) + listenerT.ExitExpr_until_then(s) } } -func (s *Plsql_opt_transaction_chainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Expr_until_thenContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitPlsql_opt_transaction_chain(s) + return t.VisitExpr_until_then(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Plsql_opt_transaction_chain() (localctx IPlsql_opt_transaction_chainContext) { - localctx = NewPlsql_opt_transaction_chainContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1636, PostgreSQLParserRULE_plsql_opt_transaction_chain) - var _la int - +func (p *PostgreSQLParser) Expr_until_then() (localctx IExpr_until_thenContext) { + localctx = NewExpr_until_thenContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1658, PostgreSQLParserRULE_expr_until_then) p.EnterOuterAlt(localctx, 1) { - p.SetState(11465) - p.Match(PostgreSQLParserAND) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11467) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == PostgreSQLParserNO { - { - p.SetState(11466) - p.Match(PostgreSQLParserNO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - } - { - p.SetState(11469) - p.Match(PostgreSQLParserCHAIN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(11492) + p.Sql_expression() } errorExit: @@ -191363,66 +189908,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStmt_setContext is an interface to support dynamic dispatch. -type IStmt_setContext interface { +// IExpr_until_semiContext is an interface to support dynamic dispatch. +type IExpr_until_semiContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - SET() antlr.TerminalNode - Any_name() IAny_nameContext - TO() antlr.TerminalNode - DEFAULT() antlr.TerminalNode - SEMI() antlr.TerminalNode - RESET() antlr.TerminalNode - ALL() antlr.TerminalNode + Sql_expression() ISql_expressionContext - // IsStmt_setContext differentiates from other interfaces. - IsStmt_setContext() + // IsExpr_until_semiContext differentiates from other interfaces. + IsExpr_until_semiContext() } -type Stmt_setContext struct { +type Expr_until_semiContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStmt_setContext() *Stmt_setContext { - var p = new(Stmt_setContext) +func NewEmptyExpr_until_semiContext() *Expr_until_semiContext { + var p = new(Expr_until_semiContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_set + p.RuleIndex = PostgreSQLParserRULE_expr_until_semi return p } -func InitEmptyStmt_setContext(p *Stmt_setContext) { +func InitEmptyExpr_until_semiContext(p *Expr_until_semiContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_stmt_set + p.RuleIndex = PostgreSQLParserRULE_expr_until_semi } -func (*Stmt_setContext) IsStmt_setContext() {} +func (*Expr_until_semiContext) IsExpr_until_semiContext() {} -func NewStmt_setContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Stmt_setContext { - var p = new(Stmt_setContext) +func NewExpr_until_semiContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_semiContext { + var p = new(Expr_until_semiContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_stmt_set + p.RuleIndex = PostgreSQLParserRULE_expr_until_semi return p } -func (s *Stmt_setContext) GetParser() antlr.Parser { return s.parser } - -func (s *Stmt_setContext) SET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSET, 0) -} +func (s *Expr_until_semiContext) GetParser() antlr.Parser { return s.parser } -func (s *Stmt_setContext) Any_name() IAny_nameContext { +func (s *Expr_until_semiContext) Sql_expression() ISql_expressionContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_nameContext); ok { + if _, ok := ctx.(ISql_expressionContext); ok { t = ctx.(antlr.RuleContext) break } @@ -191432,157 +189967,46 @@ func (s *Stmt_setContext) Any_name() IAny_nameContext { return nil } - return t.(IAny_nameContext) -} - -func (s *Stmt_setContext) TO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTO, 0) -} - -func (s *Stmt_setContext) DEFAULT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFAULT, 0) -} - -func (s *Stmt_setContext) SEMI() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSEMI, 0) -} - -func (s *Stmt_setContext) RESET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRESET, 0) -} - -func (s *Stmt_setContext) ALL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALL, 0) + return t.(ISql_expressionContext) } -func (s *Stmt_setContext) GetRuleContext() antlr.RuleContext { +func (s *Expr_until_semiContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Stmt_setContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Expr_until_semiContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Stmt_setContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_semiContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterStmt_set(s) + listenerT.EnterExpr_until_semi(s) } } -func (s *Stmt_setContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_semiContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitStmt_set(s) + listenerT.ExitExpr_until_semi(s) } } -func (s *Stmt_setContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Expr_until_semiContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitStmt_set(s) + return t.VisitExpr_until_semi(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Stmt_set() (localctx IStmt_setContext) { - localctx = NewStmt_setContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1638, PostgreSQLParserRULE_stmt_set) - p.SetState(11483) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserSET: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11471) - p.Match(PostgreSQLParserSET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11472) - p.Any_name() - } - { - p.SetState(11473) - p.Match(PostgreSQLParserTO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11474) - p.Match(PostgreSQLParserDEFAULT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11475) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case PostgreSQLParserRESET: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11477) - p.Match(PostgreSQLParserRESET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11480) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: - { - p.SetState(11478) - p.Any_name() - } - - case PostgreSQLParserALL: - { - p.SetState(11479) - p.Match(PostgreSQLParserALL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit - } - { - p.SetState(11482) - p.Match(PostgreSQLParserSEMI) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit +func (p *PostgreSQLParser) Expr_until_semi() (localctx IExpr_until_semiContext) { + localctx = NewExpr_until_semiContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1660, PostgreSQLParserRULE_expr_until_semi) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11494) + p.Sql_expression() } errorExit: @@ -191598,57 +190022,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICursor_variableContext is an interface to support dynamic dispatch. -type ICursor_variableContext interface { +// IExpr_until_rightbracketContext is an interface to support dynamic dispatch. +type IExpr_until_rightbracketContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Colid() IColidContext - PARAM() antlr.TerminalNode + A_expr() IA_exprContext - // IsCursor_variableContext differentiates from other interfaces. - IsCursor_variableContext() + // IsExpr_until_rightbracketContext differentiates from other interfaces. + IsExpr_until_rightbracketContext() } -type Cursor_variableContext struct { +type Expr_until_rightbracketContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCursor_variableContext() *Cursor_variableContext { - var p = new(Cursor_variableContext) +func NewEmptyExpr_until_rightbracketContext() *Expr_until_rightbracketContext { + var p = new(Expr_until_rightbracketContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_cursor_variable + p.RuleIndex = PostgreSQLParserRULE_expr_until_rightbracket return p } -func InitEmptyCursor_variableContext(p *Cursor_variableContext) { +func InitEmptyExpr_until_rightbracketContext(p *Expr_until_rightbracketContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_cursor_variable + p.RuleIndex = PostgreSQLParserRULE_expr_until_rightbracket } -func (*Cursor_variableContext) IsCursor_variableContext() {} +func (*Expr_until_rightbracketContext) IsExpr_until_rightbracketContext() {} -func NewCursor_variableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Cursor_variableContext { - var p = new(Cursor_variableContext) +func NewExpr_until_rightbracketContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_rightbracketContext { + var p = new(Expr_until_rightbracketContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_cursor_variable + p.RuleIndex = PostgreSQLParserRULE_expr_until_rightbracket return p } -func (s *Cursor_variableContext) GetParser() antlr.Parser { return s.parser } +func (s *Expr_until_rightbracketContext) GetParser() antlr.Parser { return s.parser } -func (s *Cursor_variableContext) Colid() IColidContext { +func (s *Expr_until_rightbracketContext) A_expr() IA_exprContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IColidContext); ok { + if _, ok := ctx.(IA_exprContext); ok { t = ctx.(antlr.RuleContext) break } @@ -191658,74 +190081,46 @@ func (s *Cursor_variableContext) Colid() IColidContext { return nil } - return t.(IColidContext) -} - -func (s *Cursor_variableContext) PARAM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPARAM, 0) + return t.(IA_exprContext) } -func (s *Cursor_variableContext) GetRuleContext() antlr.RuleContext { +func (s *Expr_until_rightbracketContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Cursor_variableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Expr_until_rightbracketContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Cursor_variableContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_rightbracketContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterCursor_variable(s) + listenerT.EnterExpr_until_rightbracket(s) } } -func (s *Cursor_variableContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_rightbracketContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitCursor_variable(s) + listenerT.ExitExpr_until_rightbracket(s) } } -func (s *Cursor_variableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Expr_until_rightbracketContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitCursor_variable(s) + return t.VisitExpr_until_rightbracket(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Cursor_variable() (localctx ICursor_variableContext) { - localctx = NewCursor_variableContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1640, PostgreSQLParserRULE_cursor_variable) - p.SetState(11487) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case PostgreSQLParserAND, PostgreSQLParserARRAY, PostgreSQLParserCOLLATE, PostgreSQLParserCOLUMN, PostgreSQLParserCONSTRAINT, PostgreSQLParserDEFAULT, PostgreSQLParserDO, PostgreSQLParserFETCH, PostgreSQLParserTABLE, PostgreSQLParserJSON_OBJECT, PostgreSQLParserJSON_ARRAY, PostgreSQLParserJSON, PostgreSQLParserSTRING, PostgreSQLParserKEYS, PostgreSQLParserABSENT, PostgreSQLParserIS, PostgreSQLParserLEFT, PostgreSQLParserOUTER_P, PostgreSQLParserOVER, PostgreSQLParserRIGHT, PostgreSQLParserABORT_P, PostgreSQLParserABSOLUTE_P, PostgreSQLParserACCESS, PostgreSQLParserACTION, PostgreSQLParserADD_P, PostgreSQLParserADMIN, PostgreSQLParserAFTER, PostgreSQLParserAGGREGATE, PostgreSQLParserALSO, PostgreSQLParserALTER, PostgreSQLParserALWAYS, PostgreSQLParserASSERTION, PostgreSQLParserASSIGNMENT, PostgreSQLParserAT, PostgreSQLParserATTRIBUTE, PostgreSQLParserBACKWARD, PostgreSQLParserBEFORE, PostgreSQLParserBEGIN_P, PostgreSQLParserBY, PostgreSQLParserCACHE, PostgreSQLParserCALLED, PostgreSQLParserCASCADE, PostgreSQLParserCASCADED, PostgreSQLParserCATALOG, PostgreSQLParserCHAIN, PostgreSQLParserCHARACTERISTICS, PostgreSQLParserCHECKPOINT, PostgreSQLParserCLASS, PostgreSQLParserCLOSE, PostgreSQLParserCLUSTER, PostgreSQLParserCOMMENT, PostgreSQLParserCOMMENTS, PostgreSQLParserCOMMIT, PostgreSQLParserCOMMITTED, PostgreSQLParserCONFIGURATION, PostgreSQLParserCONNECTION, PostgreSQLParserCONSTRAINTS, PostgreSQLParserCONTENT_P, PostgreSQLParserCONTINUE_P, PostgreSQLParserCONVERSION_P, PostgreSQLParserCOPY, PostgreSQLParserCOST, PostgreSQLParserCSV, PostgreSQLParserCURSOR, PostgreSQLParserCYCLE, PostgreSQLParserDATA_P, PostgreSQLParserDATABASE, PostgreSQLParserDAY_P, PostgreSQLParserDEALLOCATE, PostgreSQLParserDECLARE, PostgreSQLParserDEFAULTS, PostgreSQLParserDEFERRED, PostgreSQLParserDEFINER, PostgreSQLParserDELETE_P, PostgreSQLParserDELIMITER, PostgreSQLParserDELIMITERS, PostgreSQLParserDICTIONARY, PostgreSQLParserDISABLE_P, PostgreSQLParserDISCARD, PostgreSQLParserDOCUMENT_P, PostgreSQLParserDOMAIN_P, PostgreSQLParserDOUBLE_P, PostgreSQLParserDROP, PostgreSQLParserEACH, PostgreSQLParserENABLE_P, PostgreSQLParserENCODING, PostgreSQLParserENCRYPTED, PostgreSQLParserENUM_P, PostgreSQLParserESCAPE, PostgreSQLParserEVENT, PostgreSQLParserEXCLUDE, PostgreSQLParserEXCLUDING, PostgreSQLParserEXCLUSIVE, PostgreSQLParserEXECUTE, PostgreSQLParserEXPLAIN, PostgreSQLParserEXTENSION, PostgreSQLParserEXTERNAL, PostgreSQLParserFAMILY, PostgreSQLParserFIRST_P, PostgreSQLParserFOLLOWING, PostgreSQLParserFORCE, PostgreSQLParserFORWARD, PostgreSQLParserFUNCTION, PostgreSQLParserFUNCTIONS, PostgreSQLParserGLOBAL, PostgreSQLParserGRANTED, PostgreSQLParserHANDLER, PostgreSQLParserHEADER_P, PostgreSQLParserHOLD, PostgreSQLParserHOUR_P, PostgreSQLParserIDENTITY_P, PostgreSQLParserIF_P, PostgreSQLParserIMMEDIATE, PostgreSQLParserIMMUTABLE, PostgreSQLParserIMPLICIT_P, PostgreSQLParserINCLUDING, PostgreSQLParserINCREMENT, PostgreSQLParserINDEX, PostgreSQLParserINDEXES, PostgreSQLParserINHERIT, PostgreSQLParserINHERITS, PostgreSQLParserINLINE_P, PostgreSQLParserINSENSITIVE, PostgreSQLParserINSERT, PostgreSQLParserINSTEAD, PostgreSQLParserINVOKER, PostgreSQLParserISOLATION, PostgreSQLParserKEY, PostgreSQLParserLABEL, PostgreSQLParserLANGUAGE, PostgreSQLParserLARGE_P, PostgreSQLParserLAST_P, PostgreSQLParserLEAKPROOF, PostgreSQLParserLEVEL, PostgreSQLParserLISTEN, PostgreSQLParserLOAD, PostgreSQLParserLOCAL, PostgreSQLParserLOCATION, PostgreSQLParserLOCK_P, PostgreSQLParserMAPPING, PostgreSQLParserMATCH, PostgreSQLParserMATERIALIZED, PostgreSQLParserMAXVALUE, PostgreSQLParserMINUTE_P, PostgreSQLParserMINVALUE, PostgreSQLParserMODE, PostgreSQLParserMONTH_P, PostgreSQLParserMOVE, PostgreSQLParserNAME_P, PostgreSQLParserNAMES, PostgreSQLParserNEXT, PostgreSQLParserNO, PostgreSQLParserNOTHING, PostgreSQLParserNOTIFY, PostgreSQLParserNOWAIT, PostgreSQLParserNULLS_P, PostgreSQLParserOBJECT_P, PostgreSQLParserOF, PostgreSQLParserOFF, PostgreSQLParserOIDS, PostgreSQLParserOPERATOR, PostgreSQLParserOPTION, PostgreSQLParserOPTIONS, PostgreSQLParserOWNED, PostgreSQLParserOWNER, PostgreSQLParserPARSER, PostgreSQLParserPARTIAL, PostgreSQLParserPARTITION, PostgreSQLParserPASSING, PostgreSQLParserPASSWORD, PostgreSQLParserPLANS, PostgreSQLParserPRECEDING, PostgreSQLParserPREPARE, PostgreSQLParserPREPARED, PostgreSQLParserPRESERVE, PostgreSQLParserPRIOR, PostgreSQLParserPRIVILEGES, PostgreSQLParserPROCEDURAL, PostgreSQLParserPROCEDURE, PostgreSQLParserPROGRAM, PostgreSQLParserQUOTE, PostgreSQLParserRANGE, PostgreSQLParserREAD, PostgreSQLParserREASSIGN, PostgreSQLParserRECHECK, PostgreSQLParserRECURSIVE, PostgreSQLParserREF, PostgreSQLParserREFRESH, PostgreSQLParserREINDEX, PostgreSQLParserRELATIVE_P, PostgreSQLParserRELEASE, PostgreSQLParserRENAME, PostgreSQLParserREPEATABLE, PostgreSQLParserREPLACE, PostgreSQLParserREPLICA, PostgreSQLParserRESET, PostgreSQLParserRESTART, PostgreSQLParserRESTRICT, PostgreSQLParserRETURNS, PostgreSQLParserREVOKE, PostgreSQLParserROLE, PostgreSQLParserROLLBACK, PostgreSQLParserROWS, PostgreSQLParserRULE, PostgreSQLParserSAVEPOINT, PostgreSQLParserSCHEMA, PostgreSQLParserSCROLL, PostgreSQLParserSEARCH, PostgreSQLParserSECOND_P, PostgreSQLParserSECURITY, PostgreSQLParserSEQUENCE, PostgreSQLParserSEQUENCES, PostgreSQLParserSERIALIZABLE, PostgreSQLParserSERVER, PostgreSQLParserSESSION, PostgreSQLParserSET, PostgreSQLParserSHARE, PostgreSQLParserSHOW, PostgreSQLParserSIMPLE, PostgreSQLParserSNAPSHOT, PostgreSQLParserSTABLE, PostgreSQLParserSTANDALONE_P, PostgreSQLParserSTART, PostgreSQLParserSTATEMENT, PostgreSQLParserSTATISTICS, PostgreSQLParserSTDIN, PostgreSQLParserSTDOUT, PostgreSQLParserSTORAGE, PostgreSQLParserSTRICT_P, PostgreSQLParserSTRIP_P, PostgreSQLParserSYSID, PostgreSQLParserSYSTEM_P, PostgreSQLParserTABLES, PostgreSQLParserTABLESPACE, PostgreSQLParserTEMP, PostgreSQLParserTEMPLATE, PostgreSQLParserTEMPORARY, PostgreSQLParserTEXT_P, PostgreSQLParserTRANSACTION, PostgreSQLParserTRIGGER, PostgreSQLParserTRUNCATE, PostgreSQLParserTRUSTED, PostgreSQLParserTYPE_P, PostgreSQLParserTYPES_P, PostgreSQLParserUNBOUNDED, PostgreSQLParserUNCOMMITTED, PostgreSQLParserUNENCRYPTED, PostgreSQLParserUNKNOWN, PostgreSQLParserUNLISTEN, PostgreSQLParserUNLOGGED, PostgreSQLParserUNTIL, PostgreSQLParserUPDATE, PostgreSQLParserVACUUM, PostgreSQLParserVALID, PostgreSQLParserVALIDATE, PostgreSQLParserVALIDATOR, PostgreSQLParserVARYING, PostgreSQLParserVERSION_P, PostgreSQLParserVIEW, PostgreSQLParserVOLATILE, PostgreSQLParserWHITESPACE_P, PostgreSQLParserWITHOUT, PostgreSQLParserWORK, PostgreSQLParserWRAPPER, PostgreSQLParserWRITE, PostgreSQLParserXML_P, PostgreSQLParserYEAR_P, PostgreSQLParserYES_P, PostgreSQLParserZONE, PostgreSQLParserATOMIC_P, PostgreSQLParserBETWEEN, PostgreSQLParserBIGINT, PostgreSQLParserBIT, PostgreSQLParserBOOLEAN_P, PostgreSQLParserCHAR_P, PostgreSQLParserCHARACTER, PostgreSQLParserCOALESCE, PostgreSQLParserDEC, PostgreSQLParserDECIMAL_P, PostgreSQLParserEXISTS, PostgreSQLParserEXTRACT, PostgreSQLParserFLOAT_P, PostgreSQLParserGREATEST, PostgreSQLParserINOUT, PostgreSQLParserINT_P, PostgreSQLParserINTEGER, PostgreSQLParserINTERVAL, PostgreSQLParserLEAST, PostgreSQLParserNATIONAL, PostgreSQLParserNCHAR, PostgreSQLParserNONE, PostgreSQLParserNULLIF, PostgreSQLParserNUMERIC, PostgreSQLParserOVERLAY, PostgreSQLParserPARAMETER, PostgreSQLParserPOSITION, PostgreSQLParserPRECISION, PostgreSQLParserREAL, PostgreSQLParserROW, PostgreSQLParserSETOF, PostgreSQLParserSMALLINT, PostgreSQLParserSUBSTRING, PostgreSQLParserTIME, PostgreSQLParserTIMESTAMP, PostgreSQLParserTREAT, PostgreSQLParserTRIM, PostgreSQLParserVALUES, PostgreSQLParserVARCHAR, PostgreSQLParserXMLATTRIBUTES, PostgreSQLParserXMLCOMMENT, PostgreSQLParserXMLAGG, PostgreSQLParserXML_IS_WELL_FORMED, PostgreSQLParserXML_IS_WELL_FORMED_DOCUMENT, PostgreSQLParserXML_IS_WELL_FORMED_CONTENT, PostgreSQLParserXPATH, PostgreSQLParserXPATH_EXISTS, PostgreSQLParserXMLCONCAT, PostgreSQLParserXMLELEMENT, PostgreSQLParserXMLEXISTS, PostgreSQLParserXMLFOREST, PostgreSQLParserXMLPARSE, PostgreSQLParserXMLPI, PostgreSQLParserXMLROOT, PostgreSQLParserXMLSERIALIZE, PostgreSQLParserCALL, PostgreSQLParserCURRENT_P, PostgreSQLParserATTACH, PostgreSQLParserDETACH, PostgreSQLParserEXPRESSION, PostgreSQLParserGENERATED, PostgreSQLParserLOGGED, PostgreSQLParserSTORED, PostgreSQLParserINCLUDE, PostgreSQLParserROUTINE, PostgreSQLParserTRANSFORM, PostgreSQLParserIMPORT_P, PostgreSQLParserPOLICY, PostgreSQLParserMETHOD, PostgreSQLParserREFERENCING, PostgreSQLParserNEW, PostgreSQLParserOLD, PostgreSQLParserVALUE_P, PostgreSQLParserSUBSCRIPTION, PostgreSQLParserPUBLICATION, PostgreSQLParserOUT_P, PostgreSQLParserROUTINES, PostgreSQLParserSCHEMAS, PostgreSQLParserPROCEDURES, PostgreSQLParserINPUT_P, PostgreSQLParserSUPPORT, PostgreSQLParserPARALLEL, PostgreSQLParserSQL_P, PostgreSQLParserDEPENDS, PostgreSQLParserOVERRIDING, PostgreSQLParserCONFLICT, PostgreSQLParserSKIP_P, PostgreSQLParserLOCKED, PostgreSQLParserTIES, PostgreSQLParserROLLUP, PostgreSQLParserCUBE, PostgreSQLParserGROUPING, PostgreSQLParserSETS, PostgreSQLParserORDINALITY, PostgreSQLParserXMLTABLE, PostgreSQLParserCOLUMNS, PostgreSQLParserXMLNAMESPACES, PostgreSQLParserROWTYPE, PostgreSQLParserNORMALIZED, PostgreSQLParserWITHIN, PostgreSQLParserFILTER, PostgreSQLParserGROUPS, PostgreSQLParserOTHERS, PostgreSQLParserNFC, PostgreSQLParserNFD, PostgreSQLParserNFKC, PostgreSQLParserNFKD, PostgreSQLParserUESCAPE, PostgreSQLParserVIEWS, PostgreSQLParserNORMALIZE, PostgreSQLParserDUMP, PostgreSQLParserPRINT_STRICT_PARAMS, PostgreSQLParserVARIABLE_CONFLICT, PostgreSQLParserERROR, PostgreSQLParserUSE_VARIABLE, PostgreSQLParserUSE_COLUMN, PostgreSQLParserALIAS, PostgreSQLParserCONSTANT, PostgreSQLParserPERFORM, PostgreSQLParserGET, PostgreSQLParserDIAGNOSTICS, PostgreSQLParserSTACKED, PostgreSQLParserELSIF, PostgreSQLParserREVERSE, PostgreSQLParserSLICE, PostgreSQLParserEXIT, PostgreSQLParserRETURN, PostgreSQLParserQUERY, PostgreSQLParserRAISE, PostgreSQLParserSQLSTATE, PostgreSQLParserDEBUG, PostgreSQLParserLOG, PostgreSQLParserINFO, PostgreSQLParserNOTICE, PostgreSQLParserWARNING, PostgreSQLParserEXCEPTION, PostgreSQLParserASSERT, PostgreSQLParserOPEN, PostgreSQLParserABS, PostgreSQLParserCBRT, PostgreSQLParserCEIL, PostgreSQLParserCEILING, PostgreSQLParserDEGREES, PostgreSQLParserDIV, PostgreSQLParserEXP, PostgreSQLParserFACTORIAL, PostgreSQLParserFLOOR, PostgreSQLParserGCD, PostgreSQLParserLCM, PostgreSQLParserLN, PostgreSQLParserLOG10, PostgreSQLParserMIN_SCALE, PostgreSQLParserMOD, PostgreSQLParserPI, PostgreSQLParserPOWER, PostgreSQLParserRADIANS, PostgreSQLParserROUND, PostgreSQLParserSCALE, PostgreSQLParserSIGN, PostgreSQLParserSQRT, PostgreSQLParserTRIM_SCALE, PostgreSQLParserTRUNC, PostgreSQLParserWIDTH_BUCKET, PostgreSQLParserRANDOM, PostgreSQLParserSETSEED, PostgreSQLParserACOS, PostgreSQLParserACOSD, PostgreSQLParserASIN, PostgreSQLParserASIND, PostgreSQLParserATAN, PostgreSQLParserATAND, PostgreSQLParserATAN2, PostgreSQLParserATAN2D, PostgreSQLParserCOS, PostgreSQLParserCOSD, PostgreSQLParserCOT, PostgreSQLParserCOTD, PostgreSQLParserSIN, PostgreSQLParserSIND, PostgreSQLParserTAN, PostgreSQLParserTAND, PostgreSQLParserSINH, PostgreSQLParserCOSH, PostgreSQLParserTANH, PostgreSQLParserASINH, PostgreSQLParserACOSH, PostgreSQLParserATANH, PostgreSQLParserBIT_LENGTH, PostgreSQLParserCHAR_LENGTH, PostgreSQLParserCHARACTER_LENGTH, PostgreSQLParserLOWER, PostgreSQLParserOCTET_LENGTH, PostgreSQLParserUPPER, PostgreSQLParserASCII, PostgreSQLParserBTRIM, PostgreSQLParserCHR, PostgreSQLParserCONCAT, PostgreSQLParserCONCAT_WS, PostgreSQLParserFORMAT, PostgreSQLParserINITCAP, PostgreSQLParserLENGTH, PostgreSQLParserLPAD, PostgreSQLParserLTRIM, PostgreSQLParserMD5, PostgreSQLParserPARSE_IDENT, PostgreSQLParserPG_CLIENT_ENCODING, PostgreSQLParserQUOTE_IDENT, PostgreSQLParserQUOTE_LITERAL, PostgreSQLParserQUOTE_NULLABLE, PostgreSQLParserREGEXP_COUNT, PostgreSQLParserREGEXP_INSTR, PostgreSQLParserREGEXP_LIKE, PostgreSQLParserREGEXP_MATCH, PostgreSQLParserREGEXP_MATCHES, PostgreSQLParserREGEXP_REPLACE, PostgreSQLParserREGEXP_SPLIT_TO_ARRAY, PostgreSQLParserREGEXP_SPLIT_TO_TABLE, PostgreSQLParserREGEXP_SUBSTR, PostgreSQLParserREPEAT, PostgreSQLParserRPAD, PostgreSQLParserRTRIM, PostgreSQLParserSPLIT_PART, PostgreSQLParserSTARTS_WITH, PostgreSQLParserSTRING_TO_ARRAY, PostgreSQLParserSTRING_TO_TABLE, PostgreSQLParserSTRPOS, PostgreSQLParserSUBSTR, PostgreSQLParserTO_ASCII, PostgreSQLParserTO_HEX, PostgreSQLParserTRANSLATE, PostgreSQLParserUNISTR, PostgreSQLParserAGE, PostgreSQLParserCLOCK_TIMESTAMP, PostgreSQLParserDATE_BIN, PostgreSQLParserDATE_PART, PostgreSQLParserDATE_TRUNC, PostgreSQLParserISFINITE, PostgreSQLParserJUSTIFY_DAYS, PostgreSQLParserJUSTIFY_HOURS, PostgreSQLParserJUSTIFY_INTERVAL, PostgreSQLParserMAKE_DATE, PostgreSQLParserMAKE_INTERVAL, PostgreSQLParserMAKE_TIME, PostgreSQLParserMAKE_TIMESTAMP, PostgreSQLParserMAKE_TIMESTAMPTZ, PostgreSQLParserNOW, PostgreSQLParserSTATEMENT_TIMESTAMP, PostgreSQLParserTIMEOFDAY, PostgreSQLParserTRANSACTION_TIMESTAMP, PostgreSQLParserTO_TIMESTAMP, PostgreSQLParserTO_CHAR, PostgreSQLParserTO_DATE, PostgreSQLParserTO_NUMBER, PostgreSQLParserENCODE, PostgreSQLParserJSON_ARRAYAGG, PostgreSQLParserJSON_OBJECTAGG, PostgreSQLParserIdentifier, PostgreSQLParserQuotedIdentifier, PostgreSQLParserUnicodeQuotedIdentifier, PostgreSQLParserPLSQLVARIABLENAME, PostgreSQLParserPLSQLIDENTIFIER: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11485) - p.Colid() - } - - case PostgreSQLParserPARAM: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11486) - p.Match(PostgreSQLParserPARAM) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit +func (p *PostgreSQLParser) Expr_until_rightbracket() (localctx IExpr_until_rightbracketContext) { + localctx = NewExpr_until_rightbracketContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1662, PostgreSQLParserRULE_expr_until_rightbracket) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(11496) + p.A_expr() } errorExit: @@ -191741,61 +190136,56 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IException_sectContext is an interface to support dynamic dispatch. -type IException_sectContext interface { +// IExpr_until_loopContext is an interface to support dynamic dispatch. +type IExpr_until_loopContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - EXCEPTION() antlr.TerminalNode - Proc_exceptions() IProc_exceptionsContext + A_expr() IA_exprContext - // IsException_sectContext differentiates from other interfaces. - IsException_sectContext() + // IsExpr_until_loopContext differentiates from other interfaces. + IsExpr_until_loopContext() } -type Exception_sectContext struct { +type Expr_until_loopContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyException_sectContext() *Exception_sectContext { - var p = new(Exception_sectContext) +func NewEmptyExpr_until_loopContext() *Expr_until_loopContext { + var p = new(Expr_until_loopContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_exception_sect + p.RuleIndex = PostgreSQLParserRULE_expr_until_loop return p } -func InitEmptyException_sectContext(p *Exception_sectContext) { +func InitEmptyExpr_until_loopContext(p *Expr_until_loopContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_exception_sect + p.RuleIndex = PostgreSQLParserRULE_expr_until_loop } -func (*Exception_sectContext) IsException_sectContext() {} +func (*Expr_until_loopContext) IsExpr_until_loopContext() {} -func NewException_sectContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Exception_sectContext { - var p = new(Exception_sectContext) +func NewExpr_until_loopContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_loopContext { + var p = new(Expr_until_loopContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_exception_sect + p.RuleIndex = PostgreSQLParserRULE_expr_until_loop return p } -func (s *Exception_sectContext) GetParser() antlr.Parser { return s.parser } - -func (s *Exception_sectContext) EXCEPTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCEPTION, 0) -} +func (s *Expr_until_loopContext) GetParser() antlr.Parser { return s.parser } -func (s *Exception_sectContext) Proc_exceptions() IProc_exceptionsContext { +func (s *Expr_until_loopContext) A_expr() IA_exprContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_exceptionsContext); ok { + if _, ok := ctx.(IA_exprContext); ok { t = ctx.(antlr.RuleContext) break } @@ -191805,54 +190195,46 @@ func (s *Exception_sectContext) Proc_exceptions() IProc_exceptionsContext { return nil } - return t.(IProc_exceptionsContext) + return t.(IA_exprContext) } -func (s *Exception_sectContext) GetRuleContext() antlr.RuleContext { +func (s *Expr_until_loopContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Exception_sectContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Expr_until_loopContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Exception_sectContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_loopContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterException_sect(s) + listenerT.EnterExpr_until_loop(s) } } -func (s *Exception_sectContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Expr_until_loopContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitException_sect(s) + listenerT.ExitExpr_until_loop(s) } } -func (s *Exception_sectContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Expr_until_loopContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitException_sect(s) + return t.VisitExpr_until_loop(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Exception_sect() (localctx IException_sectContext) { - localctx = NewException_sectContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1642, PostgreSQLParserRULE_exception_sect) +func (p *PostgreSQLParser) Expr_until_loop() (localctx IExpr_until_loopContext) { + localctx = NewExpr_until_loopContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1664, PostgreSQLParserRULE_expr_until_loop) p.EnterOuterAlt(localctx, 1) { - p.SetState(11489) - p.Match(PostgreSQLParserEXCEPTION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11490) - p.Proc_exceptions() + p.SetState(11498) + p.A_expr() } errorExit: @@ -191868,84 +190250,75 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IProc_exceptionsContext is an interface to support dynamic dispatch. -type IProc_exceptionsContext interface { +// IMake_execsql_stmtContext is an interface to support dynamic dispatch. +type IMake_execsql_stmtContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllProc_exception() []IProc_exceptionContext - Proc_exception(i int) IProc_exceptionContext + Stmt() IStmtContext + Opt_returning_clause_into() IOpt_returning_clause_intoContext - // IsProc_exceptionsContext differentiates from other interfaces. - IsProc_exceptionsContext() + // IsMake_execsql_stmtContext differentiates from other interfaces. + IsMake_execsql_stmtContext() } -type Proc_exceptionsContext struct { +type Make_execsql_stmtContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyProc_exceptionsContext() *Proc_exceptionsContext { - var p = new(Proc_exceptionsContext) +func NewEmptyMake_execsql_stmtContext() *Make_execsql_stmtContext { + var p = new(Make_execsql_stmtContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_exceptions + p.RuleIndex = PostgreSQLParserRULE_make_execsql_stmt return p } -func InitEmptyProc_exceptionsContext(p *Proc_exceptionsContext) { +func InitEmptyMake_execsql_stmtContext(p *Make_execsql_stmtContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_exceptions + p.RuleIndex = PostgreSQLParserRULE_make_execsql_stmt } -func (*Proc_exceptionsContext) IsProc_exceptionsContext() {} +func (*Make_execsql_stmtContext) IsMake_execsql_stmtContext() {} -func NewProc_exceptionsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_exceptionsContext { - var p = new(Proc_exceptionsContext) +func NewMake_execsql_stmtContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Make_execsql_stmtContext { + var p = new(Make_execsql_stmtContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_proc_exceptions + p.RuleIndex = PostgreSQLParserRULE_make_execsql_stmt return p } -func (s *Proc_exceptionsContext) GetParser() antlr.Parser { return s.parser } +func (s *Make_execsql_stmtContext) GetParser() antlr.Parser { return s.parser } -func (s *Proc_exceptionsContext) AllProc_exception() []IProc_exceptionContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IProc_exceptionContext); ok { - len++ +func (s *Make_execsql_stmtContext) Stmt() IStmtContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStmtContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IProc_exceptionContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IProc_exceptionContext); ok { - tst[i] = t.(IProc_exceptionContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IStmtContext) } -func (s *Proc_exceptionsContext) Proc_exception(i int) IProc_exceptionContext { +func (s *Make_execsql_stmtContext) Opt_returning_clause_into() IOpt_returning_clause_intoContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_exceptionContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IOpt_returning_clause_intoContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -191953,64 +190326,62 @@ func (s *Proc_exceptionsContext) Proc_exception(i int) IProc_exceptionContext { return nil } - return t.(IProc_exceptionContext) + return t.(IOpt_returning_clause_intoContext) } -func (s *Proc_exceptionsContext) GetRuleContext() antlr.RuleContext { +func (s *Make_execsql_stmtContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Proc_exceptionsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Make_execsql_stmtContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_exceptionsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Make_execsql_stmtContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterProc_exceptions(s) + listenerT.EnterMake_execsql_stmt(s) } } -func (s *Proc_exceptionsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Make_execsql_stmtContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitProc_exceptions(s) + listenerT.ExitMake_execsql_stmt(s) } } -func (s *Proc_exceptionsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Make_execsql_stmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitProc_exceptions(s) + return t.VisitMake_execsql_stmt(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Proc_exceptions() (localctx IProc_exceptionsContext) { - localctx = NewProc_exceptionsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1644, PostgreSQLParserRULE_proc_exceptions) +func (p *PostgreSQLParser) Make_execsql_stmt() (localctx IMake_execsql_stmtContext) { + localctx = NewMake_execsql_stmtContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1666, PostgreSQLParserRULE_make_execsql_stmt) var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(11493) + { + p.SetState(11500) + p.Stmt() + } + p.SetState(11502) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ok := true; ok; ok = _la == PostgreSQLParserWHEN { + if _la == PostgreSQLParserINTO { { - p.SetState(11492) - p.Proc_exception() + p.SetState(11501) + p.Opt_returning_clause_into() } - p.SetState(11495) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -192026,63 +190397,62 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IProc_exceptionContext is an interface to support dynamic dispatch. -type IProc_exceptionContext interface { +// IOpt_returning_clause_intoContext is an interface to support dynamic dispatch. +type IOpt_returning_clause_intoContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - WHEN() antlr.TerminalNode - Proc_conditions() IProc_conditionsContext - THEN() antlr.TerminalNode - Proc_sect() IProc_sectContext + INTO() antlr.TerminalNode + Into_target() IInto_targetContext + Opt_strict() IOpt_strictContext - // IsProc_exceptionContext differentiates from other interfaces. - IsProc_exceptionContext() + // IsOpt_returning_clause_intoContext differentiates from other interfaces. + IsOpt_returning_clause_intoContext() } -type Proc_exceptionContext struct { +type Opt_returning_clause_intoContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyProc_exceptionContext() *Proc_exceptionContext { - var p = new(Proc_exceptionContext) +func NewEmptyOpt_returning_clause_intoContext() *Opt_returning_clause_intoContext { + var p = new(Opt_returning_clause_intoContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_exception + p.RuleIndex = PostgreSQLParserRULE_opt_returning_clause_into return p } -func InitEmptyProc_exceptionContext(p *Proc_exceptionContext) { +func InitEmptyOpt_returning_clause_intoContext(p *Opt_returning_clause_intoContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_exception + p.RuleIndex = PostgreSQLParserRULE_opt_returning_clause_into } -func (*Proc_exceptionContext) IsProc_exceptionContext() {} +func (*Opt_returning_clause_intoContext) IsOpt_returning_clause_intoContext() {} -func NewProc_exceptionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_exceptionContext { - var p = new(Proc_exceptionContext) +func NewOpt_returning_clause_intoContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_returning_clause_intoContext { + var p = new(Opt_returning_clause_intoContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_proc_exception + p.RuleIndex = PostgreSQLParserRULE_opt_returning_clause_into return p } -func (s *Proc_exceptionContext) GetParser() antlr.Parser { return s.parser } +func (s *Opt_returning_clause_intoContext) GetParser() antlr.Parser { return s.parser } -func (s *Proc_exceptionContext) WHEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHEN, 0) +func (s *Opt_returning_clause_intoContext) INTO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTO, 0) } -func (s *Proc_exceptionContext) Proc_conditions() IProc_conditionsContext { +func (s *Opt_returning_clause_intoContext) Into_target() IInto_targetContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_conditionsContext); ok { + if _, ok := ctx.(IInto_targetContext); ok { t = ctx.(antlr.RuleContext) break } @@ -192092,17 +190462,13 @@ func (s *Proc_exceptionContext) Proc_conditions() IProc_conditionsContext { return nil } - return t.(IProc_conditionsContext) -} - -func (s *Proc_exceptionContext) THEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTHEN, 0) + return t.(IInto_targetContext) } -func (s *Proc_exceptionContext) Proc_sect() IProc_sectContext { +func (s *Opt_returning_clause_intoContext) Opt_strict() IOpt_strictContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_sectContext); ok { + if _, ok := ctx.(IOpt_strictContext); ok { t = ctx.(antlr.RuleContext) break } @@ -192112,66 +190478,66 @@ func (s *Proc_exceptionContext) Proc_sect() IProc_sectContext { return nil } - return t.(IProc_sectContext) + return t.(IOpt_strictContext) } -func (s *Proc_exceptionContext) GetRuleContext() antlr.RuleContext { +func (s *Opt_returning_clause_intoContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Proc_exceptionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Opt_returning_clause_intoContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_exceptionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Opt_returning_clause_intoContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterProc_exception(s) + listenerT.EnterOpt_returning_clause_into(s) } } -func (s *Proc_exceptionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Opt_returning_clause_intoContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitProc_exception(s) + listenerT.ExitOpt_returning_clause_into(s) } } -func (s *Proc_exceptionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Opt_returning_clause_intoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitProc_exception(s) + return t.VisitOpt_returning_clause_into(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Proc_exception() (localctx IProc_exceptionContext) { - localctx = NewProc_exceptionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1646, PostgreSQLParserRULE_proc_exception) +func (p *PostgreSQLParser) Opt_returning_clause_into() (localctx IOpt_returning_clause_intoContext) { + localctx = NewOpt_returning_clause_intoContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1668, PostgreSQLParserRULE_opt_returning_clause_into) p.EnterOuterAlt(localctx, 1) { - p.SetState(11497) - p.Match(PostgreSQLParserWHEN) + p.SetState(11504) + p.Match(PostgreSQLParserINTO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(11498) - p.Proc_conditions() - } - { - p.SetState(11499) - p.Match(PostgreSQLParserTHEN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(11506) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1159, p.GetParserRuleContext()) == 1 { + { + p.SetState(11505) + p.Opt_strict() } + + } else if p.HasError() { // JIM + goto errorExit } { - p.SetState(11500) - p.Proc_sect() + p.SetState(11508) + p.Into_target() } errorExit: @@ -192187,171 +190553,487 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IProc_conditionsContext is an interface to support dynamic dispatch. -type IProc_conditionsContext interface { +// IReserved_keywordContext is an interface to support dynamic dispatch. +type IReserved_keywordContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllProc_condition() []IProc_conditionContext - Proc_condition(i int) IProc_conditionContext - AllOR() []antlr.TerminalNode - OR(i int) antlr.TerminalNode + ALL() antlr.TerminalNode + ANALYSE() antlr.TerminalNode + ANALYZE() antlr.TerminalNode + AND() antlr.TerminalNode + ANY() antlr.TerminalNode + ARRAY() antlr.TerminalNode + AS() antlr.TerminalNode + ASC() antlr.TerminalNode + ASYMMETRIC() antlr.TerminalNode + BOTH() antlr.TerminalNode + CASE() antlr.TerminalNode + CAST() antlr.TerminalNode + CHECK() antlr.TerminalNode + COLLATE() antlr.TerminalNode + COLUMN() antlr.TerminalNode + CONSTRAINT() antlr.TerminalNode + CREATE() antlr.TerminalNode + CURRENT_CATALOG() antlr.TerminalNode + CURRENT_DATE() antlr.TerminalNode + CURRENT_ROLE() antlr.TerminalNode + CURRENT_TIME() antlr.TerminalNode + CURRENT_TIMESTAMP() antlr.TerminalNode + CURRENT_USER() antlr.TerminalNode + DEFAULT() antlr.TerminalNode + DEFERRABLE() antlr.TerminalNode + DESC() antlr.TerminalNode + DISTINCT() antlr.TerminalNode + DO() antlr.TerminalNode + ELSE() antlr.TerminalNode + END_P() antlr.TerminalNode + EXCEPT() antlr.TerminalNode + FALSE_P() antlr.TerminalNode + FETCH() antlr.TerminalNode + FOR() antlr.TerminalNode + FOREIGN() antlr.TerminalNode + FROM() antlr.TerminalNode + GRANT() antlr.TerminalNode + GROUP_P() antlr.TerminalNode + HAVING() antlr.TerminalNode + IN_P() antlr.TerminalNode + INITIALLY() antlr.TerminalNode + INTERSECT() antlr.TerminalNode + INTO() antlr.TerminalNode + LATERAL_P() antlr.TerminalNode + LEADING() antlr.TerminalNode + LIMIT() antlr.TerminalNode + LOCALTIME() antlr.TerminalNode + LOCALTIMESTAMP() antlr.TerminalNode + NOT() antlr.TerminalNode + NULL_P() antlr.TerminalNode + OFFSET() antlr.TerminalNode + ON() antlr.TerminalNode + ONLY() antlr.TerminalNode + OR() antlr.TerminalNode + ORDER() antlr.TerminalNode + PLACING() antlr.TerminalNode + PRIMARY() antlr.TerminalNode + REFERENCES() antlr.TerminalNode + RETURNING() antlr.TerminalNode + SELECT() antlr.TerminalNode + SESSION_USER() antlr.TerminalNode + SOME() antlr.TerminalNode + SYMMETRIC() antlr.TerminalNode + SYSTEM_USER() antlr.TerminalNode + TABLE() antlr.TerminalNode + THEN() antlr.TerminalNode + TO() antlr.TerminalNode + TRAILING() antlr.TerminalNode + TRUE_P() antlr.TerminalNode + UNION() antlr.TerminalNode + UNIQUE() antlr.TerminalNode + USER() antlr.TerminalNode + USING() antlr.TerminalNode + VARIADIC() antlr.TerminalNode + WHEN() antlr.TerminalNode + WHERE() antlr.TerminalNode + WINDOW() antlr.TerminalNode + WITH() antlr.TerminalNode - // IsProc_conditionsContext differentiates from other interfaces. - IsProc_conditionsContext() + // IsReserved_keywordContext differentiates from other interfaces. + IsReserved_keywordContext() } -type Proc_conditionsContext struct { +type Reserved_keywordContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyProc_conditionsContext() *Proc_conditionsContext { - var p = new(Proc_conditionsContext) +func NewEmptyReserved_keywordContext() *Reserved_keywordContext { + var p = new(Reserved_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_conditions + p.RuleIndex = PostgreSQLParserRULE_reserved_keyword return p } -func InitEmptyProc_conditionsContext(p *Proc_conditionsContext) { +func InitEmptyReserved_keywordContext(p *Reserved_keywordContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_conditions + p.RuleIndex = PostgreSQLParserRULE_reserved_keyword } -func (*Proc_conditionsContext) IsProc_conditionsContext() {} +func (*Reserved_keywordContext) IsReserved_keywordContext() {} -func NewProc_conditionsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_conditionsContext { - var p = new(Proc_conditionsContext) +func NewReserved_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Reserved_keywordContext { + var p = new(Reserved_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_proc_conditions + p.RuleIndex = PostgreSQLParserRULE_reserved_keyword + + return p +} + +func (s *Reserved_keywordContext) GetParser() antlr.Parser { return s.parser } + +func (s *Reserved_keywordContext) ALL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALL, 0) +} + +func (s *Reserved_keywordContext) ANALYSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserANALYSE, 0) +} + +func (s *Reserved_keywordContext) ANALYZE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserANALYZE, 0) +} + +func (s *Reserved_keywordContext) AND() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAND, 0) +} + +func (s *Reserved_keywordContext) ANY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserANY, 0) +} + +func (s *Reserved_keywordContext) ARRAY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserARRAY, 0) +} + +func (s *Reserved_keywordContext) AS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAS, 0) +} + +func (s *Reserved_keywordContext) ASC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASC, 0) +} + +func (s *Reserved_keywordContext) ASYMMETRIC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASYMMETRIC, 0) +} + +func (s *Reserved_keywordContext) BOTH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBOTH, 0) +} + +func (s *Reserved_keywordContext) CASE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCASE, 0) +} + +func (s *Reserved_keywordContext) CAST() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCAST, 0) +} + +func (s *Reserved_keywordContext) CHECK() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHECK, 0) +} + +func (s *Reserved_keywordContext) COLLATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLLATE, 0) +} + +func (s *Reserved_keywordContext) COLUMN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLUMN, 0) +} + +func (s *Reserved_keywordContext) CONSTRAINT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONSTRAINT, 0) +} + +func (s *Reserved_keywordContext) CREATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCREATE, 0) +} + +func (s *Reserved_keywordContext) CURRENT_CATALOG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_CATALOG, 0) +} + +func (s *Reserved_keywordContext) CURRENT_DATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_DATE, 0) +} + +func (s *Reserved_keywordContext) CURRENT_ROLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_ROLE, 0) +} + +func (s *Reserved_keywordContext) CURRENT_TIME() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_TIME, 0) +} + +func (s *Reserved_keywordContext) CURRENT_TIMESTAMP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_TIMESTAMP, 0) +} + +func (s *Reserved_keywordContext) CURRENT_USER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_USER, 0) +} + +func (s *Reserved_keywordContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFAULT, 0) +} + +func (s *Reserved_keywordContext) DEFERRABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFERRABLE, 0) +} + +func (s *Reserved_keywordContext) DESC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDESC, 0) +} + +func (s *Reserved_keywordContext) DISTINCT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDISTINCT, 0) +} + +func (s *Reserved_keywordContext) DO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDO, 0) +} + +func (s *Reserved_keywordContext) ELSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserELSE, 0) +} + +func (s *Reserved_keywordContext) END_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEND_P, 0) +} + +func (s *Reserved_keywordContext) EXCEPT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCEPT, 0) +} + +func (s *Reserved_keywordContext) FALSE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFALSE_P, 0) +} + +func (s *Reserved_keywordContext) FETCH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFETCH, 0) +} + +func (s *Reserved_keywordContext) FOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOR, 0) +} + +func (s *Reserved_keywordContext) FOREIGN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOREIGN, 0) +} + +func (s *Reserved_keywordContext) FROM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFROM, 0) +} + +func (s *Reserved_keywordContext) GRANT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGRANT, 0) +} + +func (s *Reserved_keywordContext) GROUP_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGROUP_P, 0) +} + +func (s *Reserved_keywordContext) HAVING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserHAVING, 0) +} + +func (s *Reserved_keywordContext) IN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIN_P, 0) +} + +func (s *Reserved_keywordContext) INITIALLY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINITIALLY, 0) +} + +func (s *Reserved_keywordContext) INTERSECT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTERSECT, 0) +} + +func (s *Reserved_keywordContext) INTO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTO, 0) +} + +func (s *Reserved_keywordContext) LATERAL_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLATERAL_P, 0) +} + +func (s *Reserved_keywordContext) LEADING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLEADING, 0) +} + +func (s *Reserved_keywordContext) LIMIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLIMIT, 0) +} + +func (s *Reserved_keywordContext) LOCALTIME() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOCALTIME, 0) +} + +func (s *Reserved_keywordContext) LOCALTIMESTAMP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOCALTIMESTAMP, 0) +} + +func (s *Reserved_keywordContext) NOT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOT, 0) +} + +func (s *Reserved_keywordContext) NULL_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNULL_P, 0) +} + +func (s *Reserved_keywordContext) OFFSET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOFFSET, 0) +} + +func (s *Reserved_keywordContext) ON() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserON, 0) +} + +func (s *Reserved_keywordContext) ONLY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserONLY, 0) +} + +func (s *Reserved_keywordContext) OR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOR, 0) +} + +func (s *Reserved_keywordContext) ORDER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserORDER, 0) +} + +func (s *Reserved_keywordContext) PLACING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPLACING, 0) +} + +func (s *Reserved_keywordContext) PRIMARY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRIMARY, 0) +} + +func (s *Reserved_keywordContext) REFERENCES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREFERENCES, 0) +} + +func (s *Reserved_keywordContext) RETURNING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRETURNING, 0) +} + +func (s *Reserved_keywordContext) SELECT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSELECT, 0) +} + +func (s *Reserved_keywordContext) SESSION_USER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSESSION_USER, 0) +} + +func (s *Reserved_keywordContext) SOME() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSOME, 0) +} + +func (s *Reserved_keywordContext) SYMMETRIC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSYMMETRIC, 0) +} + +func (s *Reserved_keywordContext) SYSTEM_USER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSYSTEM_USER, 0) +} + +func (s *Reserved_keywordContext) TABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTABLE, 0) +} + +func (s *Reserved_keywordContext) THEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTHEN, 0) +} + +func (s *Reserved_keywordContext) TO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTO, 0) +} + +func (s *Reserved_keywordContext) TRAILING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRAILING, 0) +} - return p +func (s *Reserved_keywordContext) TRUE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRUE_P, 0) } -func (s *Proc_conditionsContext) GetParser() antlr.Parser { return s.parser } +func (s *Reserved_keywordContext) UNION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNION, 0) +} -func (s *Proc_conditionsContext) AllProc_condition() []IProc_conditionContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IProc_conditionContext); ok { - len++ - } - } +func (s *Reserved_keywordContext) UNIQUE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNIQUE, 0) +} - tst := make([]IProc_conditionContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IProc_conditionContext); ok { - tst[i] = t.(IProc_conditionContext) - i++ - } - } +func (s *Reserved_keywordContext) USER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSER, 0) +} - return tst +func (s *Reserved_keywordContext) USING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUSING, 0) } -func (s *Proc_conditionsContext) Proc_condition(i int) IProc_conditionContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProc_conditionContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ - } - } +func (s *Reserved_keywordContext) VARIADIC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVARIADIC, 0) +} - if t == nil { - return nil - } +func (s *Reserved_keywordContext) WHEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHEN, 0) +} - return t.(IProc_conditionContext) +func (s *Reserved_keywordContext) WHERE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHERE, 0) } -func (s *Proc_conditionsContext) AllOR() []antlr.TerminalNode { - return s.GetTokens(PostgreSQLParserOR) +func (s *Reserved_keywordContext) WINDOW() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWINDOW, 0) } -func (s *Proc_conditionsContext) OR(i int) antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOR, i) +func (s *Reserved_keywordContext) WITH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWITH, 0) } -func (s *Proc_conditionsContext) GetRuleContext() antlr.RuleContext { +func (s *Reserved_keywordContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Proc_conditionsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Reserved_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Proc_conditionsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Reserved_keywordContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterProc_conditions(s) + listenerT.EnterReserved_keyword(s) } } -func (s *Proc_conditionsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Reserved_keywordContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitProc_conditions(s) + listenerT.ExitReserved_keyword(s) } } -func (s *Proc_conditionsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Reserved_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitProc_conditions(s) + return t.VisitReserved_keyword(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Proc_conditions() (localctx IProc_conditionsContext) { - localctx = NewProc_conditionsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1648, PostgreSQLParserRULE_proc_conditions) +func (p *PostgreSQLParser) Reserved_keyword() (localctx IReserved_keywordContext) { + localctx = NewReserved_keywordContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1670, PostgreSQLParserRULE_reserved_keyword) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11502) - p.Proc_condition() - } - p.SetState(11507) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == PostgreSQLParserOR { - { - p.SetState(11503) - p.Match(PostgreSQLParserOR) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11504) - p.Proc_condition() - } + p.SetState(11510) + _la = p.GetTokenStream().LA(1) - p.SetState(11509) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + if !(((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&2891522341901157376) != 0) || ((int64((_la-73)) & ^0x3f) == 0 && ((int64(1)<<(_la-73))&2343024370639138945) != 0) || ((int64((_la-145)) & ^0x3f) == 0 && ((int64(1)<<(_la-145))&720716952889214213) != 0) || ((int64((_la-228)) & ^0x3f) == 0 && ((int64(1)<<(_la-228))&-8644589115993483133) != 0) || ((int64((_la-292)) & ^0x3f) == 0 && ((int64(1)<<(_la-292))&2251834206978097) != 0) || ((int64((_la-357)) & ^0x3f) == 0 && ((int64(1)<<(_la-357))&900720062981210113) != 0) || ((int64((_la-425)) & ^0x3f) == 0 && ((int64(1)<<(_la-425))&950116296951857) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -192367,1817 +191049,1747 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IProc_conditionContext is an interface to support dynamic dispatch. -type IProc_conditionContext interface { +// IUnreserved_keywordContext is an interface to support dynamic dispatch. +type IUnreserved_keywordContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Any_identifier() IAny_identifierContext - SQLSTATE() antlr.TerminalNode - Sconst() ISconstContext + ABORT_P() antlr.TerminalNode + ABSENT() antlr.TerminalNode + ABSOLUTE_P() antlr.TerminalNode + ACCESS() antlr.TerminalNode + ACTION() antlr.TerminalNode + ADD_P() antlr.TerminalNode + ADMIN() antlr.TerminalNode + AFTER() antlr.TerminalNode + AGGREGATE() antlr.TerminalNode + ALSO() antlr.TerminalNode + ALTER() antlr.TerminalNode + ALWAYS() antlr.TerminalNode + ASENSITIVE() antlr.TerminalNode + ASSERTION() antlr.TerminalNode + ASSIGNMENT() antlr.TerminalNode + AT() antlr.TerminalNode + ATOMIC() antlr.TerminalNode + ATTACH() antlr.TerminalNode + ATTRIBUTE() antlr.TerminalNode + BACKWARD() antlr.TerminalNode + BEFORE() antlr.TerminalNode + BEGIN_P() antlr.TerminalNode + BREADTH() antlr.TerminalNode + BY() antlr.TerminalNode + CACHE() antlr.TerminalNode + CALL() antlr.TerminalNode + CALLED() antlr.TerminalNode + CASCADE() antlr.TerminalNode + CASCADED() antlr.TerminalNode + CATALOG_P() antlr.TerminalNode + CHAIN() antlr.TerminalNode + CHARACTERISTICS() antlr.TerminalNode + CHECKPOINT() antlr.TerminalNode + CLASS() antlr.TerminalNode + CLOSE() antlr.TerminalNode + CLUSTER() antlr.TerminalNode + COLUMNS() antlr.TerminalNode + COMMENT() antlr.TerminalNode + COMMENTS() antlr.TerminalNode + COMMIT() antlr.TerminalNode + COMMITTED() antlr.TerminalNode + COMPRESSION() antlr.TerminalNode + CONDITIONAL() antlr.TerminalNode + CONFIGURATION() antlr.TerminalNode + CONFLICT() antlr.TerminalNode + CONNECTION() antlr.TerminalNode + CONSTRAINTS() antlr.TerminalNode + CONTENT_P() antlr.TerminalNode + CONTINUE_P() antlr.TerminalNode + CONVERSION_P() antlr.TerminalNode + COPY() antlr.TerminalNode + COST() antlr.TerminalNode + CSV() antlr.TerminalNode + CUBE() antlr.TerminalNode + CURRENT_P() antlr.TerminalNode + CURSOR() antlr.TerminalNode + CYCLE() antlr.TerminalNode + DATA_P() antlr.TerminalNode + DATABASE() antlr.TerminalNode + DAY_P() antlr.TerminalNode + DEALLOCATE() antlr.TerminalNode + DECLARE() antlr.TerminalNode + DEFAULTS() antlr.TerminalNode + DEFERRED() antlr.TerminalNode + DEFINER() antlr.TerminalNode + DELETE_P() antlr.TerminalNode + DELIMITER() antlr.TerminalNode + DELIMITERS() antlr.TerminalNode + DEPENDS() antlr.TerminalNode + DEPTH() antlr.TerminalNode + DETACH() antlr.TerminalNode + DICTIONARY() antlr.TerminalNode + DISABLE_P() antlr.TerminalNode + DISCARD() antlr.TerminalNode + DOCUMENT_P() antlr.TerminalNode + DOMAIN_P() antlr.TerminalNode + DOUBLE_P() antlr.TerminalNode + DROP() antlr.TerminalNode + EACH() antlr.TerminalNode + EMPTY_P() antlr.TerminalNode + ENABLE_P() antlr.TerminalNode + ENCODING() antlr.TerminalNode + ENCRYPTED() antlr.TerminalNode + ENFORCED() antlr.TerminalNode + ENUM_P() antlr.TerminalNode + ERROR_P() antlr.TerminalNode + ESCAPE() antlr.TerminalNode + EVENT() antlr.TerminalNode + EXCLUDE() antlr.TerminalNode + EXCLUDING() antlr.TerminalNode + EXCLUSIVE() antlr.TerminalNode + EXECUTE() antlr.TerminalNode + EXPLAIN() antlr.TerminalNode + EXPRESSION() antlr.TerminalNode + EXTENSION() antlr.TerminalNode + EXTERNAL() antlr.TerminalNode + FAMILY() antlr.TerminalNode + FILTER() antlr.TerminalNode + FINALIZE() antlr.TerminalNode + FIRST_P() antlr.TerminalNode + FOLLOWING() antlr.TerminalNode + FORCE() antlr.TerminalNode + FORMAT() antlr.TerminalNode + FORWARD() antlr.TerminalNode + FUNCTION() antlr.TerminalNode + FUNCTIONS() antlr.TerminalNode + GENERATED() antlr.TerminalNode + GLOBAL() antlr.TerminalNode + GRANTED() antlr.TerminalNode + GROUPS() antlr.TerminalNode + HANDLER() antlr.TerminalNode + HEADER_P() antlr.TerminalNode + HOLD() antlr.TerminalNode + HOUR_P() antlr.TerminalNode + IDENTITY_P() antlr.TerminalNode + IF_P() antlr.TerminalNode + IMMEDIATE() antlr.TerminalNode + IMMUTABLE() antlr.TerminalNode + IMPLICIT_P() antlr.TerminalNode + IMPORT_P() antlr.TerminalNode + INCLUDE() antlr.TerminalNode + INCLUDING() antlr.TerminalNode + INCREMENT() antlr.TerminalNode + INDENT() antlr.TerminalNode + INDEX() antlr.TerminalNode + INDEXES() antlr.TerminalNode + INHERIT() antlr.TerminalNode + INHERITS() antlr.TerminalNode + INLINE_P() antlr.TerminalNode + INPUT_P() antlr.TerminalNode + INSENSITIVE() antlr.TerminalNode + INSERT() antlr.TerminalNode + INSTEAD() antlr.TerminalNode + INVOKER() antlr.TerminalNode + ISOLATION() antlr.TerminalNode + KEEP() antlr.TerminalNode + KEY() antlr.TerminalNode + KEYS() antlr.TerminalNode + LABEL() antlr.TerminalNode + LANGUAGE() antlr.TerminalNode + LARGE_P() antlr.TerminalNode + LAST_P() antlr.TerminalNode + LEAKPROOF() antlr.TerminalNode + LEVEL() antlr.TerminalNode + LISTEN() antlr.TerminalNode + LOAD() antlr.TerminalNode + LOCAL() antlr.TerminalNode + LOCATION() antlr.TerminalNode + LOCK_P() antlr.TerminalNode + LOCKED() antlr.TerminalNode + LOGGED() antlr.TerminalNode + MAPPING() antlr.TerminalNode + MATCH() antlr.TerminalNode + MATCHED() antlr.TerminalNode + MATERIALIZED() antlr.TerminalNode + MAXVALUE() antlr.TerminalNode + MERGE() antlr.TerminalNode + METHOD() antlr.TerminalNode + MINUTE_P() antlr.TerminalNode + MINVALUE() antlr.TerminalNode + MODE() antlr.TerminalNode + MONTH_P() antlr.TerminalNode + MOVE() antlr.TerminalNode + NAME_P() antlr.TerminalNode + NAMES() antlr.TerminalNode + NESTED() antlr.TerminalNode + NEW() antlr.TerminalNode + NEXT() antlr.TerminalNode + NFC() antlr.TerminalNode + NFD() antlr.TerminalNode + NFKC() antlr.TerminalNode + NFKD() antlr.TerminalNode + NO() antlr.TerminalNode + NORMALIZED() antlr.TerminalNode + NOTHING() antlr.TerminalNode + NOTIFY() antlr.TerminalNode + NOWAIT() antlr.TerminalNode + NULLS_P() antlr.TerminalNode + OBJECT_P() antlr.TerminalNode + OBJECTS_P() antlr.TerminalNode + OF() antlr.TerminalNode + OFF() antlr.TerminalNode + OIDS() antlr.TerminalNode + OLD() antlr.TerminalNode + OMIT() antlr.TerminalNode + OPERATOR() antlr.TerminalNode + OPTION() antlr.TerminalNode + OPTIONS() antlr.TerminalNode + ORDINALITY() antlr.TerminalNode + OTHERS() antlr.TerminalNode + OVER() antlr.TerminalNode + OVERRIDING() antlr.TerminalNode + OWNED() antlr.TerminalNode + OWNER() antlr.TerminalNode + PARALLEL() antlr.TerminalNode + PARAMETER() antlr.TerminalNode + PARSER() antlr.TerminalNode + PARTIAL() antlr.TerminalNode + PARTITION() antlr.TerminalNode + PASSING() antlr.TerminalNode + PASSWORD() antlr.TerminalNode + PATH() antlr.TerminalNode + PERIOD() antlr.TerminalNode + PLAN() antlr.TerminalNode + PLANS() antlr.TerminalNode + POLICY() antlr.TerminalNode + PRECEDING() antlr.TerminalNode + PREPARE() antlr.TerminalNode + PREPARED() antlr.TerminalNode + PRESERVE() antlr.TerminalNode + PRIOR() antlr.TerminalNode + PRIVILEGES() antlr.TerminalNode + PROCEDURAL() antlr.TerminalNode + PROCEDURE() antlr.TerminalNode + PROCEDURES() antlr.TerminalNode + PROGRAM() antlr.TerminalNode + PUBLICATION() antlr.TerminalNode + QUOTE() antlr.TerminalNode + QUOTES() antlr.TerminalNode + RANGE() antlr.TerminalNode + READ() antlr.TerminalNode + REASSIGN() antlr.TerminalNode + RECURSIVE() antlr.TerminalNode + REF_P() antlr.TerminalNode + REFERENCING() antlr.TerminalNode + REFRESH() antlr.TerminalNode + REINDEX() antlr.TerminalNode + RELATIVE_P() antlr.TerminalNode + RELEASE() antlr.TerminalNode + RENAME() antlr.TerminalNode + REPEATABLE() antlr.TerminalNode + REPLACE() antlr.TerminalNode + REPLICA() antlr.TerminalNode + RESET() antlr.TerminalNode + RESTART() antlr.TerminalNode + RESTRICT() antlr.TerminalNode + RETURN() antlr.TerminalNode + RETURNS() antlr.TerminalNode + REVOKE() antlr.TerminalNode + ROLE() antlr.TerminalNode + ROLLBACK() antlr.TerminalNode + ROLLUP() antlr.TerminalNode + ROUTINE() antlr.TerminalNode + ROUTINES() antlr.TerminalNode + ROWS() antlr.TerminalNode + RULE() antlr.TerminalNode + SAVEPOINT() antlr.TerminalNode + SCALAR() antlr.TerminalNode + SCHEMA() antlr.TerminalNode + SCHEMAS() antlr.TerminalNode + SCROLL() antlr.TerminalNode + SEARCH() antlr.TerminalNode + SECOND_P() antlr.TerminalNode + SECURITY() antlr.TerminalNode + SEQUENCE() antlr.TerminalNode + SEQUENCES() antlr.TerminalNode + SERIALIZABLE() antlr.TerminalNode + SERVER() antlr.TerminalNode + SESSION() antlr.TerminalNode + SET() antlr.TerminalNode + SETS() antlr.TerminalNode + SHARE() antlr.TerminalNode + SHOW() antlr.TerminalNode + SIMPLE() antlr.TerminalNode + SKIP_P() antlr.TerminalNode + SNAPSHOT() antlr.TerminalNode + SOURCE() antlr.TerminalNode + SQL_P() antlr.TerminalNode + STABLE() antlr.TerminalNode + STANDALONE_P() antlr.TerminalNode + START() antlr.TerminalNode + STATEMENT() antlr.TerminalNode + STATISTICS() antlr.TerminalNode + STDIN() antlr.TerminalNode + STDOUT() antlr.TerminalNode + STORAGE() antlr.TerminalNode + STORED() antlr.TerminalNode + STRICT_P() antlr.TerminalNode + STRING_P() antlr.TerminalNode + STRIP_P() antlr.TerminalNode + SUBSCRIPTION() antlr.TerminalNode + SUPPORT() antlr.TerminalNode + SYSID() antlr.TerminalNode + SYSTEM_P() antlr.TerminalNode + TABLES() antlr.TerminalNode + TABLESPACE() antlr.TerminalNode + TARGET() antlr.TerminalNode + TEMP() antlr.TerminalNode + TEMPLATE() antlr.TerminalNode + TEMPORARY() antlr.TerminalNode + TEXT_P() antlr.TerminalNode + TIES() antlr.TerminalNode + TRANSACTION() antlr.TerminalNode + TRANSFORM() antlr.TerminalNode + TRIGGER() antlr.TerminalNode + TRUNCATE() antlr.TerminalNode + TRUSTED() antlr.TerminalNode + TYPE_P() antlr.TerminalNode + TYPES_P() antlr.TerminalNode + UESCAPE() antlr.TerminalNode + UNBOUNDED() antlr.TerminalNode + UNCOMMITTED() antlr.TerminalNode + UNCONDITIONAL() antlr.TerminalNode + UNENCRYPTED() antlr.TerminalNode + UNKNOWN() antlr.TerminalNode + UNLISTEN() antlr.TerminalNode + UNLOGGED() antlr.TerminalNode + UNTIL() antlr.TerminalNode + UPDATE() antlr.TerminalNode + VACUUM() antlr.TerminalNode + VALID() antlr.TerminalNode + VALIDATE() antlr.TerminalNode + VALIDATOR() antlr.TerminalNode + VALUE_P() antlr.TerminalNode + VARYING() antlr.TerminalNode + VERSION_P() antlr.TerminalNode + VIEW() antlr.TerminalNode + VIEWS() antlr.TerminalNode + VIRTUAL() antlr.TerminalNode + VOLATILE() antlr.TerminalNode + WHITESPACE_P() antlr.TerminalNode + WITHIN() antlr.TerminalNode + WITHOUT() antlr.TerminalNode + WORK() antlr.TerminalNode + WRAPPER() antlr.TerminalNode + WRITE() antlr.TerminalNode + XML_P() antlr.TerminalNode + YEAR_P() antlr.TerminalNode + YES_P() antlr.TerminalNode + ZONE() antlr.TerminalNode - // IsProc_conditionContext differentiates from other interfaces. - IsProc_conditionContext() + // IsUnreserved_keywordContext differentiates from other interfaces. + IsUnreserved_keywordContext() } -type Proc_conditionContext struct { +type Unreserved_keywordContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyProc_conditionContext() *Proc_conditionContext { - var p = new(Proc_conditionContext) +func NewEmptyUnreserved_keywordContext() *Unreserved_keywordContext { + var p = new(Unreserved_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_condition + p.RuleIndex = PostgreSQLParserRULE_unreserved_keyword return p } -func InitEmptyProc_conditionContext(p *Proc_conditionContext) { +func InitEmptyUnreserved_keywordContext(p *Unreserved_keywordContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_proc_condition + p.RuleIndex = PostgreSQLParserRULE_unreserved_keyword } -func (*Proc_conditionContext) IsProc_conditionContext() {} +func (*Unreserved_keywordContext) IsUnreserved_keywordContext() {} -func NewProc_conditionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Proc_conditionContext { - var p = new(Proc_conditionContext) +func NewUnreserved_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Unreserved_keywordContext { + var p = new(Unreserved_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_proc_condition + p.RuleIndex = PostgreSQLParserRULE_unreserved_keyword return p } -func (s *Proc_conditionContext) GetParser() antlr.Parser { return s.parser } - -func (s *Proc_conditionContext) Any_identifier() IAny_identifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_identifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) GetParser() antlr.Parser { return s.parser } - return t.(IAny_identifierContext) +func (s *Unreserved_keywordContext) ABORT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserABORT_P, 0) } -func (s *Proc_conditionContext) SQLSTATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSQLSTATE, 0) +func (s *Unreserved_keywordContext) ABSENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserABSENT, 0) } -func (s *Proc_conditionContext) Sconst() ISconstContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISconstContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(ISconstContext) +func (s *Unreserved_keywordContext) ABSOLUTE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserABSOLUTE_P, 0) } -func (s *Proc_conditionContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) ACCESS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserACCESS, 0) } -func (s *Proc_conditionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) ACTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserACTION, 0) } -func (s *Proc_conditionContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterProc_condition(s) - } +func (s *Unreserved_keywordContext) ADD_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserADD_P, 0) } -func (s *Proc_conditionContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitProc_condition(s) - } +func (s *Unreserved_keywordContext) ADMIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserADMIN, 0) } -func (s *Proc_conditionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitProc_condition(s) - - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) AFTER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAFTER, 0) } -func (p *PostgreSQLParser) Proc_condition() (localctx IProc_conditionContext) { - localctx = NewProc_conditionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1650, PostgreSQLParserRULE_proc_condition) - p.SetState(11513) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1148, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11510) - p.Any_identifier() - } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11511) - p.Match(PostgreSQLParserSQLSTATE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11512) - p.Sconst() - } - - case antlr.ATNInvalidAltNumber: - goto errorExit - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) AGGREGATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAGGREGATE, 0) } -// IOpt_block_labelContext is an interface to support dynamic dispatch. -type IOpt_block_labelContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - Label_decl() ILabel_declContext - - // IsOpt_block_labelContext differentiates from other interfaces. - IsOpt_block_labelContext() +func (s *Unreserved_keywordContext) ALSO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALSO, 0) } -type Opt_block_labelContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) ALTER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALTER, 0) } -func NewEmptyOpt_block_labelContext() *Opt_block_labelContext { - var p = new(Opt_block_labelContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_block_label - return p +func (s *Unreserved_keywordContext) ALWAYS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserALWAYS, 0) } -func InitEmptyOpt_block_labelContext(p *Opt_block_labelContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_block_label +func (s *Unreserved_keywordContext) ASENSITIVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASENSITIVE, 0) } -func (*Opt_block_labelContext) IsOpt_block_labelContext() {} +func (s *Unreserved_keywordContext) ASSERTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASSERTION, 0) +} -func NewOpt_block_labelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_block_labelContext { - var p = new(Opt_block_labelContext) +func (s *Unreserved_keywordContext) ASSIGNMENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserASSIGNMENT, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) AT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAT, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_block_label +func (s *Unreserved_keywordContext) ATOMIC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserATOMIC, 0) +} - return p +func (s *Unreserved_keywordContext) ATTACH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserATTACH, 0) } -func (s *Opt_block_labelContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) ATTRIBUTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserATTRIBUTE, 0) +} -func (s *Opt_block_labelContext) Label_decl() ILabel_declContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILabel_declContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) BACKWARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBACKWARD, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) BEFORE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBEFORE, 0) +} - return t.(ILabel_declContext) +func (s *Unreserved_keywordContext) BEGIN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBEGIN_P, 0) } -func (s *Opt_block_labelContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) BREADTH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBREADTH, 0) } -func (s *Opt_block_labelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) BY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBY, 0) } -func (s *Opt_block_labelContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_block_label(s) - } +func (s *Unreserved_keywordContext) CACHE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCACHE, 0) } -func (s *Opt_block_labelContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_block_label(s) - } +func (s *Unreserved_keywordContext) CALL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCALL, 0) } -func (s *Opt_block_labelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitOpt_block_label(s) +func (s *Unreserved_keywordContext) CALLED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCALLED, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) CASCADE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCASCADE, 0) } -func (p *PostgreSQLParser) Opt_block_label() (localctx IOpt_block_labelContext) { - localctx = NewOpt_block_labelContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1652, PostgreSQLParserRULE_opt_block_label) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11515) - p.Label_decl() - } +func (s *Unreserved_keywordContext) CASCADED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCASCADED, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) CATALOG_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCATALOG_P, 0) } -// IOpt_loop_labelContext is an interface to support dynamic dispatch. -type IOpt_loop_labelContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) CHAIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHAIN, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) CHARACTERISTICS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHARACTERISTICS, 0) +} - // Getter signatures - Label_decl() ILabel_declContext +func (s *Unreserved_keywordContext) CHECKPOINT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHECKPOINT, 0) +} - // IsOpt_loop_labelContext differentiates from other interfaces. - IsOpt_loop_labelContext() +func (s *Unreserved_keywordContext) CLASS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLASS, 0) } -type Opt_loop_labelContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) CLOSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLOSE, 0) } -func NewEmptyOpt_loop_labelContext() *Opt_loop_labelContext { - var p = new(Opt_loop_labelContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_loop_label - return p +func (s *Unreserved_keywordContext) CLUSTER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCLUSTER, 0) } -func InitEmptyOpt_loop_labelContext(p *Opt_loop_labelContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_loop_label +func (s *Unreserved_keywordContext) COLUMNS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLUMNS, 0) } -func (*Opt_loop_labelContext) IsOpt_loop_labelContext() {} +func (s *Unreserved_keywordContext) COMMENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMENT, 0) +} -func NewOpt_loop_labelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_loop_labelContext { - var p = new(Opt_loop_labelContext) +func (s *Unreserved_keywordContext) COMMENTS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMENTS, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) COMMIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMIT, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_loop_label +func (s *Unreserved_keywordContext) COMMITTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMMITTED, 0) +} - return p +func (s *Unreserved_keywordContext) COMPRESSION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOMPRESSION, 0) } -func (s *Opt_loop_labelContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) CONDITIONAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONDITIONAL, 0) +} -func (s *Opt_loop_labelContext) Label_decl() ILabel_declContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILabel_declContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) CONFIGURATION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONFIGURATION, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) CONFLICT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONFLICT, 0) +} - return t.(ILabel_declContext) +func (s *Unreserved_keywordContext) CONNECTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONNECTION, 0) } -func (s *Opt_loop_labelContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) CONSTRAINTS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONSTRAINTS, 0) } -func (s *Opt_loop_labelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) CONTENT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONTENT_P, 0) } -func (s *Opt_loop_labelContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_loop_label(s) - } +func (s *Unreserved_keywordContext) CONTINUE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONTINUE_P, 0) } -func (s *Opt_loop_labelContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_loop_label(s) - } +func (s *Unreserved_keywordContext) CONVERSION_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONVERSION_P, 0) } -func (s *Opt_loop_labelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitOpt_loop_label(s) +func (s *Unreserved_keywordContext) COPY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOPY, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) COST() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOST, 0) } -func (p *PostgreSQLParser) Opt_loop_label() (localctx IOpt_loop_labelContext) { - localctx = NewOpt_loop_labelContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1654, PostgreSQLParserRULE_opt_loop_label) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11517) - p.Label_decl() - } +func (s *Unreserved_keywordContext) CSV() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCSV, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) CUBE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCUBE, 0) } -// IOpt_labelContext is an interface to support dynamic dispatch. -type IOpt_labelContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) CURRENT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_P, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) CURSOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURSOR, 0) +} - // Getter signatures - Any_identifier() IAny_identifierContext +func (s *Unreserved_keywordContext) CYCLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCYCLE, 0) +} - // IsOpt_labelContext differentiates from other interfaces. - IsOpt_labelContext() +func (s *Unreserved_keywordContext) DATA_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDATA_P, 0) } -type Opt_labelContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) DATABASE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDATABASE, 0) } -func NewEmptyOpt_labelContext() *Opt_labelContext { - var p = new(Opt_labelContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_label - return p +func (s *Unreserved_keywordContext) DAY_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDAY_P, 0) } -func InitEmptyOpt_labelContext(p *Opt_labelContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_label +func (s *Unreserved_keywordContext) DEALLOCATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEALLOCATE, 0) } -func (*Opt_labelContext) IsOpt_labelContext() {} +func (s *Unreserved_keywordContext) DECLARE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDECLARE, 0) +} -func NewOpt_labelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_labelContext { - var p = new(Opt_labelContext) +func (s *Unreserved_keywordContext) DEFAULTS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFAULTS, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) DEFERRED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFERRED, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_label +func (s *Unreserved_keywordContext) DEFINER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEFINER, 0) +} - return p +func (s *Unreserved_keywordContext) DELETE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDELETE_P, 0) } -func (s *Opt_labelContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) DELIMITER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDELIMITER, 0) +} -func (s *Opt_labelContext) Any_identifier() IAny_identifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAny_identifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) DELIMITERS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDELIMITERS, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) DEPENDS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEPENDS, 0) +} - return t.(IAny_identifierContext) +func (s *Unreserved_keywordContext) DEPTH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEPTH, 0) } -func (s *Opt_labelContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) DETACH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDETACH, 0) } -func (s *Opt_labelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) DICTIONARY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDICTIONARY, 0) } -func (s *Opt_labelContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_label(s) - } +func (s *Unreserved_keywordContext) DISABLE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDISABLE_P, 0) } -func (s *Opt_labelContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_label(s) - } +func (s *Unreserved_keywordContext) DISCARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDISCARD, 0) } -func (s *Opt_labelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitOpt_label(s) +func (s *Unreserved_keywordContext) DOCUMENT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDOCUMENT_P, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) DOMAIN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDOMAIN_P, 0) } -func (p *PostgreSQLParser) Opt_label() (localctx IOpt_labelContext) { - localctx = NewOpt_labelContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1656, PostgreSQLParserRULE_opt_label) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11519) - p.Any_identifier() - } +func (s *Unreserved_keywordContext) DOUBLE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDOUBLE_P, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) DROP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDROP, 0) } -// IOpt_exitcondContext is an interface to support dynamic dispatch. -type IOpt_exitcondContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) EACH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEACH, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) EMPTY_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEMPTY_P, 0) +} - // Getter signatures - WHEN() antlr.TerminalNode - Expr_until_semi() IExpr_until_semiContext +func (s *Unreserved_keywordContext) ENABLE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserENABLE_P, 0) +} - // IsOpt_exitcondContext differentiates from other interfaces. - IsOpt_exitcondContext() +func (s *Unreserved_keywordContext) ENCODING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserENCODING, 0) } -type Opt_exitcondContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) ENCRYPTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserENCRYPTED, 0) } -func NewEmptyOpt_exitcondContext() *Opt_exitcondContext { - var p = new(Opt_exitcondContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_exitcond - return p +func (s *Unreserved_keywordContext) ENFORCED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserENFORCED, 0) } -func InitEmptyOpt_exitcondContext(p *Opt_exitcondContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_exitcond +func (s *Unreserved_keywordContext) ENUM_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserENUM_P, 0) } -func (*Opt_exitcondContext) IsOpt_exitcondContext() {} +func (s *Unreserved_keywordContext) ERROR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserERROR_P, 0) +} -func NewOpt_exitcondContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_exitcondContext { - var p = new(Opt_exitcondContext) +func (s *Unreserved_keywordContext) ESCAPE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserESCAPE, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) EVENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEVENT, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_exitcond +func (s *Unreserved_keywordContext) EXCLUDE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCLUDE, 0) +} - return p +func (s *Unreserved_keywordContext) EXCLUDING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCLUDING, 0) } -func (s *Opt_exitcondContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) EXCLUSIVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXCLUSIVE, 0) +} -func (s *Opt_exitcondContext) WHEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWHEN, 0) +func (s *Unreserved_keywordContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXECUTE, 0) } -func (s *Opt_exitcondContext) Expr_until_semi() IExpr_until_semiContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpr_until_semiContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) EXPLAIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXPLAIN, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) EXPRESSION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXPRESSION, 0) +} - return t.(IExpr_until_semiContext) +func (s *Unreserved_keywordContext) EXTENSION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXTENSION, 0) } -func (s *Opt_exitcondContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) EXTERNAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXTERNAL, 0) } -func (s *Opt_exitcondContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) FAMILY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFAMILY, 0) } -func (s *Opt_exitcondContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_exitcond(s) - } +func (s *Unreserved_keywordContext) FILTER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFILTER, 0) } -func (s *Opt_exitcondContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_exitcond(s) - } +func (s *Unreserved_keywordContext) FINALIZE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFINALIZE, 0) } -func (s *Opt_exitcondContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitOpt_exitcond(s) +func (s *Unreserved_keywordContext) FIRST_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFIRST_P, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) FOLLOWING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFOLLOWING, 0) } -func (p *PostgreSQLParser) Opt_exitcond() (localctx IOpt_exitcondContext) { - localctx = NewOpt_exitcondContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1658, PostgreSQLParserRULE_opt_exitcond) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11521) - p.Match(PostgreSQLParserWHEN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(11522) - p.Expr_until_semi() - } +func (s *Unreserved_keywordContext) FORCE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFORCE, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) FORMAT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFORMAT, 0) } -// IAny_identifierContext is an interface to support dynamic dispatch. -type IAny_identifierContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) FORWARD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFORWARD, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) FUNCTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFUNCTION, 0) +} - // Getter signatures - Colid() IColidContext - Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext +func (s *Unreserved_keywordContext) FUNCTIONS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFUNCTIONS, 0) +} - // IsAny_identifierContext differentiates from other interfaces. - IsAny_identifierContext() +func (s *Unreserved_keywordContext) GENERATED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGENERATED, 0) } -type Any_identifierContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) GLOBAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGLOBAL, 0) } -func NewEmptyAny_identifierContext() *Any_identifierContext { - var p = new(Any_identifierContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_any_identifier - return p +func (s *Unreserved_keywordContext) GRANTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGRANTED, 0) } -func InitEmptyAny_identifierContext(p *Any_identifierContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_any_identifier +func (s *Unreserved_keywordContext) GROUPS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGROUPS, 0) } -func (*Any_identifierContext) IsAny_identifierContext() {} +func (s *Unreserved_keywordContext) HANDLER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserHANDLER, 0) +} -func NewAny_identifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Any_identifierContext { - var p = new(Any_identifierContext) +func (s *Unreserved_keywordContext) HEADER_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserHEADER_P, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) HOLD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserHOLD, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_any_identifier +func (s *Unreserved_keywordContext) HOUR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserHOUR_P, 0) +} - return p +func (s *Unreserved_keywordContext) IDENTITY_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIDENTITY_P, 0) } -func (s *Any_identifierContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) IF_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIF_P, 0) +} -func (s *Any_identifierContext) Colid() IColidContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IColidContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) IMMEDIATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIMMEDIATE, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) IMMUTABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIMMUTABLE, 0) +} - return t.(IColidContext) +func (s *Unreserved_keywordContext) IMPLICIT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIMPLICIT_P, 0) } -func (s *Any_identifierContext) Plsql_unreserved_keyword() IPlsql_unreserved_keywordContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPlsql_unreserved_keywordContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) IMPORT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIMPORT_P, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) INCLUDE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINCLUDE, 0) +} - return t.(IPlsql_unreserved_keywordContext) +func (s *Unreserved_keywordContext) INCLUDING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINCLUDING, 0) } -func (s *Any_identifierContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) INCREMENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINCREMENT, 0) } -func (s *Any_identifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) INDENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINDENT, 0) } -func (s *Any_identifierContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterAny_identifier(s) - } +func (s *Unreserved_keywordContext) INDEX() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINDEX, 0) } -func (s *Any_identifierContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitAny_identifier(s) - } +func (s *Unreserved_keywordContext) INDEXES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINDEXES, 0) } -func (s *Any_identifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitAny_identifier(s) +func (s *Unreserved_keywordContext) INHERIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINHERIT, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) INHERITS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINHERITS, 0) } -func (p *PostgreSQLParser) Any_identifier() (localctx IAny_identifierContext) { - localctx = NewAny_identifierContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1660, PostgreSQLParserRULE_any_identifier) - p.SetState(11526) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } +func (s *Unreserved_keywordContext) INLINE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINLINE_P, 0) +} - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1149, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11524) - p.Colid() - } +func (s *Unreserved_keywordContext) INPUT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINPUT_P, 0) +} - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(11525) - p.Plsql_unreserved_keyword() - } +func (s *Unreserved_keywordContext) INSENSITIVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINSENSITIVE, 0) +} - case antlr.ATNInvalidAltNumber: - goto errorExit - } +func (s *Unreserved_keywordContext) INSERT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINSERT, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) INSTEAD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINSTEAD, 0) } -// IPlsql_unreserved_keywordContext is an interface to support dynamic dispatch. -type IPlsql_unreserved_keywordContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) INVOKER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINVOKER, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) ISOLATION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserISOLATION, 0) +} - // Getter signatures - ABSOLUTE_P() antlr.TerminalNode - ALIAS() antlr.TerminalNode - AND() antlr.TerminalNode - ARRAY() antlr.TerminalNode - ASSERT() antlr.TerminalNode - BACKWARD() antlr.TerminalNode - CALL() antlr.TerminalNode - CHAIN() antlr.TerminalNode - CLOSE() antlr.TerminalNode - COLLATE() antlr.TerminalNode - COLUMN() antlr.TerminalNode - COMMIT() antlr.TerminalNode - CONSTANT() antlr.TerminalNode - CONSTRAINT() antlr.TerminalNode - CONTINUE_P() antlr.TerminalNode - CURRENT_P() antlr.TerminalNode - CURSOR() antlr.TerminalNode - DEBUG() antlr.TerminalNode - DEFAULT() antlr.TerminalNode - DIAGNOSTICS() antlr.TerminalNode - DO() antlr.TerminalNode - DUMP() antlr.TerminalNode - ELSIF() antlr.TerminalNode - ERROR() antlr.TerminalNode - EXCEPTION() antlr.TerminalNode - EXIT() antlr.TerminalNode - FETCH() antlr.TerminalNode - FIRST_P() antlr.TerminalNode - FORWARD() antlr.TerminalNode - GET() antlr.TerminalNode - INFO() antlr.TerminalNode - INSERT() antlr.TerminalNode - IS() antlr.TerminalNode - LAST_P() antlr.TerminalNode - MOVE() antlr.TerminalNode - NEXT() antlr.TerminalNode - NO() antlr.TerminalNode - NOTICE() antlr.TerminalNode - OPEN() antlr.TerminalNode - OPTION() antlr.TerminalNode - PERFORM() antlr.TerminalNode - PRINT_STRICT_PARAMS() antlr.TerminalNode - PRIOR() antlr.TerminalNode - QUERY() antlr.TerminalNode - RAISE() antlr.TerminalNode - RELATIVE_P() antlr.TerminalNode - RESET() antlr.TerminalNode - RETURN() antlr.TerminalNode - ROLLBACK() antlr.TerminalNode - ROWTYPE() antlr.TerminalNode - SCHEMA() antlr.TerminalNode - SCROLL() antlr.TerminalNode - SET() antlr.TerminalNode - SLICE() antlr.TerminalNode - SQLSTATE() antlr.TerminalNode - STACKED() antlr.TerminalNode - TABLE() antlr.TerminalNode - TYPE_P() antlr.TerminalNode - USE_COLUMN() antlr.TerminalNode - USE_VARIABLE() antlr.TerminalNode - VARIABLE_CONFLICT() antlr.TerminalNode - WARNING() antlr.TerminalNode - OUTER_P() antlr.TerminalNode +func (s *Unreserved_keywordContext) KEEP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserKEEP, 0) +} - // IsPlsql_unreserved_keywordContext differentiates from other interfaces. - IsPlsql_unreserved_keywordContext() +func (s *Unreserved_keywordContext) KEY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserKEY, 0) } -type Plsql_unreserved_keywordContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) KEYS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserKEYS, 0) } -func NewEmptyPlsql_unreserved_keywordContext() *Plsql_unreserved_keywordContext { - var p = new(Plsql_unreserved_keywordContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_plsql_unreserved_keyword - return p +func (s *Unreserved_keywordContext) LABEL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLABEL, 0) } -func InitEmptyPlsql_unreserved_keywordContext(p *Plsql_unreserved_keywordContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_plsql_unreserved_keyword +func (s *Unreserved_keywordContext) LANGUAGE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLANGUAGE, 0) } -func (*Plsql_unreserved_keywordContext) IsPlsql_unreserved_keywordContext() {} +func (s *Unreserved_keywordContext) LARGE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLARGE_P, 0) +} -func NewPlsql_unreserved_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Plsql_unreserved_keywordContext { - var p = new(Plsql_unreserved_keywordContext) +func (s *Unreserved_keywordContext) LAST_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLAST_P, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) LEAKPROOF() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLEAKPROOF, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_plsql_unreserved_keyword +func (s *Unreserved_keywordContext) LEVEL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLEVEL, 0) +} - return p +func (s *Unreserved_keywordContext) LISTEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLISTEN, 0) } -func (s *Plsql_unreserved_keywordContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) LOAD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOAD, 0) +} -func (s *Plsql_unreserved_keywordContext) ABSOLUTE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserABSOLUTE_P, 0) +func (s *Unreserved_keywordContext) LOCAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOCAL, 0) } -func (s *Plsql_unreserved_keywordContext) ALIAS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserALIAS, 0) +func (s *Unreserved_keywordContext) LOCATION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOCATION, 0) } -func (s *Plsql_unreserved_keywordContext) AND() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserAND, 0) +func (s *Unreserved_keywordContext) LOCK_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOCK_P, 0) } -func (s *Plsql_unreserved_keywordContext) ARRAY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserARRAY, 0) +func (s *Unreserved_keywordContext) LOCKED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOCKED, 0) } -func (s *Plsql_unreserved_keywordContext) ASSERT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserASSERT, 0) +func (s *Unreserved_keywordContext) LOGGED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLOGGED, 0) } -func (s *Plsql_unreserved_keywordContext) BACKWARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserBACKWARD, 0) +func (s *Unreserved_keywordContext) MAPPING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMAPPING, 0) } -func (s *Plsql_unreserved_keywordContext) CALL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCALL, 0) +func (s *Unreserved_keywordContext) MATCH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMATCH, 0) } -func (s *Plsql_unreserved_keywordContext) CHAIN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCHAIN, 0) +func (s *Unreserved_keywordContext) MATCHED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMATCHED, 0) } -func (s *Plsql_unreserved_keywordContext) CLOSE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCLOSE, 0) +func (s *Unreserved_keywordContext) MATERIALIZED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMATERIALIZED, 0) } -func (s *Plsql_unreserved_keywordContext) COLLATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLLATE, 0) +func (s *Unreserved_keywordContext) MAXVALUE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMAXVALUE, 0) } -func (s *Plsql_unreserved_keywordContext) COLUMN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOLUMN, 0) +func (s *Unreserved_keywordContext) MERGE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMERGE, 0) } -func (s *Plsql_unreserved_keywordContext) COMMIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCOMMIT, 0) +func (s *Unreserved_keywordContext) METHOD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMETHOD, 0) } -func (s *Plsql_unreserved_keywordContext) CONSTANT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONSTANT, 0) +func (s *Unreserved_keywordContext) MINUTE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMINUTE_P, 0) } -func (s *Plsql_unreserved_keywordContext) CONSTRAINT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONSTRAINT, 0) +func (s *Unreserved_keywordContext) MINVALUE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMINVALUE, 0) } -func (s *Plsql_unreserved_keywordContext) CONTINUE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCONTINUE_P, 0) +func (s *Unreserved_keywordContext) MODE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMODE, 0) } -func (s *Plsql_unreserved_keywordContext) CURRENT_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURRENT_P, 0) +func (s *Unreserved_keywordContext) MONTH_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMONTH_P, 0) } -func (s *Plsql_unreserved_keywordContext) CURSOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserCURSOR, 0) +func (s *Unreserved_keywordContext) MOVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMOVE, 0) } -func (s *Plsql_unreserved_keywordContext) DEBUG() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEBUG, 0) +func (s *Unreserved_keywordContext) NAME_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNAME_P, 0) } -func (s *Plsql_unreserved_keywordContext) DEFAULT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDEFAULT, 0) +func (s *Unreserved_keywordContext) NAMES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNAMES, 0) } -func (s *Plsql_unreserved_keywordContext) DIAGNOSTICS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDIAGNOSTICS, 0) +func (s *Unreserved_keywordContext) NESTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNESTED, 0) } -func (s *Plsql_unreserved_keywordContext) DO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDO, 0) +func (s *Unreserved_keywordContext) NEW() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNEW, 0) } -func (s *Plsql_unreserved_keywordContext) DUMP() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserDUMP, 0) +func (s *Unreserved_keywordContext) NEXT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNEXT, 0) } -func (s *Plsql_unreserved_keywordContext) ELSIF() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserELSIF, 0) +func (s *Unreserved_keywordContext) NFC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNFC, 0) } -func (s *Plsql_unreserved_keywordContext) ERROR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserERROR, 0) +func (s *Unreserved_keywordContext) NFD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNFD, 0) } -func (s *Plsql_unreserved_keywordContext) EXCEPTION() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXCEPTION, 0) +func (s *Unreserved_keywordContext) NFKC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNFKC, 0) } -func (s *Plsql_unreserved_keywordContext) EXIT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserEXIT, 0) +func (s *Unreserved_keywordContext) NFKD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNFKD, 0) } -func (s *Plsql_unreserved_keywordContext) FETCH() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFETCH, 0) +func (s *Unreserved_keywordContext) NO() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNO, 0) } -func (s *Plsql_unreserved_keywordContext) FIRST_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFIRST_P, 0) +func (s *Unreserved_keywordContext) NORMALIZED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNORMALIZED, 0) } -func (s *Plsql_unreserved_keywordContext) FORWARD() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserFORWARD, 0) +func (s *Unreserved_keywordContext) NOTHING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOTHING, 0) } -func (s *Plsql_unreserved_keywordContext) GET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserGET, 0) +func (s *Unreserved_keywordContext) NOTIFY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOTIFY, 0) } -func (s *Plsql_unreserved_keywordContext) INFO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINFO, 0) +func (s *Unreserved_keywordContext) NOWAIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOWAIT, 0) } -func (s *Plsql_unreserved_keywordContext) INSERT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINSERT, 0) +func (s *Unreserved_keywordContext) NULLS_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNULLS_P, 0) } -func (s *Plsql_unreserved_keywordContext) IS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserIS, 0) +func (s *Unreserved_keywordContext) OBJECT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOBJECT_P, 0) } -func (s *Plsql_unreserved_keywordContext) LAST_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserLAST_P, 0) +func (s *Unreserved_keywordContext) OBJECTS_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOBJECTS_P, 0) } -func (s *Plsql_unreserved_keywordContext) MOVE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserMOVE, 0) +func (s *Unreserved_keywordContext) OF() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOF, 0) } -func (s *Plsql_unreserved_keywordContext) NEXT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNEXT, 0) +func (s *Unreserved_keywordContext) OFF() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOFF, 0) } -func (s *Plsql_unreserved_keywordContext) NO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNO, 0) +func (s *Unreserved_keywordContext) OIDS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOIDS, 0) } -func (s *Plsql_unreserved_keywordContext) NOTICE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserNOTICE, 0) +func (s *Unreserved_keywordContext) OLD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOLD, 0) } -func (s *Plsql_unreserved_keywordContext) OPEN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOPEN, 0) +func (s *Unreserved_keywordContext) OMIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOMIT, 0) } -func (s *Plsql_unreserved_keywordContext) OPTION() antlr.TerminalNode { +func (s *Unreserved_keywordContext) OPERATOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPERATOR, 0) +} + +func (s *Unreserved_keywordContext) OPTION() antlr.TerminalNode { return s.GetToken(PostgreSQLParserOPTION, 0) } -func (s *Plsql_unreserved_keywordContext) PERFORM() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPERFORM, 0) +func (s *Unreserved_keywordContext) OPTIONS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOPTIONS, 0) } -func (s *Plsql_unreserved_keywordContext) PRINT_STRICT_PARAMS() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRINT_STRICT_PARAMS, 0) +func (s *Unreserved_keywordContext) ORDINALITY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserORDINALITY, 0) } -func (s *Plsql_unreserved_keywordContext) PRIOR() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserPRIOR, 0) +func (s *Unreserved_keywordContext) OTHERS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOTHERS, 0) } -func (s *Plsql_unreserved_keywordContext) QUERY() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserQUERY, 0) +func (s *Unreserved_keywordContext) OVER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOVER, 0) } -func (s *Plsql_unreserved_keywordContext) RAISE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRAISE, 0) +func (s *Unreserved_keywordContext) OVERRIDING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOVERRIDING, 0) } -func (s *Plsql_unreserved_keywordContext) RELATIVE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRELATIVE_P, 0) +func (s *Unreserved_keywordContext) OWNED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOWNED, 0) } -func (s *Plsql_unreserved_keywordContext) RESET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRESET, 0) +func (s *Unreserved_keywordContext) OWNER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOWNER, 0) } -func (s *Plsql_unreserved_keywordContext) RETURN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserRETURN, 0) +func (s *Unreserved_keywordContext) PARALLEL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARALLEL, 0) } -func (s *Plsql_unreserved_keywordContext) ROLLBACK() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROLLBACK, 0) +func (s *Unreserved_keywordContext) PARAMETER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARAMETER, 0) } -func (s *Plsql_unreserved_keywordContext) ROWTYPE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserROWTYPE, 0) +func (s *Unreserved_keywordContext) PARSER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARSER, 0) } -func (s *Plsql_unreserved_keywordContext) SCHEMA() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCHEMA, 0) +func (s *Unreserved_keywordContext) PARTIAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARTIAL, 0) } -func (s *Plsql_unreserved_keywordContext) SCROLL() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSCROLL, 0) +func (s *Unreserved_keywordContext) PARTITION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPARTITION, 0) } -func (s *Plsql_unreserved_keywordContext) SET() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSET, 0) +func (s *Unreserved_keywordContext) PASSING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPASSING, 0) } -func (s *Plsql_unreserved_keywordContext) SLICE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSLICE, 0) +func (s *Unreserved_keywordContext) PASSWORD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPASSWORD, 0) } -func (s *Plsql_unreserved_keywordContext) SQLSTATE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSQLSTATE, 0) +func (s *Unreserved_keywordContext) PATH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPATH, 0) } -func (s *Plsql_unreserved_keywordContext) STACKED() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserSTACKED, 0) +func (s *Unreserved_keywordContext) PERIOD() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPERIOD, 0) } -func (s *Plsql_unreserved_keywordContext) TABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTABLE, 0) +func (s *Unreserved_keywordContext) PLAN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPLAN, 0) } -func (s *Plsql_unreserved_keywordContext) TYPE_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserTYPE_P, 0) +func (s *Unreserved_keywordContext) PLANS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPLANS, 0) } -func (s *Plsql_unreserved_keywordContext) USE_COLUMN() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSE_COLUMN, 0) +func (s *Unreserved_keywordContext) POLICY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPOLICY, 0) } -func (s *Plsql_unreserved_keywordContext) USE_VARIABLE() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserUSE_VARIABLE, 0) +func (s *Unreserved_keywordContext) PRECEDING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRECEDING, 0) } -func (s *Plsql_unreserved_keywordContext) VARIABLE_CONFLICT() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserVARIABLE_CONFLICT, 0) +func (s *Unreserved_keywordContext) PREPARE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPREPARE, 0) } -func (s *Plsql_unreserved_keywordContext) WARNING() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserWARNING, 0) +func (s *Unreserved_keywordContext) PREPARED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPREPARED, 0) } -func (s *Plsql_unreserved_keywordContext) OUTER_P() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserOUTER_P, 0) +func (s *Unreserved_keywordContext) PRESERVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRESERVE, 0) } -func (s *Plsql_unreserved_keywordContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) PRIOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRIOR, 0) } -func (s *Plsql_unreserved_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) PRIVILEGES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRIVILEGES, 0) } -func (s *Plsql_unreserved_keywordContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterPlsql_unreserved_keyword(s) - } +func (s *Unreserved_keywordContext) PROCEDURAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPROCEDURAL, 0) } -func (s *Plsql_unreserved_keywordContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitPlsql_unreserved_keyword(s) - } +func (s *Unreserved_keywordContext) PROCEDURE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPROCEDURE, 0) } -func (s *Plsql_unreserved_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitPlsql_unreserved_keyword(s) +func (s *Unreserved_keywordContext) PROCEDURES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPROCEDURES, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) PROGRAM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPROGRAM, 0) } -func (p *PostgreSQLParser) Plsql_unreserved_keyword() (localctx IPlsql_unreserved_keywordContext) { - localctx = NewPlsql_unreserved_keywordContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1662, PostgreSQLParserRULE_plsql_unreserved_keyword) - var _la int +func (s *Unreserved_keywordContext) PUBLICATION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPUBLICATION, 0) +} - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11528) - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) QUOTE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserQUOTE, 0) +} - if !(((int64((_la-33)) & ^0x3f) == 0 && ((int64(1)<<(_la-33))&576460752589691909) != 0) || ((int64((_la-135)) & ^0x3f) == 0 && ((int64(1)<<(_la-135))&74346914954363009) != 0) || ((int64((_la-226)) & ^0x3f) == 0 && ((int64(1)<<(_la-226))&56295003965620233) != 0) || ((int64((_la-291)) & ^0x3f) == 0 && ((int64(1)<<(_la-291))&18068292027564033) != 0) || _la == PostgreSQLParserTYPE_P || ((int64((_la-454)) & ^0x3f) == 0 && ((int64(1)<<(_la-454))&-144097595889811453) != 0) || ((int64((_la-518)) & ^0x3f) == 0 && ((int64(1)<<(_la-518))&12516927) != 0)) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() - } - } +func (s *Unreserved_keywordContext) QUOTES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserQUOTES, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) RANGE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRANGE, 0) } -// ISql_expressionContext is an interface to support dynamic dispatch. -type ISql_expressionContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) READ() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREAD, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) REASSIGN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREASSIGN, 0) +} - // Getter signatures - Opt_target_list() IOpt_target_listContext - Distinct_clause() IDistinct_clauseContext - From_clause() IFrom_clauseContext - Where_clause() IWhere_clauseContext - Group_clause() IGroup_clauseContext - Having_clause() IHaving_clauseContext - Window_clause() IWindow_clauseContext - Opt_sort_clause() IOpt_sort_clauseContext - Opt_select_limit() IOpt_select_limitContext - Opt_for_locking_clause() IOpt_for_locking_clauseContext +func (s *Unreserved_keywordContext) RECURSIVE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRECURSIVE, 0) +} - // IsSql_expressionContext differentiates from other interfaces. - IsSql_expressionContext() +func (s *Unreserved_keywordContext) REF_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREF_P, 0) } -type Sql_expressionContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) REFERENCING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREFERENCING, 0) } -func NewEmptySql_expressionContext() *Sql_expressionContext { - var p = new(Sql_expressionContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_sql_expression - return p +func (s *Unreserved_keywordContext) REFRESH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREFRESH, 0) } -func InitEmptySql_expressionContext(p *Sql_expressionContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_sql_expression +func (s *Unreserved_keywordContext) REINDEX() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREINDEX, 0) } -func (*Sql_expressionContext) IsSql_expressionContext() {} +func (s *Unreserved_keywordContext) RELATIVE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRELATIVE_P, 0) +} -func NewSql_expressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Sql_expressionContext { - var p = new(Sql_expressionContext) +func (s *Unreserved_keywordContext) RELEASE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRELEASE, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) RENAME() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRENAME, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_sql_expression +func (s *Unreserved_keywordContext) REPEATABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREPEATABLE, 0) +} - return p +func (s *Unreserved_keywordContext) REPLACE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREPLACE, 0) } -func (s *Sql_expressionContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) REPLICA() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREPLICA, 0) +} -func (s *Sql_expressionContext) Opt_target_list() IOpt_target_listContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_target_listContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) RESET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRESET, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) RESTART() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRESTART, 0) +} - return t.(IOpt_target_listContext) +func (s *Unreserved_keywordContext) RESTRICT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRESTRICT, 0) } -func (s *Sql_expressionContext) Distinct_clause() IDistinct_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDistinct_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) RETURN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRETURN, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) RETURNS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRETURNS, 0) +} - return t.(IDistinct_clauseContext) +func (s *Unreserved_keywordContext) REVOKE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREVOKE, 0) } -func (s *Sql_expressionContext) From_clause() IFrom_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFrom_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) ROLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROLE, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) ROLLBACK() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROLLBACK, 0) +} - return t.(IFrom_clauseContext) +func (s *Unreserved_keywordContext) ROLLUP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROLLUP, 0) } -func (s *Sql_expressionContext) Where_clause() IWhere_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IWhere_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) ROUTINE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROUTINE, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) ROUTINES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROUTINES, 0) +} - return t.(IWhere_clauseContext) +func (s *Unreserved_keywordContext) ROWS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROWS, 0) } -func (s *Sql_expressionContext) Group_clause() IGroup_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGroup_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) RULE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRULE, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) SAVEPOINT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSAVEPOINT, 0) +} - return t.(IGroup_clauseContext) +func (s *Unreserved_keywordContext) SCALAR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCALAR, 0) } -func (s *Sql_expressionContext) Having_clause() IHaving_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IHaving_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) SCHEMA() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCHEMA, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) SCHEMAS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCHEMAS, 0) +} - return t.(IHaving_clauseContext) +func (s *Unreserved_keywordContext) SCROLL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSCROLL, 0) } -func (s *Sql_expressionContext) Window_clause() IWindow_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IWindow_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) SEARCH() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEARCH, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) SECOND_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSECOND_P, 0) +} - return t.(IWindow_clauseContext) +func (s *Unreserved_keywordContext) SECURITY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSECURITY, 0) } -func (s *Sql_expressionContext) Opt_sort_clause() IOpt_sort_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_sort_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) SEQUENCE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEQUENCE, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) SEQUENCES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSEQUENCES, 0) +} - return t.(IOpt_sort_clauseContext) +func (s *Unreserved_keywordContext) SERIALIZABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSERIALIZABLE, 0) } -func (s *Sql_expressionContext) Opt_select_limit() IOpt_select_limitContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_select_limitContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) SERVER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSERVER, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) SESSION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSESSION, 0) +} - return t.(IOpt_select_limitContext) +func (s *Unreserved_keywordContext) SET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSET, 0) } -func (s *Sql_expressionContext) Opt_for_locking_clause() IOpt_for_locking_clauseContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_for_locking_clauseContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) SETS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSETS, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) SHARE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSHARE, 0) +} - return t.(IOpt_for_locking_clauseContext) +func (s *Unreserved_keywordContext) SHOW() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSHOW, 0) } -func (s *Sql_expressionContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) SIMPLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSIMPLE, 0) } -func (s *Sql_expressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) SKIP_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSKIP_P, 0) } -func (s *Sql_expressionContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterSql_expression(s) - } +func (s *Unreserved_keywordContext) SNAPSHOT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSNAPSHOT, 0) } -func (s *Sql_expressionContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitSql_expression(s) - } +func (s *Unreserved_keywordContext) SOURCE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSOURCE, 0) } -func (s *Sql_expressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitSql_expression(s) +func (s *Unreserved_keywordContext) SQL_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSQL_P, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) STABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTABLE, 0) } -func (p *PostgreSQLParser) Sql_expression() (localctx ISql_expressionContext) { - localctx = NewSql_expressionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1664, PostgreSQLParserRULE_sql_expression) - var _la int +func (s *Unreserved_keywordContext) STANDALONE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTANDALONE_P, 0) +} - p.EnterOuterAlt(localctx, 1) - p.SetState(11531) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) START() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTART, 0) +} - if _la == PostgreSQLParserDISTINCT { - { - p.SetState(11530) - p.Distinct_clause() - } +func (s *Unreserved_keywordContext) STATEMENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTATEMENT, 0) +} - } - { - p.SetState(11533) - p.Opt_target_list() - } - p.SetState(11535) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) STATISTICS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTATISTICS, 0) +} - if _la == PostgreSQLParserFROM { - { - p.SetState(11534) - p.From_clause() - } +func (s *Unreserved_keywordContext) STDIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTDIN, 0) +} - } - p.SetState(11538) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) STDOUT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTDOUT, 0) +} - if _la == PostgreSQLParserWHERE { - { - p.SetState(11537) - p.Where_clause() - } +func (s *Unreserved_keywordContext) STORAGE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTORAGE, 0) +} - } - p.SetState(11541) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) STORED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTORED, 0) +} - if _la == PostgreSQLParserGROUP_P { - { - p.SetState(11540) - p.Group_clause() - } +func (s *Unreserved_keywordContext) STRICT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTRICT_P, 0) +} - } - p.SetState(11544) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) STRING_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTRING_P, 0) +} - if _la == PostgreSQLParserHAVING { - { - p.SetState(11543) - p.Having_clause() - } +func (s *Unreserved_keywordContext) STRIP_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSTRIP_P, 0) +} - } - p.SetState(11547) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) SUBSCRIPTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSUBSCRIPTION, 0) +} - if _la == PostgreSQLParserWINDOW { - { - p.SetState(11546) - p.Window_clause() - } +func (s *Unreserved_keywordContext) SUPPORT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSUPPORT, 0) +} - } - p.SetState(11550) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) SYSID() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSYSID, 0) +} - if _la == PostgreSQLParserORDER { - { - p.SetState(11549) - p.Opt_sort_clause() - } +func (s *Unreserved_keywordContext) SYSTEM_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSYSTEM_P, 0) +} - } - p.SetState(11553) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) TABLES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTABLES, 0) +} - if (int64((_la-61)) & ^0x3f) == 0 && ((int64(1)<<(_la-61))&270337) != 0 { - { - p.SetState(11552) - p.Opt_select_limit() - } +func (s *Unreserved_keywordContext) TABLESPACE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTABLESPACE, 0) +} - } - p.SetState(11556) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *Unreserved_keywordContext) TARGET() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTARGET, 0) +} - if _la == PostgreSQLParserFOR { - { - p.SetState(11555) - p.Opt_for_locking_clause() - } +func (s *Unreserved_keywordContext) TEMP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTEMP, 0) +} - } +func (s *Unreserved_keywordContext) TEMPLATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTEMPLATE, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) TEMPORARY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTEMPORARY, 0) } -// IExpr_until_thenContext is an interface to support dynamic dispatch. -type IExpr_until_thenContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) TEXT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTEXT_P, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) TIES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTIES, 0) +} - // Getter signatures - Sql_expression() ISql_expressionContext +func (s *Unreserved_keywordContext) TRANSACTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRANSACTION, 0) +} - // IsExpr_until_thenContext differentiates from other interfaces. - IsExpr_until_thenContext() +func (s *Unreserved_keywordContext) TRANSFORM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRANSFORM, 0) } -type Expr_until_thenContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) TRIGGER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRIGGER, 0) } -func NewEmptyExpr_until_thenContext() *Expr_until_thenContext { - var p = new(Expr_until_thenContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_then - return p +func (s *Unreserved_keywordContext) TRUNCATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRUNCATE, 0) } -func InitEmptyExpr_until_thenContext(p *Expr_until_thenContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_then +func (s *Unreserved_keywordContext) TRUSTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRUSTED, 0) } -func (*Expr_until_thenContext) IsExpr_until_thenContext() {} +func (s *Unreserved_keywordContext) TYPE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTYPE_P, 0) +} -func NewExpr_until_thenContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_thenContext { - var p = new(Expr_until_thenContext) +func (s *Unreserved_keywordContext) TYPES_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTYPES_P, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) UESCAPE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUESCAPE, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_expr_until_then +func (s *Unreserved_keywordContext) UNBOUNDED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNBOUNDED, 0) +} - return p +func (s *Unreserved_keywordContext) UNCOMMITTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNCOMMITTED, 0) } -func (s *Expr_until_thenContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) UNCONDITIONAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNCONDITIONAL, 0) +} -func (s *Expr_until_thenContext) Sql_expression() ISql_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) UNENCRYPTED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNENCRYPTED, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) UNKNOWN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNKNOWN, 0) +} - return t.(ISql_expressionContext) +func (s *Unreserved_keywordContext) UNLISTEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNLISTEN, 0) } -func (s *Expr_until_thenContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Unreserved_keywordContext) UNLOGGED() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNLOGGED, 0) } -func (s *Expr_until_thenContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Unreserved_keywordContext) UNTIL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUNTIL, 0) } -func (s *Expr_until_thenContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterExpr_until_then(s) - } +func (s *Unreserved_keywordContext) UPDATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserUPDATE, 0) } -func (s *Expr_until_thenContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitExpr_until_then(s) - } +func (s *Unreserved_keywordContext) VACUUM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVACUUM, 0) } -func (s *Expr_until_thenContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitExpr_until_then(s) +func (s *Unreserved_keywordContext) VALID() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVALID, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Unreserved_keywordContext) VALIDATE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVALIDATE, 0) } -func (p *PostgreSQLParser) Expr_until_then() (localctx IExpr_until_thenContext) { - localctx = NewExpr_until_thenContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1666, PostgreSQLParserRULE_expr_until_then) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11558) - p.Sql_expression() - } +func (s *Unreserved_keywordContext) VALIDATOR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVALIDATOR, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Unreserved_keywordContext) VALUE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVALUE_P, 0) } -// IExpr_until_semiContext is an interface to support dynamic dispatch. -type IExpr_until_semiContext interface { - antlr.ParserRuleContext +func (s *Unreserved_keywordContext) VARYING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVARYING, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Unreserved_keywordContext) VERSION_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVERSION_P, 0) +} - // Getter signatures - Sql_expression() ISql_expressionContext +func (s *Unreserved_keywordContext) VIEW() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVIEW, 0) +} - // IsExpr_until_semiContext differentiates from other interfaces. - IsExpr_until_semiContext() +func (s *Unreserved_keywordContext) VIEWS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVIEWS, 0) } -type Expr_until_semiContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Unreserved_keywordContext) VIRTUAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVIRTUAL, 0) } -func NewEmptyExpr_until_semiContext() *Expr_until_semiContext { - var p = new(Expr_until_semiContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_semi - return p +func (s *Unreserved_keywordContext) VOLATILE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVOLATILE, 0) } -func InitEmptyExpr_until_semiContext(p *Expr_until_semiContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_semi +func (s *Unreserved_keywordContext) WHITESPACE_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWHITESPACE_P, 0) } -func (*Expr_until_semiContext) IsExpr_until_semiContext() {} +func (s *Unreserved_keywordContext) WITHIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWITHIN, 0) +} -func NewExpr_until_semiContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_semiContext { - var p = new(Expr_until_semiContext) +func (s *Unreserved_keywordContext) WITHOUT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWITHOUT, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Unreserved_keywordContext) WORK() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWORK, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_expr_until_semi +func (s *Unreserved_keywordContext) WRAPPER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWRAPPER, 0) +} - return p +func (s *Unreserved_keywordContext) WRITE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserWRITE, 0) } -func (s *Expr_until_semiContext) GetParser() antlr.Parser { return s.parser } +func (s *Unreserved_keywordContext) XML_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXML_P, 0) +} -func (s *Expr_until_semiContext) Sql_expression() ISql_expressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISql_expressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Unreserved_keywordContext) YEAR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserYEAR_P, 0) +} - if t == nil { - return nil - } +func (s *Unreserved_keywordContext) YES_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserYES_P, 0) +} - return t.(ISql_expressionContext) +func (s *Unreserved_keywordContext) ZONE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserZONE, 0) } -func (s *Expr_until_semiContext) GetRuleContext() antlr.RuleContext { +func (s *Unreserved_keywordContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Expr_until_semiContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Unreserved_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Expr_until_semiContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Unreserved_keywordContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterExpr_until_semi(s) + listenerT.EnterUnreserved_keyword(s) } } -func (s *Expr_until_semiContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Unreserved_keywordContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitExpr_until_semi(s) + listenerT.ExitUnreserved_keyword(s) } } -func (s *Expr_until_semiContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Unreserved_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitExpr_until_semi(s) + return t.VisitUnreserved_keyword(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Expr_until_semi() (localctx IExpr_until_semiContext) { - localctx = NewExpr_until_semiContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1668, PostgreSQLParserRULE_expr_until_semi) +func (p *PostgreSQLParser) Unreserved_keyword() (localctx IUnreserved_keywordContext) { + localctx = NewUnreserved_keywordContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1672, PostgreSQLParserRULE_unreserved_keyword) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11560) - p.Sql_expression() + p.SetState(11512) + _la = p.GetTokenStream().LA(1) + + if !(((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-4336052189205087234) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-590113027674800657) != 0) || ((int64((_la-129)) & ^0x3f) == 0 && ((int64(1)<<(_la-129))&9204783895587486687) != 0) || ((int64((_la-193)) & ^0x3f) == 0 && ((int64(1)<<(_la-193))&-288449007435345799) != 0) || ((int64((_la-257)) & ^0x3f) == 0 && ((int64(1)<<(_la-257))&-1153160701046603833) != 0) || ((int64((_la-322)) & ^0x3f) == 0 && ((int64(1)<<(_la-322))&6881482329196199901) != 0) || ((int64((_la-386)) & ^0x3f) == 0 && ((int64(1)<<(_la-386))&-3460627642263273801) != 0) || ((int64((_la-450)) & ^0x3f) == 0 && ((int64(1)<<(_la-450))&30788444726247) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } } errorExit: @@ -194193,366 +192805,412 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IExpr_until_rightbracketContext is an interface to support dynamic dispatch. -type IExpr_until_rightbracketContext interface { +// ICol_name_keywordContext is an interface to support dynamic dispatch. +type ICol_name_keywordContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - A_expr() IA_exprContext + BETWEEN() antlr.TerminalNode + BIGINT() antlr.TerminalNode + BIT() antlr.TerminalNode + BOOLEAN_P() antlr.TerminalNode + CHAR_P() antlr.TerminalNode + CHARACTER() antlr.TerminalNode + COALESCE() antlr.TerminalNode + DEC() antlr.TerminalNode + DECIMAL_P() antlr.TerminalNode + EXISTS() antlr.TerminalNode + EXTRACT() antlr.TerminalNode + FLOAT_P() antlr.TerminalNode + GREATEST() antlr.TerminalNode + GROUPING() antlr.TerminalNode + INOUT() antlr.TerminalNode + INT_P() antlr.TerminalNode + INTEGER() antlr.TerminalNode + INTERVAL() antlr.TerminalNode + JSON() antlr.TerminalNode + JSON_ARRAY() antlr.TerminalNode + JSON_ARRAYAGG() antlr.TerminalNode + JSON_EXISTS() antlr.TerminalNode + JSON_OBJECT() antlr.TerminalNode + JSON_OBJECTAGG() antlr.TerminalNode + JSON_QUERY() antlr.TerminalNode + JSON_SCALAR() antlr.TerminalNode + JSON_SERIALIZE() antlr.TerminalNode + JSON_TABLE() antlr.TerminalNode + JSON_VALUE() antlr.TerminalNode + LEAST() antlr.TerminalNode + MERGE_ACTION() antlr.TerminalNode + NATIONAL() antlr.TerminalNode + NCHAR() antlr.TerminalNode + NONE() antlr.TerminalNode + NORMALIZE() antlr.TerminalNode + NULLIF() antlr.TerminalNode + NUMERIC() antlr.TerminalNode + OUT_P() antlr.TerminalNode + OVERLAY() antlr.TerminalNode + POSITION() antlr.TerminalNode + PRECISION() antlr.TerminalNode + REAL() antlr.TerminalNode + ROW() antlr.TerminalNode + SETOF() antlr.TerminalNode + SMALLINT() antlr.TerminalNode + SUBSTRING() antlr.TerminalNode + TIME() antlr.TerminalNode + TIMESTAMP() antlr.TerminalNode + TREAT() antlr.TerminalNode + TRIM() antlr.TerminalNode + VALUES() antlr.TerminalNode + VARCHAR() antlr.TerminalNode + XMLATTRIBUTES() antlr.TerminalNode + XMLCONCAT() antlr.TerminalNode + XMLELEMENT() antlr.TerminalNode + XMLEXISTS() antlr.TerminalNode + XMLFOREST() antlr.TerminalNode + XMLNAMESPACES() antlr.TerminalNode + XMLPARSE() antlr.TerminalNode + XMLPI() antlr.TerminalNode + XMLROOT() antlr.TerminalNode + XMLSERIALIZE() antlr.TerminalNode + XMLTABLE() antlr.TerminalNode - // IsExpr_until_rightbracketContext differentiates from other interfaces. - IsExpr_until_rightbracketContext() + // IsCol_name_keywordContext differentiates from other interfaces. + IsCol_name_keywordContext() } -type Expr_until_rightbracketContext struct { +type Col_name_keywordContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyExpr_until_rightbracketContext() *Expr_until_rightbracketContext { - var p = new(Expr_until_rightbracketContext) +func NewEmptyCol_name_keywordContext() *Col_name_keywordContext { + var p = new(Col_name_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_rightbracket + p.RuleIndex = PostgreSQLParserRULE_col_name_keyword return p } -func InitEmptyExpr_until_rightbracketContext(p *Expr_until_rightbracketContext) { +func InitEmptyCol_name_keywordContext(p *Col_name_keywordContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_rightbracket + p.RuleIndex = PostgreSQLParserRULE_col_name_keyword } -func (*Expr_until_rightbracketContext) IsExpr_until_rightbracketContext() {} +func (*Col_name_keywordContext) IsCol_name_keywordContext() {} -func NewExpr_until_rightbracketContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_rightbracketContext { - var p = new(Expr_until_rightbracketContext) +func NewCol_name_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Col_name_keywordContext { + var p = new(Col_name_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_expr_until_rightbracket + p.RuleIndex = PostgreSQLParserRULE_col_name_keyword return p } -func (s *Expr_until_rightbracketContext) GetParser() antlr.Parser { return s.parser } +func (s *Col_name_keywordContext) GetParser() antlr.Parser { return s.parser } -func (s *Expr_until_rightbracketContext) A_expr() IA_exprContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Col_name_keywordContext) BETWEEN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBETWEEN, 0) +} - if t == nil { - return nil - } +func (s *Col_name_keywordContext) BIGINT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBIGINT, 0) +} - return t.(IA_exprContext) +func (s *Col_name_keywordContext) BIT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBIT, 0) } -func (s *Expr_until_rightbracketContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Col_name_keywordContext) BOOLEAN_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBOOLEAN_P, 0) } -func (s *Expr_until_rightbracketContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Col_name_keywordContext) CHAR_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHAR_P, 0) } -func (s *Expr_until_rightbracketContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterExpr_until_rightbracket(s) - } +func (s *Col_name_keywordContext) CHARACTER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCHARACTER, 0) } -func (s *Expr_until_rightbracketContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitExpr_until_rightbracket(s) - } +func (s *Col_name_keywordContext) COALESCE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOALESCE, 0) } -func (s *Expr_until_rightbracketContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitExpr_until_rightbracket(s) +func (s *Col_name_keywordContext) DEC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDEC, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Col_name_keywordContext) DECIMAL_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserDECIMAL_P, 0) } -func (p *PostgreSQLParser) Expr_until_rightbracket() (localctx IExpr_until_rightbracketContext) { - localctx = NewExpr_until_rightbracketContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1670, PostgreSQLParserRULE_expr_until_rightbracket) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11562) - p.A_expr() - } +func (s *Col_name_keywordContext) EXISTS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXISTS, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Col_name_keywordContext) EXTRACT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserEXTRACT, 0) } -// IExpr_until_loopContext is an interface to support dynamic dispatch. -type IExpr_until_loopContext interface { - antlr.ParserRuleContext +func (s *Col_name_keywordContext) FLOAT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFLOAT_P, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Col_name_keywordContext) GREATEST() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGREATEST, 0) +} - // Getter signatures - A_expr() IA_exprContext +func (s *Col_name_keywordContext) GROUPING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserGROUPING, 0) +} - // IsExpr_until_loopContext differentiates from other interfaces. - IsExpr_until_loopContext() +func (s *Col_name_keywordContext) INOUT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINOUT, 0) } -type Expr_until_loopContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Col_name_keywordContext) INT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINT_P, 0) } -func NewEmptyExpr_until_loopContext() *Expr_until_loopContext { - var p = new(Expr_until_loopContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_loop - return p +func (s *Col_name_keywordContext) INTEGER() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTEGER, 0) } -func InitEmptyExpr_until_loopContext(p *Expr_until_loopContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_expr_until_loop +func (s *Col_name_keywordContext) INTERVAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINTERVAL, 0) } -func (*Expr_until_loopContext) IsExpr_until_loopContext() {} +func (s *Col_name_keywordContext) JSON() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON, 0) +} -func NewExpr_until_loopContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Expr_until_loopContext { - var p = new(Expr_until_loopContext) +func (s *Col_name_keywordContext) JSON_ARRAY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_ARRAY, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Col_name_keywordContext) JSON_ARRAYAGG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_ARRAYAGG, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_expr_until_loop +func (s *Col_name_keywordContext) JSON_EXISTS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_EXISTS, 0) +} - return p +func (s *Col_name_keywordContext) JSON_OBJECT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_OBJECT, 0) } -func (s *Expr_until_loopContext) GetParser() antlr.Parser { return s.parser } +func (s *Col_name_keywordContext) JSON_OBJECTAGG() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_OBJECTAGG, 0) +} -func (s *Expr_until_loopContext) A_expr() IA_exprContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IA_exprContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Col_name_keywordContext) JSON_QUERY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_QUERY, 0) +} - if t == nil { - return nil - } +func (s *Col_name_keywordContext) JSON_SCALAR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_SCALAR, 0) +} - return t.(IA_exprContext) +func (s *Col_name_keywordContext) JSON_SERIALIZE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_SERIALIZE, 0) } -func (s *Expr_until_loopContext) GetRuleContext() antlr.RuleContext { - return s +func (s *Col_name_keywordContext) JSON_TABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_TABLE, 0) } -func (s *Expr_until_loopContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *Col_name_keywordContext) JSON_VALUE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJSON_VALUE, 0) } -func (s *Expr_until_loopContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterExpr_until_loop(s) - } +func (s *Col_name_keywordContext) LEAST() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLEAST, 0) } -func (s *Expr_until_loopContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitExpr_until_loop(s) - } +func (s *Col_name_keywordContext) MERGE_ACTION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserMERGE_ACTION, 0) } -func (s *Expr_until_loopContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case PostgreSQLParserVisitor: - return t.VisitExpr_until_loop(s) +func (s *Col_name_keywordContext) NATIONAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNATIONAL, 0) +} - default: - return t.VisitChildren(s) - } +func (s *Col_name_keywordContext) NCHAR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNCHAR, 0) } -func (p *PostgreSQLParser) Expr_until_loop() (localctx IExpr_until_loopContext) { - localctx = NewExpr_until_loopContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1672, PostgreSQLParserRULE_expr_until_loop) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(11564) - p.A_expr() - } +func (s *Col_name_keywordContext) NONE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNONE, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *Col_name_keywordContext) NORMALIZE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNORMALIZE, 0) } -// IMake_execsql_stmtContext is an interface to support dynamic dispatch. -type IMake_execsql_stmtContext interface { - antlr.ParserRuleContext +func (s *Col_name_keywordContext) NULLIF() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNULLIF, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *Col_name_keywordContext) NUMERIC() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNUMERIC, 0) +} - // Getter signatures - Stmt() IStmtContext - Opt_returning_clause_into() IOpt_returning_clause_intoContext +func (s *Col_name_keywordContext) OUT_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOUT_P, 0) +} - // IsMake_execsql_stmtContext differentiates from other interfaces. - IsMake_execsql_stmtContext() +func (s *Col_name_keywordContext) OVERLAY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOVERLAY, 0) } -type Make_execsql_stmtContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *Col_name_keywordContext) POSITION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPOSITION, 0) } -func NewEmptyMake_execsql_stmtContext() *Make_execsql_stmtContext { - var p = new(Make_execsql_stmtContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_make_execsql_stmt - return p +func (s *Col_name_keywordContext) PRECISION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserPRECISION, 0) } -func InitEmptyMake_execsql_stmtContext(p *Make_execsql_stmtContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_make_execsql_stmt +func (s *Col_name_keywordContext) REAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserREAL, 0) } -func (*Make_execsql_stmtContext) IsMake_execsql_stmtContext() {} +func (s *Col_name_keywordContext) ROW() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserROW, 0) +} -func NewMake_execsql_stmtContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Make_execsql_stmtContext { - var p = new(Make_execsql_stmtContext) +func (s *Col_name_keywordContext) SETOF() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSETOF, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *Col_name_keywordContext) SMALLINT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSMALLINT, 0) +} - p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_make_execsql_stmt +func (s *Col_name_keywordContext) SUBSTRING() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSUBSTRING, 0) +} - return p +func (s *Col_name_keywordContext) TIME() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTIME, 0) } -func (s *Make_execsql_stmtContext) GetParser() antlr.Parser { return s.parser } +func (s *Col_name_keywordContext) TIMESTAMP() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTIMESTAMP, 0) +} -func (s *Make_execsql_stmtContext) Stmt() IStmtContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStmtContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Col_name_keywordContext) TREAT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTREAT, 0) +} - if t == nil { - return nil - } +func (s *Col_name_keywordContext) TRIM() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTRIM, 0) +} - return t.(IStmtContext) +func (s *Col_name_keywordContext) VALUES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVALUES, 0) } -func (s *Make_execsql_stmtContext) Opt_returning_clause_into() IOpt_returning_clause_intoContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_returning_clause_intoContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Col_name_keywordContext) VARCHAR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVARCHAR, 0) +} - if t == nil { - return nil - } +func (s *Col_name_keywordContext) XMLATTRIBUTES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLATTRIBUTES, 0) +} - return t.(IOpt_returning_clause_intoContext) +func (s *Col_name_keywordContext) XMLCONCAT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLCONCAT, 0) } -func (s *Make_execsql_stmtContext) GetRuleContext() antlr.RuleContext { +func (s *Col_name_keywordContext) XMLELEMENT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLELEMENT, 0) +} + +func (s *Col_name_keywordContext) XMLEXISTS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLEXISTS, 0) +} + +func (s *Col_name_keywordContext) XMLFOREST() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLFOREST, 0) +} + +func (s *Col_name_keywordContext) XMLNAMESPACES() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLNAMESPACES, 0) +} + +func (s *Col_name_keywordContext) XMLPARSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLPARSE, 0) +} + +func (s *Col_name_keywordContext) XMLPI() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLPI, 0) +} + +func (s *Col_name_keywordContext) XMLROOT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLROOT, 0) +} + +func (s *Col_name_keywordContext) XMLSERIALIZE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLSERIALIZE, 0) +} + +func (s *Col_name_keywordContext) XMLTABLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserXMLTABLE, 0) +} + +func (s *Col_name_keywordContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Make_execsql_stmtContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Col_name_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Make_execsql_stmtContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Col_name_keywordContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterMake_execsql_stmt(s) + listenerT.EnterCol_name_keyword(s) } } -func (s *Make_execsql_stmtContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Col_name_keywordContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitMake_execsql_stmt(s) + listenerT.ExitCol_name_keyword(s) } } -func (s *Make_execsql_stmtContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Col_name_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitMake_execsql_stmt(s) + return t.VisitCol_name_keyword(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Make_execsql_stmt() (localctx IMake_execsql_stmtContext) { - localctx = NewMake_execsql_stmtContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1674, PostgreSQLParserRULE_make_execsql_stmt) +func (p *PostgreSQLParser) Col_name_keyword() (localctx ICol_name_keywordContext) { + localctx = NewCol_name_keywordContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1674, PostgreSQLParserRULE_col_name_keyword) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(11566) - p.Stmt() - } - p.SetState(11568) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + p.SetState(11514) + _la = p.GetTokenStream().LA(1) - if _la == PostgreSQLParserINTO { - { - p.SetState(11567) - p.Opt_returning_clause_into() + if !(((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&291608307800473600) != 0) || ((int64((_la-98)) & ^0x3f) == 0 && ((int64(1)<<(_la-98))&9079767022174211) != 0) || ((int64((_la-167)) & ^0x3f) == 0 && ((int64(1)<<(_la-167))&18005697174175749) != 0) || ((int64((_la-231)) & ^0x3f) == 0 && ((int64(1)<<(_la-231))&2818050987393025) != 0) || ((int64((_la-300)) & ^0x3f) == 0 && ((int64(1)<<(_la-300))&549766299665) != 0) || ((int64((_la-366)) & ^0x3f) == 0 && ((int64(1)<<(_la-366))&6917546619894759425) != 0) || ((int64((_la-433)) & ^0x3f) == 0 && ((int64(1)<<(_la-433))&576179277729366021) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } - } errorExit: @@ -194568,147 +193226,212 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IOpt_returning_clause_intoContext is an interface to support dynamic dispatch. -type IOpt_returning_clause_intoContext interface { +// IType_func_name_keywordContext is an interface to support dynamic dispatch. +type IType_func_name_keywordContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - INTO() antlr.TerminalNode - Into_target() IInto_targetContext - Opt_strict() IOpt_strictContext + AUTHORIZATION() antlr.TerminalNode + BINARY() antlr.TerminalNode + COLLATION() antlr.TerminalNode + CONCURRENTLY() antlr.TerminalNode + CROSS() antlr.TerminalNode + CURRENT_SCHEMA() antlr.TerminalNode + FREEZE() antlr.TerminalNode + FULL() antlr.TerminalNode + ILIKE() antlr.TerminalNode + INNER_P() antlr.TerminalNode + IS() antlr.TerminalNode + ISNULL() antlr.TerminalNode + JOIN() antlr.TerminalNode + LEFT() antlr.TerminalNode + LIKE() antlr.TerminalNode + NATURAL() antlr.TerminalNode + NOTNULL() antlr.TerminalNode + OUTER_P() antlr.TerminalNode + OVERLAPS() antlr.TerminalNode + RIGHT() antlr.TerminalNode + SIMILAR() antlr.TerminalNode + TABLESAMPLE() antlr.TerminalNode + VERBOSE() antlr.TerminalNode - // IsOpt_returning_clause_intoContext differentiates from other interfaces. - IsOpt_returning_clause_intoContext() + // IsType_func_name_keywordContext differentiates from other interfaces. + IsType_func_name_keywordContext() } -type Opt_returning_clause_intoContext struct { +type Type_func_name_keywordContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyOpt_returning_clause_intoContext() *Opt_returning_clause_intoContext { - var p = new(Opt_returning_clause_intoContext) +func NewEmptyType_func_name_keywordContext() *Type_func_name_keywordContext { + var p = new(Type_func_name_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_returning_clause_into + p.RuleIndex = PostgreSQLParserRULE_type_func_name_keyword return p } -func InitEmptyOpt_returning_clause_intoContext(p *Opt_returning_clause_intoContext) { +func InitEmptyType_func_name_keywordContext(p *Type_func_name_keywordContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = PostgreSQLParserRULE_opt_returning_clause_into + p.RuleIndex = PostgreSQLParserRULE_type_func_name_keyword } -func (*Opt_returning_clause_intoContext) IsOpt_returning_clause_intoContext() {} +func (*Type_func_name_keywordContext) IsType_func_name_keywordContext() {} -func NewOpt_returning_clause_intoContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Opt_returning_clause_intoContext { - var p = new(Opt_returning_clause_intoContext) +func NewType_func_name_keywordContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Type_func_name_keywordContext { + var p = new(Type_func_name_keywordContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = PostgreSQLParserRULE_opt_returning_clause_into + p.RuleIndex = PostgreSQLParserRULE_type_func_name_keyword return p } -func (s *Opt_returning_clause_intoContext) GetParser() antlr.Parser { return s.parser } +func (s *Type_func_name_keywordContext) GetParser() antlr.Parser { return s.parser } -func (s *Opt_returning_clause_intoContext) INTO() antlr.TerminalNode { - return s.GetToken(PostgreSQLParserINTO, 0) +func (s *Type_func_name_keywordContext) AUTHORIZATION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserAUTHORIZATION, 0) } -func (s *Opt_returning_clause_intoContext) Into_target() IInto_targetContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IInto_targetContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Type_func_name_keywordContext) BINARY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserBINARY, 0) +} - if t == nil { - return nil - } +func (s *Type_func_name_keywordContext) COLLATION() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCOLLATION, 0) +} - return t.(IInto_targetContext) +func (s *Type_func_name_keywordContext) CONCURRENTLY() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCONCURRENTLY, 0) } -func (s *Opt_returning_clause_intoContext) Opt_strict() IOpt_strictContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOpt_strictContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *Type_func_name_keywordContext) CROSS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCROSS, 0) +} - if t == nil { - return nil - } +func (s *Type_func_name_keywordContext) CURRENT_SCHEMA() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserCURRENT_SCHEMA, 0) +} - return t.(IOpt_strictContext) +func (s *Type_func_name_keywordContext) FREEZE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFREEZE, 0) } -func (s *Opt_returning_clause_intoContext) GetRuleContext() antlr.RuleContext { +func (s *Type_func_name_keywordContext) FULL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserFULL, 0) +} + +func (s *Type_func_name_keywordContext) ILIKE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserILIKE, 0) +} + +func (s *Type_func_name_keywordContext) INNER_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserINNER_P, 0) +} + +func (s *Type_func_name_keywordContext) IS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserIS, 0) +} + +func (s *Type_func_name_keywordContext) ISNULL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserISNULL, 0) +} + +func (s *Type_func_name_keywordContext) JOIN() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserJOIN, 0) +} + +func (s *Type_func_name_keywordContext) LEFT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLEFT, 0) +} + +func (s *Type_func_name_keywordContext) LIKE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserLIKE, 0) +} + +func (s *Type_func_name_keywordContext) NATURAL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNATURAL, 0) +} + +func (s *Type_func_name_keywordContext) NOTNULL() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserNOTNULL, 0) +} + +func (s *Type_func_name_keywordContext) OUTER_P() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOUTER_P, 0) +} + +func (s *Type_func_name_keywordContext) OVERLAPS() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserOVERLAPS, 0) +} + +func (s *Type_func_name_keywordContext) RIGHT() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserRIGHT, 0) +} + +func (s *Type_func_name_keywordContext) SIMILAR() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserSIMILAR, 0) +} + +func (s *Type_func_name_keywordContext) TABLESAMPLE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserTABLESAMPLE, 0) +} + +func (s *Type_func_name_keywordContext) VERBOSE() antlr.TerminalNode { + return s.GetToken(PostgreSQLParserVERBOSE, 0) +} + +func (s *Type_func_name_keywordContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Opt_returning_clause_intoContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Type_func_name_keywordContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Opt_returning_clause_intoContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Type_func_name_keywordContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.EnterOpt_returning_clause_into(s) + listenerT.EnterType_func_name_keyword(s) } } -func (s *Opt_returning_clause_intoContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Type_func_name_keywordContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(PostgreSQLParserListener); ok { - listenerT.ExitOpt_returning_clause_into(s) + listenerT.ExitType_func_name_keyword(s) } } -func (s *Opt_returning_clause_intoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Type_func_name_keywordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case PostgreSQLParserVisitor: - return t.VisitOpt_returning_clause_into(s) + return t.VisitType_func_name_keyword(s) default: return t.VisitChildren(s) } } -func (p *PostgreSQLParser) Opt_returning_clause_into() (localctx IOpt_returning_clause_intoContext) { - localctx = NewOpt_returning_clause_intoContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 1676, PostgreSQLParserRULE_opt_returning_clause_into) +func (p *PostgreSQLParser) Type_func_name_keyword() (localctx IType_func_name_keywordContext) { + localctx = NewType_func_name_keywordContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 1676, PostgreSQLParserRULE_type_func_name_keyword) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(11570) - p.Match(PostgreSQLParserINTO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(11572) - p.GetErrorHandler().Sync(p) + p.SetState(11516) + _la = p.GetTokenStream().LA(1) - if p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 1160, p.GetParserRuleContext()) == 1 { - { - p.SetState(11571) - p.Opt_strict() + if !(((int64((_la-29)) & ^0x3f) == 0 && ((int64(1)<<(_la-29))&580964903834091585) != 0) || ((int64((_la-158)) & ^0x3f) == 0 && ((int64(1)<<(_la-158))&3096293464342533) != 0) || ((int64((_la-232)) & ^0x3f) == 0 && ((int64(1)<<(_la-232))&35184908959749) != 0) || ((int64((_la-301)) & ^0x3f) == 0 && ((int64(1)<<(_la-301))&576460752303423493) != 0) || _la == PostgreSQLParserSIMILAR || _la == PostgreSQLParserTABLESAMPLE || _la == PostgreSQLParserVERBOSE) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } - - } else if p.HasError() { // JIM - goto errorExit - } - { - p.SetState(11574) - p.Into_target() } errorExit: @@ -194726,7 +193449,7 @@ errorExit: func (p *PostgreSQLParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool { switch ruleIndex { - case 606: + case 607: var t *B_exprContext = nil if localctx != nil { t = localctx.(*B_exprContext) diff --git a/postgresql/postgresqlparser_base_listener.go b/postgresql/postgresqlparser_base_listener.go index e0cf82c..bc2bd74 100644 --- a/postgresql/postgresqlparser_base_listener.go +++ b/postgresql/postgresqlparser_base_listener.go @@ -3596,6 +3596,12 @@ func (s *BasePostgreSQLParserListener) EnterGenerictype(ctx *GenerictypeContext) // ExitGenerictype is called when production generictype is exited. func (s *BasePostgreSQLParserListener) ExitGenerictype(ctx *GenerictypeContext) {} +// EnterJsontype is called when production jsontype is entered. +func (s *BasePostgreSQLParserListener) EnterJsontype(ctx *JsontypeContext) {} + +// ExitJsontype is called when production jsontype is exited. +func (s *BasePostgreSQLParserListener) ExitJsontype(ctx *JsontypeContext) {} + // EnterOpt_type_modifiers is called when production opt_type_modifiers is entered. func (s *BasePostgreSQLParserListener) EnterOpt_type_modifiers(ctx *Opt_type_modifiersContext) {} @@ -4563,39 +4569,6 @@ func (s *BasePostgreSQLParserListener) EnterPlsqlidentifier(ctx *Plsqlidentifier // ExitPlsqlidentifier is called when production plsqlidentifier is exited. func (s *BasePostgreSQLParserListener) ExitPlsqlidentifier(ctx *PlsqlidentifierContext) {} -// EnterUnreserved_keyword is called when production unreserved_keyword is entered. -func (s *BasePostgreSQLParserListener) EnterUnreserved_keyword(ctx *Unreserved_keywordContext) {} - -// ExitUnreserved_keyword is called when production unreserved_keyword is exited. -func (s *BasePostgreSQLParserListener) ExitUnreserved_keyword(ctx *Unreserved_keywordContext) {} - -// EnterCol_name_keyword is called when production col_name_keyword is entered. -func (s *BasePostgreSQLParserListener) EnterCol_name_keyword(ctx *Col_name_keywordContext) {} - -// ExitCol_name_keyword is called when production col_name_keyword is exited. -func (s *BasePostgreSQLParserListener) ExitCol_name_keyword(ctx *Col_name_keywordContext) {} - -// EnterType_func_name_keyword is called when production type_func_name_keyword is entered. -func (s *BasePostgreSQLParserListener) EnterType_func_name_keyword(ctx *Type_func_name_keywordContext) { -} - -// ExitType_func_name_keyword is called when production type_func_name_keyword is exited. -func (s *BasePostgreSQLParserListener) ExitType_func_name_keyword(ctx *Type_func_name_keywordContext) { -} - -// EnterReserved_keyword is called when production reserved_keyword is entered. -func (s *BasePostgreSQLParserListener) EnterReserved_keyword(ctx *Reserved_keywordContext) {} - -// ExitReserved_keyword is called when production reserved_keyword is exited. -func (s *BasePostgreSQLParserListener) ExitReserved_keyword(ctx *Reserved_keywordContext) {} - -// EnterBuiltin_function_name is called when production builtin_function_name is entered. -func (s *BasePostgreSQLParserListener) EnterBuiltin_function_name(ctx *Builtin_function_nameContext) { -} - -// ExitBuiltin_function_name is called when production builtin_function_name is exited. -func (s *BasePostgreSQLParserListener) ExitBuiltin_function_name(ctx *Builtin_function_nameContext) {} - // EnterPl_function is called when production pl_function is entered. func (s *BasePostgreSQLParserListener) EnterPl_function(ctx *Pl_functionContext) {} @@ -5298,3 +5271,29 @@ func (s *BasePostgreSQLParserListener) EnterOpt_returning_clause_into(ctx *Opt_r // ExitOpt_returning_clause_into is called when production opt_returning_clause_into is exited. func (s *BasePostgreSQLParserListener) ExitOpt_returning_clause_into(ctx *Opt_returning_clause_intoContext) { } + +// EnterReserved_keyword is called when production reserved_keyword is entered. +func (s *BasePostgreSQLParserListener) EnterReserved_keyword(ctx *Reserved_keywordContext) {} + +// ExitReserved_keyword is called when production reserved_keyword is exited. +func (s *BasePostgreSQLParserListener) ExitReserved_keyword(ctx *Reserved_keywordContext) {} + +// EnterUnreserved_keyword is called when production unreserved_keyword is entered. +func (s *BasePostgreSQLParserListener) EnterUnreserved_keyword(ctx *Unreserved_keywordContext) {} + +// ExitUnreserved_keyword is called when production unreserved_keyword is exited. +func (s *BasePostgreSQLParserListener) ExitUnreserved_keyword(ctx *Unreserved_keywordContext) {} + +// EnterCol_name_keyword is called when production col_name_keyword is entered. +func (s *BasePostgreSQLParserListener) EnterCol_name_keyword(ctx *Col_name_keywordContext) {} + +// ExitCol_name_keyword is called when production col_name_keyword is exited. +func (s *BasePostgreSQLParserListener) ExitCol_name_keyword(ctx *Col_name_keywordContext) {} + +// EnterType_func_name_keyword is called when production type_func_name_keyword is entered. +func (s *BasePostgreSQLParserListener) EnterType_func_name_keyword(ctx *Type_func_name_keywordContext) { +} + +// ExitType_func_name_keyword is called when production type_func_name_keyword is exited. +func (s *BasePostgreSQLParserListener) ExitType_func_name_keyword(ctx *Type_func_name_keywordContext) { +} diff --git a/postgresql/postgresqlparser_base_visitor.go b/postgresql/postgresqlparser_base_visitor.go index 0020dd4..f6534ba 100644 --- a/postgresql/postgresqlparser_base_visitor.go +++ b/postgresql/postgresqlparser_base_visitor.go @@ -2279,6 +2279,10 @@ func (v *BasePostgreSQLParserVisitor) VisitGenerictype(ctx *GenerictypeContext) return v.VisitChildren(ctx) } +func (v *BasePostgreSQLParserVisitor) VisitJsontype(ctx *JsontypeContext) interface{} { + return v.VisitChildren(ctx) +} + func (v *BasePostgreSQLParserVisitor) VisitOpt_type_modifiers(ctx *Opt_type_modifiersContext) interface{} { return v.VisitChildren(ctx) } @@ -2907,26 +2911,6 @@ func (v *BasePostgreSQLParserVisitor) VisitPlsqlidentifier(ctx *PlsqlidentifierC return v.VisitChildren(ctx) } -func (v *BasePostgreSQLParserVisitor) VisitUnreserved_keyword(ctx *Unreserved_keywordContext) interface{} { - return v.VisitChildren(ctx) -} - -func (v *BasePostgreSQLParserVisitor) VisitCol_name_keyword(ctx *Col_name_keywordContext) interface{} { - return v.VisitChildren(ctx) -} - -func (v *BasePostgreSQLParserVisitor) VisitType_func_name_keyword(ctx *Type_func_name_keywordContext) interface{} { - return v.VisitChildren(ctx) -} - -func (v *BasePostgreSQLParserVisitor) VisitReserved_keyword(ctx *Reserved_keywordContext) interface{} { - return v.VisitChildren(ctx) -} - -func (v *BasePostgreSQLParserVisitor) VisitBuiltin_function_name(ctx *Builtin_function_nameContext) interface{} { - return v.VisitChildren(ctx) -} - func (v *BasePostgreSQLParserVisitor) VisitPl_function(ctx *Pl_functionContext) interface{} { return v.VisitChildren(ctx) } @@ -3382,3 +3366,19 @@ func (v *BasePostgreSQLParserVisitor) VisitMake_execsql_stmt(ctx *Make_execsql_s func (v *BasePostgreSQLParserVisitor) VisitOpt_returning_clause_into(ctx *Opt_returning_clause_intoContext) interface{} { return v.VisitChildren(ctx) } + +func (v *BasePostgreSQLParserVisitor) VisitReserved_keyword(ctx *Reserved_keywordContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BasePostgreSQLParserVisitor) VisitUnreserved_keyword(ctx *Unreserved_keywordContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BasePostgreSQLParserVisitor) VisitCol_name_keyword(ctx *Col_name_keywordContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BasePostgreSQLParserVisitor) VisitType_func_name_keyword(ctx *Type_func_name_keywordContext) interface{} { + return v.VisitChildren(ctx) +} diff --git a/postgresql/postgresqlparser_listener.go b/postgresql/postgresqlparser_listener.go index 8149049..51aaaa0 100644 --- a/postgresql/postgresqlparser_listener.go +++ b/postgresql/postgresqlparser_listener.go @@ -1711,6 +1711,9 @@ type PostgreSQLParserListener interface { // EnterGenerictype is called when entering the generictype production. EnterGenerictype(c *GenerictypeContext) + // EnterJsontype is called when entering the jsontype production. + EnterJsontype(c *JsontypeContext) + // EnterOpt_type_modifiers is called when entering the opt_type_modifiers production. EnterOpt_type_modifiers(c *Opt_type_modifiersContext) @@ -2182,21 +2185,6 @@ type PostgreSQLParserListener interface { // EnterPlsqlidentifier is called when entering the plsqlidentifier production. EnterPlsqlidentifier(c *PlsqlidentifierContext) - // EnterUnreserved_keyword is called when entering the unreserved_keyword production. - EnterUnreserved_keyword(c *Unreserved_keywordContext) - - // EnterCol_name_keyword is called when entering the col_name_keyword production. - EnterCol_name_keyword(c *Col_name_keywordContext) - - // EnterType_func_name_keyword is called when entering the type_func_name_keyword production. - EnterType_func_name_keyword(c *Type_func_name_keywordContext) - - // EnterReserved_keyword is called when entering the reserved_keyword production. - EnterReserved_keyword(c *Reserved_keywordContext) - - // EnterBuiltin_function_name is called when entering the builtin_function_name production. - EnterBuiltin_function_name(c *Builtin_function_nameContext) - // EnterPl_function is called when entering the pl_function production. EnterPl_function(c *Pl_functionContext) @@ -2539,6 +2527,18 @@ type PostgreSQLParserListener interface { // EnterOpt_returning_clause_into is called when entering the opt_returning_clause_into production. EnterOpt_returning_clause_into(c *Opt_returning_clause_intoContext) + // EnterReserved_keyword is called when entering the reserved_keyword production. + EnterReserved_keyword(c *Reserved_keywordContext) + + // EnterUnreserved_keyword is called when entering the unreserved_keyword production. + EnterUnreserved_keyword(c *Unreserved_keywordContext) + + // EnterCol_name_keyword is called when entering the col_name_keyword production. + EnterCol_name_keyword(c *Col_name_keywordContext) + + // EnterType_func_name_keyword is called when entering the type_func_name_keyword production. + EnterType_func_name_keyword(c *Type_func_name_keywordContext) + // ExitRoot is called when exiting the root production. ExitRoot(c *RootContext) @@ -4243,6 +4243,9 @@ type PostgreSQLParserListener interface { // ExitGenerictype is called when exiting the generictype production. ExitGenerictype(c *GenerictypeContext) + // ExitJsontype is called when exiting the jsontype production. + ExitJsontype(c *JsontypeContext) + // ExitOpt_type_modifiers is called when exiting the opt_type_modifiers production. ExitOpt_type_modifiers(c *Opt_type_modifiersContext) @@ -4714,21 +4717,6 @@ type PostgreSQLParserListener interface { // ExitPlsqlidentifier is called when exiting the plsqlidentifier production. ExitPlsqlidentifier(c *PlsqlidentifierContext) - // ExitUnreserved_keyword is called when exiting the unreserved_keyword production. - ExitUnreserved_keyword(c *Unreserved_keywordContext) - - // ExitCol_name_keyword is called when exiting the col_name_keyword production. - ExitCol_name_keyword(c *Col_name_keywordContext) - - // ExitType_func_name_keyword is called when exiting the type_func_name_keyword production. - ExitType_func_name_keyword(c *Type_func_name_keywordContext) - - // ExitReserved_keyword is called when exiting the reserved_keyword production. - ExitReserved_keyword(c *Reserved_keywordContext) - - // ExitBuiltin_function_name is called when exiting the builtin_function_name production. - ExitBuiltin_function_name(c *Builtin_function_nameContext) - // ExitPl_function is called when exiting the pl_function production. ExitPl_function(c *Pl_functionContext) @@ -5070,4 +5058,16 @@ type PostgreSQLParserListener interface { // ExitOpt_returning_clause_into is called when exiting the opt_returning_clause_into production. ExitOpt_returning_clause_into(c *Opt_returning_clause_intoContext) + + // ExitReserved_keyword is called when exiting the reserved_keyword production. + ExitReserved_keyword(c *Reserved_keywordContext) + + // ExitUnreserved_keyword is called when exiting the unreserved_keyword production. + ExitUnreserved_keyword(c *Unreserved_keywordContext) + + // ExitCol_name_keyword is called when exiting the col_name_keyword production. + ExitCol_name_keyword(c *Col_name_keywordContext) + + // ExitType_func_name_keyword is called when exiting the type_func_name_keyword production. + ExitType_func_name_keyword(c *Type_func_name_keywordContext) } diff --git a/postgresql/postgresqlparser_visitor.go b/postgresql/postgresqlparser_visitor.go index f5e8f25..43255f1 100644 --- a/postgresql/postgresqlparser_visitor.go +++ b/postgresql/postgresqlparser_visitor.go @@ -1711,6 +1711,9 @@ type PostgreSQLParserVisitor interface { // Visit a parse tree produced by PostgreSQLParser#generictype. VisitGenerictype(ctx *GenerictypeContext) interface{} + // Visit a parse tree produced by PostgreSQLParser#jsontype. + VisitJsontype(ctx *JsontypeContext) interface{} + // Visit a parse tree produced by PostgreSQLParser#opt_type_modifiers. VisitOpt_type_modifiers(ctx *Opt_type_modifiersContext) interface{} @@ -2182,21 +2185,6 @@ type PostgreSQLParserVisitor interface { // Visit a parse tree produced by PostgreSQLParser#plsqlidentifier. VisitPlsqlidentifier(ctx *PlsqlidentifierContext) interface{} - // Visit a parse tree produced by PostgreSQLParser#unreserved_keyword. - VisitUnreserved_keyword(ctx *Unreserved_keywordContext) interface{} - - // Visit a parse tree produced by PostgreSQLParser#col_name_keyword. - VisitCol_name_keyword(ctx *Col_name_keywordContext) interface{} - - // Visit a parse tree produced by PostgreSQLParser#type_func_name_keyword. - VisitType_func_name_keyword(ctx *Type_func_name_keywordContext) interface{} - - // Visit a parse tree produced by PostgreSQLParser#reserved_keyword. - VisitReserved_keyword(ctx *Reserved_keywordContext) interface{} - - // Visit a parse tree produced by PostgreSQLParser#builtin_function_name. - VisitBuiltin_function_name(ctx *Builtin_function_nameContext) interface{} - // Visit a parse tree produced by PostgreSQLParser#pl_function. VisitPl_function(ctx *Pl_functionContext) interface{} @@ -2538,4 +2526,16 @@ type PostgreSQLParserVisitor interface { // Visit a parse tree produced by PostgreSQLParser#opt_returning_clause_into. VisitOpt_returning_clause_into(ctx *Opt_returning_clause_intoContext) interface{} + + // Visit a parse tree produced by PostgreSQLParser#reserved_keyword. + VisitReserved_keyword(ctx *Reserved_keywordContext) interface{} + + // Visit a parse tree produced by PostgreSQLParser#unreserved_keyword. + VisitUnreserved_keyword(ctx *Unreserved_keywordContext) interface{} + + // Visit a parse tree produced by PostgreSQLParser#col_name_keyword. + VisitCol_name_keyword(ctx *Col_name_keywordContext) interface{} + + // Visit a parse tree produced by PostgreSQLParser#type_func_name_keyword. + VisitType_func_name_keyword(ctx *Type_func_name_keywordContext) interface{} }