flink-sql-language-server
Version:
A LSP-based language server for Apache Flink SQL
1,014 lines • 293 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlinkSQLLexer = void 0;
const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
const Lexer_1 = require("antlr4ts/Lexer");
const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator");
const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
const Utils = __importStar(require("antlr4ts/misc/Utils"));
class FlinkSQLLexer extends Lexer_1.Lexer {
constructor(input) {
super(input);
this._interp = new LexerATNSimulator_1.LexerATNSimulator(FlinkSQLLexer._ATN, this);
}
get vocabulary() {
return FlinkSQLLexer.VOCABULARY;
}
get grammarFileName() { return "FlinkSQLLexer.g4"; }
get ruleNames() { return FlinkSQLLexer.ruleNames; }
get serializedATN() { return FlinkSQLLexer._serializedATN; }
get channelNames() { return FlinkSQLLexer.channelNames; }
get modeNames() { return FlinkSQLLexer.modeNames; }
static get _ATN() {
if (!FlinkSQLLexer.__ATN) {
FlinkSQLLexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(FlinkSQLLexer._serializedATN));
}
return FlinkSQLLexer.__ATN;
}
}
exports.FlinkSQLLexer = FlinkSQLLexer;
FlinkSQLLexer.SPACE = 1;
FlinkSQLLexer.BLOCK_COMMENT = 2;
FlinkSQLLexer.LINE_COMMENT = 3;
FlinkSQLLexer.L_HINT = 4;
FlinkSQLLexer.R_HINT = 5;
FlinkSQLLexer.L_BRACE_SLASH = 6;
FlinkSQLLexer.R_BRACE_SLASH = 7;
FlinkSQLLexer.STAR_QUESTION = 8;
FlinkSQLLexer.PLUS_QUESTION = 9;
FlinkSQLLexer.QUESTION_QUESTION = 10;
FlinkSQLLexer.DOUBLE_VERTICAL_BAR = 11;
FlinkSQLLexer.COMPOUND_ARROW = 12;
FlinkSQLLexer.DOT = 13;
FlinkSQLLexer.COLON = 14;
FlinkSQLLexer.COMMA = 15;
FlinkSQLLexer.SEMICOLON = 16;
FlinkSQLLexer.VERTICAL_BAR = 17;
FlinkSQLLexer.DOLLAR_SIGN = 18;
FlinkSQLLexer.CARET = 19;
FlinkSQLLexer.QUESTION = 20;
FlinkSQLLexer.PLUS = 21;
FlinkSQLLexer.SLASH = 22;
FlinkSQLLexer.ASTERISK = 23;
FlinkSQLLexer.DIVIDE = 24;
FlinkSQLLexer.PERCENTAGE = 25;
FlinkSQLLexer.SINGLE_QUOTE = 26;
FlinkSQLLexer.DOUBLE_QUOTE = 27;
FlinkSQLLexer.BACK_QUOTE = 28;
FlinkSQLLexer.UNDERLINE = 29;
FlinkSQLLexer.L_PARENTHESIS = 30;
FlinkSQLLexer.R_PARENTHESIS = 31;
FlinkSQLLexer.L_BRACKET = 32;
FlinkSQLLexer.R_BRACKET = 33;
FlinkSQLLexer.L_BRACE = 34;
FlinkSQLLexer.R_BRACE = 35;
FlinkSQLLexer.EQUAL = 36;
FlinkSQLLexer.DOUBLE_EQUAL = 37;
FlinkSQLLexer.NOT_EQUAL = 38;
FlinkSQLLexer.IS_EQUAL_NULL = 39;
FlinkSQLLexer.UNEQUAL = 40;
FlinkSQLLexer.GREATER = 41;
FlinkSQLLexer.GREATER_OR_EQUAL = 42;
FlinkSQLLexer.LESS = 43;
FlinkSQLLexer.LESS_OR_EQUAL = 44;
FlinkSQLLexer.ABS = 45;
FlinkSQLLexer.ALL = 46;
FlinkSQLLexer.ALLOCATE = 47;
FlinkSQLLexer.ALLOW = 48;
FlinkSQLLexer.ALTER = 49;
FlinkSQLLexer.AND = 50;
FlinkSQLLexer.K_ANY = 51;
FlinkSQLLexer.ARE = 52;
FlinkSQLLexer.ARRAY = 53;
FlinkSQLLexer.ARRAY_MAX_CARDINALITY = 54;
FlinkSQLLexer.AS = 55;
FlinkSQLLexer.ASENSITIVE = 56;
FlinkSQLLexer.ASYMMETRIC = 57;
FlinkSQLLexer.AT = 58;
FlinkSQLLexer.ATOMIC = 59;
FlinkSQLLexer.AUTHORIZATION = 60;
FlinkSQLLexer.AUTO = 61;
FlinkSQLLexer.AVG = 62;
FlinkSQLLexer.BEGIN = 63;
FlinkSQLLexer.BEGIN_FRAME = 64;
FlinkSQLLexer.BEGIN_PARTITION = 65;
FlinkSQLLexer.BETWEEN = 66;
FlinkSQLLexer.BIGINT = 67;
FlinkSQLLexer.BINARY = 68;
FlinkSQLLexer.BIT = 69;
FlinkSQLLexer.BLOB = 70;
FlinkSQLLexer.BOOLEAN = 71;
FlinkSQLLexer.BOTH = 72;
FlinkSQLLexer.BUCKETS = 73;
FlinkSQLLexer.BY = 74;
FlinkSQLLexer.CALL = 75;
FlinkSQLLexer.CALLED = 76;
FlinkSQLLexer.CARDINALITY = 77;
FlinkSQLLexer.CASCADED = 78;
FlinkSQLLexer.CASE = 79;
FlinkSQLLexer.CAST = 80;
FlinkSQLLexer.CEIL = 81;
FlinkSQLLexer.CEILING = 82;
FlinkSQLLexer.CHANGELOG_MODE = 83;
FlinkSQLLexer.CHAR = 84;
FlinkSQLLexer.CHARACTER = 85;
FlinkSQLLexer.CHARACTER_LENGTH = 86;
FlinkSQLLexer.CHAR_LENGTH = 87;
FlinkSQLLexer.CHECK = 88;
FlinkSQLLexer.CLASSIFIER = 89;
FlinkSQLLexer.CLOB = 90;
FlinkSQLLexer.CLOSE = 91;
FlinkSQLLexer.COALESCE = 92;
FlinkSQLLexer.COLLATE = 93;
FlinkSQLLexer.COLLECT = 94;
FlinkSQLLexer.COLUMN = 95;
FlinkSQLLexer.COMMIT = 96;
FlinkSQLLexer.CONDITION = 97;
FlinkSQLLexer.CONNECT = 98;
FlinkSQLLexer.CONSTRAINT = 99;
FlinkSQLLexer.CONTAINS = 100;
FlinkSQLLexer.CONTINUOUS = 101;
FlinkSQLLexer.CONVERT = 102;
FlinkSQLLexer.CORR = 103;
FlinkSQLLexer.CORRESPONDING = 104;
FlinkSQLLexer.COUNT = 105;
FlinkSQLLexer.COVAR_POP = 106;
FlinkSQLLexer.COVAR_SAMP = 107;
FlinkSQLLexer.CREATE = 108;
FlinkSQLLexer.CROSS = 109;
FlinkSQLLexer.CUBE = 110;
FlinkSQLLexer.CUME_DIST = 111;
FlinkSQLLexer.CURRENT = 112;
FlinkSQLLexer.CURRENT_CATALOG = 113;
FlinkSQLLexer.CURRENT_DATE = 114;
FlinkSQLLexer.CURRENT_DEFAULT_TRANSFORM_GROUP = 115;
FlinkSQLLexer.CURRENT_PATH = 116;
FlinkSQLLexer.CURRENT_ROLE = 117;
FlinkSQLLexer.CURRENT_ROW = 118;
FlinkSQLLexer.CURRENT_SCHEMA = 119;
FlinkSQLLexer.CURRENT_TIME = 120;
FlinkSQLLexer.CURRENT_TIMESTAMP = 121;
FlinkSQLLexer.CURRENT_TRANSFORM_GROUP_FOR_TYPE = 122;
FlinkSQLLexer.CURRENT_USER = 123;
FlinkSQLLexer.CURSOR = 124;
FlinkSQLLexer.CYCLE = 125;
FlinkSQLLexer.DATE = 126;
FlinkSQLLexer.DAY = 127;
FlinkSQLLexer.DEALLOCATE = 128;
FlinkSQLLexer.DEC = 129;
FlinkSQLLexer.DECIMAL = 130;
FlinkSQLLexer.DECLARE = 131;
FlinkSQLLexer.DEFAULT = 132;
FlinkSQLLexer.DEFINE = 133;
FlinkSQLLexer.DELETE = 134;
FlinkSQLLexer.DENSE_RANK = 135;
FlinkSQLLexer.DEREF = 136;
FlinkSQLLexer.DESCRIBE = 137;
FlinkSQLLexer.DETERMINISTIC = 138;
FlinkSQLLexer.DISALLOW = 139;
FlinkSQLLexer.DISCONNECT = 140;
FlinkSQLLexer.DISTINCT = 141;
FlinkSQLLexer.DISTRIBUTED = 142;
FlinkSQLLexer.DISTRIBUTION = 143;
FlinkSQLLexer.DOUBLE = 144;
FlinkSQLLexer.DROP = 145;
FlinkSQLLexer.DYNAMIC = 146;
FlinkSQLLexer.EACH = 147;
FlinkSQLLexer.ELEMENT = 148;
FlinkSQLLexer.ELSE = 149;
FlinkSQLLexer.EMPTY = 150;
FlinkSQLLexer.END = 151;
FlinkSQLLexer.END_EXEC = 152;
FlinkSQLLexer.END_FRAME = 153;
FlinkSQLLexer.END_PARTITION = 154;
FlinkSQLLexer.EQUALS = 155;
FlinkSQLLexer.ESCAPE = 156;
FlinkSQLLexer.ESTIMATED_COST = 157;
FlinkSQLLexer.EVERY = 158;
FlinkSQLLexer.EXCEPT = 159;
FlinkSQLLexer.EXEC = 160;
FlinkSQLLexer.EXECUTE = 161;
FlinkSQLLexer.EXISTS = 162;
FlinkSQLLexer.EXP = 163;
FlinkSQLLexer.EXPLAIN = 164;
FlinkSQLLexer.EXTEND = 165;
FlinkSQLLexer.EXTERNAL = 166;
FlinkSQLLexer.EXTRACT = 167;
FlinkSQLLexer.FALSE = 168;
FlinkSQLLexer.FETCH = 169;
FlinkSQLLexer.FILTER = 170;
FlinkSQLLexer.FIRST_VALUE = 171;
FlinkSQLLexer.FLOAT = 172;
FlinkSQLLexer.FLOOR = 173;
FlinkSQLLexer.FOR = 174;
FlinkSQLLexer.FOREIGN = 175;
FlinkSQLLexer.FRAME_ROW = 176;
FlinkSQLLexer.FREE = 177;
FlinkSQLLexer.FRESHNESS = 178;
FlinkSQLLexer.FROM = 179;
FlinkSQLLexer.FULL = 180;
FlinkSQLLexer.FUNCTION = 181;
FlinkSQLLexer.FUSION = 182;
FlinkSQLLexer.GAP = 183;
FlinkSQLLexer.GET = 184;
FlinkSQLLexer.GLOB = 185;
FlinkSQLLexer.GLOBAL = 186;
FlinkSQLLexer.GRANT = 187;
FlinkSQLLexer.GROUP = 188;
FlinkSQLLexer.GROUPING = 189;
FlinkSQLLexer.GROUPS = 190;
FlinkSQLLexer.HAVING = 191;
FlinkSQLLexer.HOLD = 192;
FlinkSQLLexer.HOUR = 193;
FlinkSQLLexer.IDENTITY = 194;
FlinkSQLLexer.IMPORT = 195;
FlinkSQLLexer.IN = 196;
FlinkSQLLexer.INDICATOR = 197;
FlinkSQLLexer.INITIAL = 198;
FlinkSQLLexer.INNER = 199;
FlinkSQLLexer.INOUT = 200;
FlinkSQLLexer.INSENSITIVE = 201;
FlinkSQLLexer.INSERT = 202;
FlinkSQLLexer.INT = 203;
FlinkSQLLexer.INTEGER = 204;
FlinkSQLLexer.INTERSECT = 205;
FlinkSQLLexer.INTERSECTION = 206;
FlinkSQLLexer.INTERVAL = 207;
FlinkSQLLexer.INTO = 208;
FlinkSQLLexer.IS = 209;
FlinkSQLLexer.JOIN = 210;
FlinkSQLLexer.JSON_ARRAY = 211;
FlinkSQLLexer.JSON_ARRAYAGG = 212;
FlinkSQLLexer.JSON_EXECUTION_PLAN = 213;
FlinkSQLLexer.JSON_EXISTS = 214;
FlinkSQLLexer.JSON_OBJECT = 215;
FlinkSQLLexer.JSON_OBJECTAGG = 216;
FlinkSQLLexer.JSON_QUERY = 217;
FlinkSQLLexer.JSON_VALUE = 218;
FlinkSQLLexer.LAG = 219;
FlinkSQLLexer.LANGUAGE = 220;
FlinkSQLLexer.LARGE = 221;
FlinkSQLLexer.LAST_VALUE = 222;
FlinkSQLLexer.LATERAL = 223;
FlinkSQLLexer.LEAD = 224;
FlinkSQLLexer.LEADING = 225;
FlinkSQLLexer.LEFT = 226;
FlinkSQLLexer.LIKE = 227;
FlinkSQLLexer.LIKE_REGEX = 228;
FlinkSQLLexer.LIMIT = 229;
FlinkSQLLexer.LN = 230;
FlinkSQLLexer.LOCAL = 231;
FlinkSQLLexer.LOCALTIME = 232;
FlinkSQLLexer.LOCALTIMESTAMP = 233;
FlinkSQLLexer.LOWER = 234;
FlinkSQLLexer.MATCH = 235;
FlinkSQLLexer.MATCHES = 236;
FlinkSQLLexer.MATCH_NUMBER = 237;
FlinkSQLLexer.MATCH_RECOGNIZE = 238;
FlinkSQLLexer.MATERIALIZED = 239;
FlinkSQLLexer.MAX = 240;
FlinkSQLLexer.MEASURES = 241;
FlinkSQLLexer.MEMBER = 242;
FlinkSQLLexer.MERGE = 243;
FlinkSQLLexer.METHOD = 244;
FlinkSQLLexer.MIN = 245;
FlinkSQLLexer.MINUS = 246;
FlinkSQLLexer.MINUTE = 247;
FlinkSQLLexer.MOD = 248;
FlinkSQLLexer.MODIFIES = 249;
FlinkSQLLexer.MODULE = 250;
FlinkSQLLexer.MONTH = 251;
FlinkSQLLexer.MULTISET = 252;
FlinkSQLLexer.NATIONAL = 253;
FlinkSQLLexer.NATURAL = 254;
FlinkSQLLexer.NCHAR = 255;
FlinkSQLLexer.NCLOB = 256;
FlinkSQLLexer.NEW = 257;
FlinkSQLLexer.NEXT = 258;
FlinkSQLLexer.NO = 259;
FlinkSQLLexer.NONE = 260;
FlinkSQLLexer.NORMALIZE = 261;
FlinkSQLLexer.NOT = 262;
FlinkSQLLexer.NTH_VALUE = 263;
FlinkSQLLexer.NTILE = 264;
FlinkSQLLexer.NULL = 265;
FlinkSQLLexer.NULLIF = 266;
FlinkSQLLexer.NUMERIC = 267;
FlinkSQLLexer.OCCURRENCES_REGEX = 268;
FlinkSQLLexer.OCTET_LENGTH = 269;
FlinkSQLLexer.OF = 270;
FlinkSQLLexer.OFFSET = 271;
FlinkSQLLexer.OLD = 272;
FlinkSQLLexer.OMIT = 273;
FlinkSQLLexer.ON = 274;
FlinkSQLLexer.ONE = 275;
FlinkSQLLexer.ONLY = 276;
FlinkSQLLexer.OPEN = 277;
FlinkSQLLexer.OPTIMIZE = 278;
FlinkSQLLexer.OR = 279;
FlinkSQLLexer.ORDER = 280;
FlinkSQLLexer.OUT = 281;
FlinkSQLLexer.OUTER = 282;
FlinkSQLLexer.OVER = 283;
FlinkSQLLexer.OVERLAPS = 284;
FlinkSQLLexer.OVERLAY = 285;
FlinkSQLLexer.PARAMETER = 286;
FlinkSQLLexer.PARTITION = 287;
FlinkSQLLexer.PATTERN = 288;
FlinkSQLLexer.PER = 289;
FlinkSQLLexer.PERCENT = 290;
FlinkSQLLexer.PERCENTILE_CONT = 291;
FlinkSQLLexer.PERCENTILE_DISC = 292;
FlinkSQLLexer.PERCENT_RANK = 293;
FlinkSQLLexer.PERIOD = 294;
FlinkSQLLexer.PERMUTE = 295;
FlinkSQLLexer.PORTION = 296;
FlinkSQLLexer.POSITION = 297;
FlinkSQLLexer.POSITION_REGEX = 298;
FlinkSQLLexer.POWER = 299;
FlinkSQLLexer.PRECEDES = 300;
FlinkSQLLexer.PRECISION = 301;
FlinkSQLLexer.PREPARE = 302;
FlinkSQLLexer.PREV = 303;
FlinkSQLLexer.PRIMARY = 304;
FlinkSQLLexer.PROCEDURE = 305;
FlinkSQLLexer.RANGE = 306;
FlinkSQLLexer.RANK = 307;
FlinkSQLLexer.READS = 308;
FlinkSQLLexer.REAL = 309;
FlinkSQLLexer.RECURSIVE = 310;
FlinkSQLLexer.REF = 311;
FlinkSQLLexer.REFERENCES = 312;
FlinkSQLLexer.REFERENCING = 313;
FlinkSQLLexer.REFRESH = 314;
FlinkSQLLexer.REFRESH_MODE = 315;
FlinkSQLLexer.REGR_AVGX = 316;
FlinkSQLLexer.REGR_AVGY = 317;
FlinkSQLLexer.REGR_COUNT = 318;
FlinkSQLLexer.REGR_INTERCEPT = 319;
FlinkSQLLexer.REGR_R2 = 320;
FlinkSQLLexer.REGR_SLOPE = 321;
FlinkSQLLexer.REGR_SXX = 322;
FlinkSQLLexer.REGR_SXY = 323;
FlinkSQLLexer.REGR_SYY = 324;
FlinkSQLLexer.RESET = 325;
FlinkSQLLexer.RESULT = 326;
FlinkSQLLexer.RESUME = 327;
FlinkSQLLexer.RETURN = 328;
FlinkSQLLexer.RETURNS = 329;
FlinkSQLLexer.REVOKE = 330;
FlinkSQLLexer.RIGHT = 331;
FlinkSQLLexer.ROLLBACK = 332;
FlinkSQLLexer.ROLLUP = 333;
FlinkSQLLexer.ROW = 334;
FlinkSQLLexer.ROWS = 335;
FlinkSQLLexer.ROW_NUMBER = 336;
FlinkSQLLexer.RUNNING = 337;
FlinkSQLLexer.SAVEPOINT = 338;
FlinkSQLLexer.SCOPE = 339;
FlinkSQLLexer.SCROLL = 340;
FlinkSQLLexer.SEARCH = 341;
FlinkSQLLexer.SECOND = 342;
FlinkSQLLexer.SEEK = 343;
FlinkSQLLexer.SELECT = 344;
FlinkSQLLexer.SENSITIVE = 345;
FlinkSQLLexer.SESSION_USER = 346;
FlinkSQLLexer.SET = 347;
FlinkSQLLexer.SHOW = 348;
FlinkSQLLexer.SIMILAR = 349;
FlinkSQLLexer.SKIP_W = 350;
FlinkSQLLexer.SMALLINT = 351;
FlinkSQLLexer.SOME = 352;
FlinkSQLLexer.SPECIFIC = 353;
FlinkSQLLexer.SPECIFICTYPE = 354;
FlinkSQLLexer.SQL = 355;
FlinkSQLLexer.SQLEXCEPTION = 356;
FlinkSQLLexer.SQLSTATE = 357;
FlinkSQLLexer.SQLWARNING = 358;
FlinkSQLLexer.SQRT = 359;
FlinkSQLLexer.START = 360;
FlinkSQLLexer.STATIC = 361;
FlinkSQLLexer.STDDEV_POP = 362;
FlinkSQLLexer.STDDEV_SAMP = 363;
FlinkSQLLexer.STREAM = 364;
FlinkSQLLexer.SUBMULTISET = 365;
FlinkSQLLexer.SUBSET = 366;
FlinkSQLLexer.SUBSTRING = 367;
FlinkSQLLexer.SUBSTRING_REGEX = 368;
FlinkSQLLexer.SUCCEEDS = 369;
FlinkSQLLexer.SUM = 370;
FlinkSQLLexer.SUSPEND = 371;
FlinkSQLLexer.SYMMETRIC = 372;
FlinkSQLLexer.SYSTEM = 373;
FlinkSQLLexer.SYSTEM_TIME = 374;
FlinkSQLLexer.SYSTEM_USER = 375;
FlinkSQLLexer.TABLE = 376;
FlinkSQLLexer.TABLESAMPLE = 377;
FlinkSQLLexer.THEN = 378;
FlinkSQLLexer.TIME = 379;
FlinkSQLLexer.TIMESTAMP = 380;
FlinkSQLLexer.TIMEZONE_HOUR = 381;
FlinkSQLLexer.TIMEZONE_MINUTE = 382;
FlinkSQLLexer.TINYINT = 383;
FlinkSQLLexer.TO = 384;
FlinkSQLLexer.TRAILING = 385;
FlinkSQLLexer.TRANSLATE = 386;
FlinkSQLLexer.TRANSLATE_REGEX = 387;
FlinkSQLLexer.TRANSLATION = 388;
FlinkSQLLexer.TREAT = 389;
FlinkSQLLexer.TRIGGER = 390;
FlinkSQLLexer.TRIM = 391;
FlinkSQLLexer.TRIM_ARRRAY = 392;
FlinkSQLLexer.TRUE = 393;
FlinkSQLLexer.TRUNCATE = 394;
FlinkSQLLexer.UESCAPE = 395;
FlinkSQLLexer.UNION = 396;
FlinkSQLLexer.UNIQUE = 397;
FlinkSQLLexer.UNKNOWN = 398;
FlinkSQLLexer.UNNEST = 399;
FlinkSQLLexer.UPDATE = 400;
FlinkSQLLexer.UPPER = 401;
FlinkSQLLexer.UPSERT = 402;
FlinkSQLLexer.USER = 403;
FlinkSQLLexer.USING = 404;
FlinkSQLLexer.VALUE = 405;
FlinkSQLLexer.VALUES = 406;
FlinkSQLLexer.VALUE_OF = 407;
FlinkSQLLexer.VARBINARY = 408;
FlinkSQLLexer.VARCHAR = 409;
FlinkSQLLexer.VARYING = 410;
FlinkSQLLexer.VAR_POP = 411;
FlinkSQLLexer.VAR_SAMP = 412;
FlinkSQLLexer.VERSIONING = 413;
FlinkSQLLexer.WHEN = 414;
FlinkSQLLexer.WHENEVER = 415;
FlinkSQLLexer.WHERE = 416;
FlinkSQLLexer.WIDTH_BUCKET = 417;
FlinkSQLLexer.WINDOW = 418;
FlinkSQLLexer.WITH = 419;
FlinkSQLLexer.WITHIN = 420;
FlinkSQLLexer.WITHOUT = 421;
FlinkSQLLexer.YEAR = 422;
FlinkSQLLexer.ABSENT = 423;
FlinkSQLLexer.ACTION = 424;
FlinkSQLLexer.ADD = 425;
FlinkSQLLexer.AFTER = 426;
FlinkSQLLexer.APPLY = 427;
FlinkSQLLexer.ASC = 428;
FlinkSQLLexer.CASCADE = 429;
FlinkSQLLexer.CATALOG = 430;
FlinkSQLLexer.CENTURY = 431;
FlinkSQLLexer.CONDITIONAL = 432;
FlinkSQLLexer.CONSTRAINTS = 433;
FlinkSQLLexer.DATA = 434;
FlinkSQLLexer.DATABASE = 435;
FlinkSQLLexer.DAYS = 436;
FlinkSQLLexer.DECADE = 437;
FlinkSQLLexer.DESC = 438;
FlinkSQLLexer.DOW = 439;
FlinkSQLLexer.DOY = 440;
FlinkSQLLexer.EPOCH = 441;
FlinkSQLLexer.ERROR = 442;
FlinkSQLLexer.EXCLUDING = 443;
FlinkSQLLexer.FIRST = 444;
FlinkSQLLexer.FORMAT = 445;
FlinkSQLLexer.FRAC_SECOND = 446;
FlinkSQLLexer.GENERATED = 447;
FlinkSQLLexer.GEOMETRY = 448;
FlinkSQLLexer.GO = 449;
FlinkSQLLexer.HASH = 450;
FlinkSQLLexer.HOP = 451;
FlinkSQLLexer.HOURS = 452;
FlinkSQLLexer.IGNORE = 453;
FlinkSQLLexer.INCLUDING = 454;
FlinkSQLLexer.ISODOW = 455;
FlinkSQLLexer.ISOYEAR = 456;
FlinkSQLLexer.JAVA = 457;
FlinkSQLLexer.JSON = 458;
FlinkSQLLexer.KEY = 459;
FlinkSQLLexer.LAST = 460;
FlinkSQLLexer.MAP = 461;
FlinkSQLLexer.MICROSECOND = 462;
FlinkSQLLexer.MILLENNIUM = 463;
FlinkSQLLexer.MILLISECOND = 464;
FlinkSQLLexer.MINUTES = 465;
FlinkSQLLexer.MONTHS = 466;
FlinkSQLLexer.NANOSECOND = 467;
FlinkSQLLexer.NULLS = 468;
FlinkSQLLexer.OBJECT = 469;
FlinkSQLLexer.OPTIONS = 470;
FlinkSQLLexer.ORDINALITY = 471;
FlinkSQLLexer.PARTIAL = 472;
FlinkSQLLexer.PAST = 473;
FlinkSQLLexer.PIVOT = 474;
FlinkSQLLexer.PLACING = 475;
FlinkSQLLexer.PLAN = 476;
FlinkSQLLexer.PLI = 477;
FlinkSQLLexer.PRECEDING = 478;
FlinkSQLLexer.QUARTER = 479;
FlinkSQLLexer.REPLACE = 480;
FlinkSQLLexer.RESPECT = 481;
FlinkSQLLexer.RESTRICT = 482;
FlinkSQLLexer.RETURNING = 483;
FlinkSQLLexer.SCALAR = 484;
FlinkSQLLexer.SECONDS = 485;
FlinkSQLLexer.SESSION = 486;
FlinkSQLLexer.SETS = 487;
FlinkSQLLexer.SIZE = 488;
FlinkSQLLexer.SQL_TSI_DAY = 489;
FlinkSQLLexer.SQL_TSI_FRAC_SECOND = 490;
FlinkSQLLexer.SQL_TSI_HOUR = 491;
FlinkSQLLexer.SQL_TSI_MICROSECOND = 492;
FlinkSQLLexer.SQL_TSI_MINUTE = 493;
FlinkSQLLexer.SQL_TSI_MONTH = 494;
FlinkSQLLexer.SQL_TSI_QUARTER = 495;
FlinkSQLLexer.SQL_TSI_SECOND = 496;
FlinkSQLLexer.SQL_TSI_WEEK = 497;
FlinkSQLLexer.SQL_TSI_YEAR = 498;
FlinkSQLLexer.STATEMENT = 499;
FlinkSQLLexer.TEMPORARY = 500;
FlinkSQLLexer.TUMBLE = 501;
FlinkSQLLexer.UNCONDITIONAL = 502;
FlinkSQLLexer.UNPIVOT = 503;
FlinkSQLLexer.VIEW = 504;
FlinkSQLLexer.WEEK = 505;
FlinkSQLLexer.WRAPPER = 506;
FlinkSQLLexer.YEARS = 507;
FlinkSQLLexer.ZONE = 508;
FlinkSQLLexer.ANALYZE = 509;
FlinkSQLLexer.BYTES = 510;
FlinkSQLLexer.CATALOGS = 511;
FlinkSQLLexer.COMMENT = 512;
FlinkSQLLexer.COMPUTE = 513;
FlinkSQLLexer.COLUMNS = 514;
FlinkSQLLexer.CUMULATE = 515;
FlinkSQLLexer.CURVE = 516;
FlinkSQLLexer.DATABASES = 517;
FlinkSQLLexer.ENFORCED = 518;
FlinkSQLLexer.FUNCTIONS = 519;
FlinkSQLLexer.GEOMETRYCOLLECTION = 520;
FlinkSQLLexer.IF = 521;
FlinkSQLLexer.JAR = 522;
FlinkSQLLexer.LINESTRING = 523;
FlinkSQLLexer.LOAD = 524;
FlinkSQLLexer.METADATA = 525;
FlinkSQLLexer.MODULES = 526;
FlinkSQLLexer.MULTICURVE = 527;
FlinkSQLLexer.MULTILINESTRING = 528;
FlinkSQLLexer.MULTIPOINT = 529;
FlinkSQLLexer.MULTIPOLYGON = 530;
FlinkSQLLexer.MULTISURFACE = 531;
FlinkSQLLexer.OVERWRITE = 532;
FlinkSQLLexer.OVERWRITING = 533;
FlinkSQLLexer.PARTITIONED = 534;
FlinkSQLLexer.PARTITIONS = 535;
FlinkSQLLexer.PLAN_ADVICE = 536;
FlinkSQLLexer.POINT = 537;
FlinkSQLLexer.POLYHEDRALSURFACE = 538;
FlinkSQLLexer.POLYGON = 539;
FlinkSQLLexer.PYTHON = 540;
FlinkSQLLexer.RAW = 541;
FlinkSQLLexer.RENAME = 542;
FlinkSQLLexer.SCALA = 543;
FlinkSQLLexer.SLIDE = 544;
FlinkSQLLexer.STATISTICS = 545;
FlinkSQLLexer.STEP = 546;
FlinkSQLLexer.STRING = 547;
FlinkSQLLexer.SUBSTR = 548;
FlinkSQLLexer.SURFACE = 549;
FlinkSQLLexer.TABLES = 550;
FlinkSQLLexer.TIMECOL = 551;
FlinkSQLLexer.TIMESTAMP_LTZ = 552;
FlinkSQLLexer.TRY_CAST = 553;
FlinkSQLLexer.UNLOAD = 554;
FlinkSQLLexer.USE = 555;
FlinkSQLLexer.VIEWS = 556;
FlinkSQLLexer.VIRTUAL = 557;
FlinkSQLLexer.WATERMARK = 558;
FlinkSQLLexer.WATERMARKS = 559;
FlinkSQLLexer.REAL_LITERAL = 560;
FlinkSQLLexer.STRING_LITERAL = 561;
FlinkSQLLexer.IDENTIFIER = 562;
FlinkSQLLexer.BIND_PARAMETER = 563;
FlinkSQLLexer.channelNames = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
];
FlinkSQLLexer.modeNames = [
"DEFAULT_MODE",
];
FlinkSQLLexer.ruleNames = [
"SPACE", "BLOCK_COMMENT", "LINE_COMMENT", "L_HINT", "R_HINT", "L_BRACE_SLASH",
"R_BRACE_SLASH", "STAR_QUESTION", "PLUS_QUESTION", "QUESTION_QUESTION",
"DOUBLE_VERTICAL_BAR", "COMPOUND_ARROW", "DOT", "COLON", "COMMA", "SEMICOLON",
"VERTICAL_BAR", "DOLLAR_SIGN", "CARET", "QUESTION", "PLUS", "SLASH", "ASTERISK",
"DIVIDE", "PERCENTAGE", "SINGLE_QUOTE", "DOUBLE_QUOTE", "BACK_QUOTE",
"UNDERLINE", "L_PARENTHESIS", "R_PARENTHESIS", "L_BRACKET", "R_BRACKET",
"L_BRACE", "R_BRACE", "EQUAL", "DOUBLE_EQUAL", "NOT_EQUAL", "IS_EQUAL_NULL",
"UNEQUAL", "GREATER", "GREATER_OR_EQUAL", "LESS", "LESS_OR_EQUAL", "ABS",
"ALL", "ALLOCATE", "ALLOW", "ALTER", "AND", "K_ANY", "ARE", "ARRAY", "ARRAY_MAX_CARDINALITY",
"AS", "ASENSITIVE", "ASYMMETRIC", "AT", "ATOMIC", "AUTHORIZATION", "AUTO",
"AVG", "BEGIN", "BEGIN_FRAME", "BEGIN_PARTITION", "BETWEEN", "BIGINT",
"BINARY", "BIT", "BLOB", "BOOLEAN", "BOTH", "BUCKETS", "BY", "CALL", "CALLED",
"CARDINALITY", "CASCADED", "CASE", "CAST", "CEIL", "CEILING", "CHANGELOG_MODE",
"CHAR", "CHARACTER", "CHARACTER_LENGTH", "CHAR_LENGTH", "CHECK", "CLASSIFIER",
"CLOB", "CLOSE", "COALESCE", "COLLATE", "COLLECT", "COLUMN", "COMMIT",
"CONDITION", "CONNECT", "CONSTRAINT", "CONTAINS", "CONTINUOUS", "CONVERT",
"CORR", "CORRESPONDING", "COUNT", "COVAR_POP", "COVAR_SAMP", "CREATE",
"CROSS", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_CATALOG", "CURRENT_DATE",
"CURRENT_DEFAULT_TRANSFORM_GROUP", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_ROW",
"CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_TRANSFORM_GROUP_FOR_TYPE",
"CURRENT_USER", "CURSOR", "CYCLE", "DATE", "DAY", "DEALLOCATE", "DEC",
"DECIMAL", "DECLARE", "DEFAULT", "DEFINE", "DELETE", "DENSE_RANK", "DEREF",
"DESCRIBE", "DETERMINISTIC", "DISALLOW", "DISCONNECT", "DISTINCT", "DISTRIBUTED",
"DISTRIBUTION", "DOUBLE", "DROP", "DYNAMIC", "EACH", "ELEMENT", "ELSE",
"EMPTY", "END", "END_EXEC", "END_FRAME", "END_PARTITION", "EQUALS", "ESCAPE",
"ESTIMATED_COST", "EVERY", "EXCEPT", "EXEC", "EXECUTE", "EXISTS", "EXP",
"EXPLAIN", "EXTEND", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FILTER",
"FIRST_VALUE", "FLOAT", "FLOOR", "FOR", "FOREIGN", "FRAME_ROW", "FREE",
"FRESHNESS", "FROM", "FULL", "FUNCTION", "FUSION", "GAP", "GET", "GLOB",
"GLOBAL", "GRANT", "GROUP", "GROUPING", "GROUPS", "HAVING", "HOLD", "HOUR",
"IDENTITY", "IMPORT", "IN", "INDICATOR", "INITIAL", "INNER", "INOUT",
"INSENSITIVE", "INSERT", "INT", "INTEGER", "INTERSECT", "INTERSECTION",
"INTERVAL", "INTO", "IS", "JOIN", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXECUTION_PLAN",
"JSON_EXISTS", "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY", "JSON_VALUE",
"LAG", "LANGUAGE", "LARGE", "LAST_VALUE", "LATERAL", "LEAD", "LEADING",
"LEFT", "LIKE", "LIKE_REGEX", "LIMIT", "LN", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
"LOWER", "MATCH", "MATCHES", "MATCH_NUMBER", "MATCH_RECOGNIZE", "MATERIALIZED",
"MAX", "MEASURES", "MEMBER", "MERGE", "METHOD", "MIN", "MINUS", "MINUTE",
"MOD", "MODIFIES", "MODULE", "MONTH", "MULTISET", "NATIONAL", "NATURAL",
"NCHAR", "NCLOB", "NEW", "NEXT", "NO", "NONE", "NORMALIZE", "NOT", "NTH_VALUE",
"NTILE", "NULL", "NULLIF", "NUMERIC", "OCCURRENCES_REGEX", "OCTET_LENGTH",
"OF", "OFFSET", "OLD", "OMIT", "ON", "ONE", "ONLY", "OPEN", "OPTIMIZE",
"OR", "ORDER", "OUT", "OUTER", "OVER", "OVERLAPS", "OVERLAY", "PARAMETER",
"PARTITION", "PATTERN", "PER", "PERCENT", "PERCENTILE_CONT", "PERCENTILE_DISC",
"PERCENT_RANK", "PERIOD", "PERMUTE", "PORTION", "POSITION", "POSITION_REGEX",
"POWER", "PRECEDES", "PRECISION", "PREPARE", "PREV", "PRIMARY", "PROCEDURE",
"RANGE", "RANK", "READS", "REAL", "RECURSIVE", "REF", "REFERENCES", "REFERENCING",
"REFRESH", "REFRESH_MODE", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT",
"REGR_R2", "REGR_SLOPE", "REGR_SXX", "REGR_SXY", "REGR_SYY", "RESET",
"RESULT", "RESUME", "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLLBACK",
"ROLLUP", "ROW", "ROWS", "ROW_NUMBER", "RUNNING", "SAVEPOINT", "SCOPE",
"SCROLL", "SEARCH", "SECOND", "SEEK", "SELECT", "SENSITIVE", "SESSION_USER",
"SET", "SHOW", "SIMILAR", "SKIP_W", "SMALLINT", "SOME", "SPECIFIC", "SPECIFICTYPE",
"SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQRT", "START", "STATIC",
"STDDEV_POP", "STDDEV_SAMP", "STREAM", "SUBMULTISET", "SUBSET", "SUBSTRING",
"SUBSTRING_REGEX", "SUCCEEDS", "SUM", "SUSPEND", "SYMMETRIC", "SYSTEM",
"SYSTEM_TIME", "SYSTEM_USER", "TABLE", "TABLESAMPLE", "THEN", "TIME",
"TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TINYINT", "TO", "TRAILING",
"TRANSLATE", "TRANSLATE_REGEX", "TRANSLATION", "TREAT", "TRIGGER", "TRIM",
"TRIM_ARRRAY", "TRUE", "TRUNCATE", "UESCAPE", "UNION", "UNIQUE", "UNKNOWN",
"UNNEST", "UPDATE", "UPPER", "UPSERT", "USER", "USING", "VALUE", "VALUES",
"VALUE_OF", "VARBINARY", "VARCHAR", "VARYING", "VAR_POP", "VAR_SAMP",
"VERSIONING", "WHEN", "WHENEVER", "WHERE", "WIDTH_BUCKET", "WINDOW", "WITH",
"WITHIN", "WITHOUT", "YEAR", "ABSENT", "ACTION", "ADD", "AFTER", "APPLY",
"ASC", "CASCADE", "CATALOG", "CENTURY", "CONDITIONAL", "CONSTRAINTS",
"DATA", "DATABASE", "DAYS", "DECADE", "DESC", "DOW", "DOY", "EPOCH", "ERROR",
"EXCLUDING", "FIRST", "FORMAT", "FRAC_SECOND", "GENERATED", "GEOMETRY",
"GO", "HASH", "HOP", "HOURS", "IGNORE", "INCLUDING", "ISODOW", "ISOYEAR",
"JAVA", "JSON", "KEY", "LAST", "MAP", "MICROSECOND", "MILLENNIUM", "MILLISECOND",
"MINUTES", "MONTHS", "NANOSECOND", "NULLS", "OBJECT", "OPTIONS", "ORDINALITY",
"PARTIAL", "PAST", "PIVOT", "PLACING", "PLAN", "PLI", "PRECEDING", "QUARTER",
"REPLACE", "RESPECT", "RESTRICT", "RETURNING", "SCALAR", "SECONDS", "SESSION",
"SETS", "SIZE", "SQL_TSI_DAY", "SQL_TSI_FRAC_SECOND", "SQL_TSI_HOUR",
"SQL_TSI_MICROSECOND", "SQL_TSI_MINUTE", "SQL_TSI_MONTH", "SQL_TSI_QUARTER",
"SQL_TSI_SECOND", "SQL_TSI_WEEK", "SQL_TSI_YEAR", "STATEMENT", "TEMPORARY",
"TUMBLE", "UNCONDITIONAL", "UNPIVOT", "VIEW", "WEEK", "WRAPPER", "YEARS",
"ZONE", "ANALYZE", "BYTES", "CATALOGS", "COMMENT", "COMPUTE", "COLUMNS",
"CUMULATE", "CURVE", "DATABASES", "ENFORCED", "FUNCTIONS", "GEOMETRYCOLLECTION",
"IF", "JAR", "LINESTRING", "LOAD", "METADATA", "MODULES", "MULTICURVE",
"MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "MULTISURFACE", "OVERWRITE",
"OVERWRITING", "PARTITIONED", "PARTITIONS", "PLAN_ADVICE", "POINT", "POLYHEDRALSURFACE",
"POLYGON", "PYTHON", "RAW", "RENAME", "SCALA", "SLIDE", "STATISTICS",
"STEP", "STRING", "SUBSTR", "SURFACE", "TABLES", "TIMECOL", "TIMESTAMP_LTZ",
"TRY_CAST", "UNLOAD", "USE", "VIEWS", "VIRTUAL", "WATERMARK", "WATERMARKS",
"REAL_LITERAL", "STRING_LITERAL", "IDENTIFIER", "BIND_PARAMETER", "DIGIT",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
];
FlinkSQLLexer._LITERAL_NAMES = [
undefined, undefined, undefined, undefined, "'/*+'", "'*/'", "'{-'", "'-}'",
"'*?'", "'+?'", "'??'", "'||'", "'=>'", "'.'", undefined, undefined, "';'",
"'|'", "'$'", "'^'", "'?'", "'+'", "'-'", "'*'", "'/'", "'%'", "'''",
"'\"'", "'`'", "'_'", "'('", "')'", "'['", "']'", "'{'", "'}'", "'='",
"'=='", "'<>'", "'<=>'", "'!='", "'>'", "'>='", "'<'", "'<='",
];
FlinkSQLLexer._SYMBOLIC_NAMES = [
undefined, "SPACE", "BLOCK_COMMENT", "LINE_COMMENT", "L_HINT", "R_HINT",
"L_BRACE_SLASH", "R_BRACE_SLASH", "STAR_QUESTION", "PLUS_QUESTION", "QUESTION_QUESTION",
"DOUBLE_VERTICAL_BAR", "COMPOUND_ARROW", "DOT", "COLON", "COMMA", "SEMICOLON",
"VERTICAL_BAR", "DOLLAR_SIGN", "CARET", "QUESTION", "PLUS", "SLASH", "ASTERISK",
"DIVIDE", "PERCENTAGE", "SINGLE_QUOTE", "DOUBLE_QUOTE", "BACK_QUOTE",
"UNDERLINE", "L_PARENTHESIS", "R_PARENTHESIS", "L_BRACKET", "R_BRACKET",
"L_BRACE", "R_BRACE", "EQUAL", "DOUBLE_EQUAL", "NOT_EQUAL", "IS_EQUAL_NULL",
"UNEQUAL", "GREATER", "GREATER_OR_EQUAL", "LESS", "LESS_OR_EQUAL", "ABS",
"ALL", "ALLOCATE", "ALLOW", "ALTER", "AND", "K_ANY", "ARE", "ARRAY", "ARRAY_MAX_CARDINALITY",
"AS", "ASENSITIVE", "ASYMMETRIC", "AT", "ATOMIC", "AUTHORIZATION", "AUTO",
"AVG", "BEGIN", "BEGIN_FRAME", "BEGIN_PARTITION", "BETWEEN", "BIGINT",
"BINARY", "BIT", "BLOB", "BOOLEAN", "BOTH", "BUCKETS", "BY", "CALL", "CALLED",
"CARDINALITY", "CASCADED", "CASE", "CAST", "CEIL", "CEILING", "CHANGELOG_MODE",
"CHAR", "CHARACTER", "CHARACTER_LENGTH", "CHAR_LENGTH", "CHECK", "CLASSIFIER",
"CLOB", "CLOSE", "COALESCE", "COLLATE", "COLLECT", "COLUMN", "COMMIT",
"CONDITION", "CONNECT", "CONSTRAINT", "CONTAINS", "CONTINUOUS", "CONVERT",
"CORR", "CORRESPONDING", "COUNT", "COVAR_POP", "COVAR_SAMP", "CREATE",
"CROSS", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_CATALOG", "CURRENT_DATE",
"CURRENT_DEFAULT_TRANSFORM_GROUP", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_ROW",
"CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_TRANSFORM_GROUP_FOR_TYPE",
"CURRENT_USER", "CURSOR", "CYCLE", "DATE", "DAY", "DEALLOCATE", "DEC",
"DECIMAL", "DECLARE", "DEFAULT", "DEFINE", "DELETE", "DENSE_RANK", "DEREF",
"DESCRIBE", "DETERMINISTIC", "DISALLOW", "DISCONNECT", "DISTINCT", "DISTRIBUTED",
"DISTRIBUTION", "DOUBLE", "DROP", "DYNAMIC", "EACH", "ELEMENT", "ELSE",
"EMPTY", "END", "END_EXEC", "END_FRAME", "END_PARTITION", "EQUALS", "ESCAPE",
"ESTIMATED_COST", "EVERY", "EXCEPT", "EXEC", "EXECUTE", "EXISTS", "EXP",
"EXPLAIN", "EXTEND", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FILTER",
"FIRST_VALUE", "FLOAT", "FLOOR", "FOR", "FOREIGN", "FRAME_ROW", "FREE",
"FRESHNESS", "FROM", "FULL", "FUNCTION", "FUSION", "GAP", "GET", "GLOB",
"GLOBAL", "GRANT", "GROUP", "GROUPING", "GROUPS", "HAVING", "HOLD", "HOUR",
"IDENTITY", "IMPORT", "IN", "INDICATOR", "INITIAL", "INNER", "INOUT",
"INSENSITIVE", "INSERT", "INT", "INTEGER", "INTERSECT", "INTERSECTION",
"INTERVAL", "INTO", "IS", "JOIN", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXECUTION_PLAN",
"JSON_EXISTS", "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY", "JSON_VALUE",
"LAG", "LANGUAGE", "LARGE", "LAST_VALUE", "LATERAL", "LEAD", "LEADING",
"LEFT", "LIKE", "LIKE_REGEX", "LIMIT", "LN", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
"LOWER", "MATCH", "MATCHES", "MATCH_NUMBER", "MATCH_RECOGNIZE", "MATERIALIZED",
"MAX", "MEASURES", "MEMBER", "MERGE", "METHOD", "MIN", "MINUS", "MINUTE",
"MOD", "MODIFIES", "MODULE", "MONTH", "MULTISET", "NATIONAL", "NATURAL",
"NCHAR", "NCLOB", "NEW", "NEXT", "NO", "NONE", "NORMALIZE", "NOT", "NTH_VALUE",
"NTILE", "NULL", "NULLIF", "NUMERIC", "OCCURRENCES_REGEX", "OCTET_LENGTH",
"OF", "OFFSET", "OLD", "OMIT", "ON", "ONE", "ONLY", "OPEN", "OPTIMIZE",
"OR", "ORDER", "OUT", "OUTER", "OVER", "OVERLAPS", "OVERLAY", "PARAMETER",
"PARTITION", "PATTERN", "PER", "PERCENT", "PERCENTILE_CONT", "PERCENTILE_DISC",
"PERCENT_RANK", "PERIOD", "PERMUTE", "PORTION", "POSITION", "POSITION_REGEX",
"POWER", "PRECEDES", "PRECISION", "PREPARE", "PREV", "PRIMARY", "PROCEDURE",
"RANGE", "RANK", "READS", "REAL", "RECURSIVE", "REF", "REFERENCES", "REFERENCING",
"REFRESH", "REFRESH_MODE", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT",
"REGR_R2", "REGR_SLOPE", "REGR_SXX", "REGR_SXY", "REGR_SYY", "RESET",
"RESULT", "RESUME", "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLLBACK",
"ROLLUP", "ROW", "ROWS", "ROW_NUMBER", "RUNNING", "SAVEPOINT", "SCOPE",
"SCROLL", "SEARCH", "SECOND", "SEEK", "SELECT", "SENSITIVE", "SESSION_USER",
"SET", "SHOW", "SIMILAR", "SKIP_W", "SMALLINT", "SOME", "SPECIFIC", "SPECIFICTYPE",
"SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQRT", "START", "STATIC",
"STDDEV_POP", "STDDEV_SAMP", "STREAM", "SUBMULTISET", "SUBSET", "SUBSTRING",
"SUBSTRING_REGEX", "SUCCEEDS", "SUM", "SUSPEND", "SYMMETRIC", "SYSTEM",
"SYSTEM_TIME", "SYSTEM_USER", "TABLE", "TABLESAMPLE", "THEN", "TIME",
"TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TINYINT", "TO", "TRAILING",
"TRANSLATE", "TRANSLATE_REGEX", "TRANSLATION", "TREAT", "TRIGGER", "TRIM",
"TRIM_ARRRAY", "TRUE", "TRUNCATE", "UESCAPE", "UNION", "UNIQUE", "UNKNOWN",
"UNNEST", "UPDATE", "UPPER", "UPSERT", "USER", "USING", "VALUE", "VALUES",
"VALUE_OF", "VARBINARY", "VARCHAR", "VARYING", "VAR_POP", "VAR_SAMP",
"VERSIONING", "WHEN", "WHENEVER", "WHERE", "WIDTH_BUCKET", "WINDOW", "WITH",
"WITHIN", "WITHOUT", "YEAR", "ABSENT", "ACTION", "ADD", "AFTER", "APPLY",
"ASC", "CASCADE", "CATALOG", "CENTURY", "CONDITIONAL", "CONSTRAINTS",
"DATA", "DATABASE", "DAYS", "DECADE", "DESC", "DOW", "DOY", "EPOCH", "ERROR",
"EXCLUDING", "FIRST", "FORMAT", "FRAC_SECOND", "GENERATED", "GEOMETRY",
"GO", "HASH", "HOP", "HOURS", "IGNORE", "INCLUDING", "ISODOW", "ISOYEAR",
"JAVA", "JSON", "KEY", "LAST", "MAP", "MICROSECOND", "MILLENNIUM", "MILLISECOND",
"MINUTES", "MONTHS", "NANOSECOND", "NULLS", "OBJECT", "OPTIONS", "ORDINALITY",
"PARTIAL", "PAST", "PIVOT", "PLACING", "PLAN", "PLI", "PRECEDING", "QUARTER",
"REPLACE", "RESPECT", "RESTRICT", "RETURNING", "SCALAR", "SECONDS", "SESSION",
"SETS", "SIZE", "SQL_TSI_DAY", "SQL_TSI_FRAC_SECOND", "SQL_TSI_HOUR",
"SQL_TSI_MICROSECOND", "SQL_TSI_MINUTE", "SQL_TSI_MONTH", "SQL_TSI_QUARTER",
"SQL_TSI_SECOND", "SQL_TSI_WEEK", "SQL_TSI_YEAR", "STATEMENT", "TEMPORARY",
"TUMBLE", "UNCONDITIONAL", "UNPIVOT", "VIEW", "WEEK", "WRAPPER", "YEARS",
"ZONE", "ANALYZE", "BYTES", "CATALOGS", "COMMENT", "COMPUTE", "COLUMNS",
"CUMULATE", "CURVE", "DATABASES", "ENFORCED", "FUNCTIONS", "GEOMETRYCOLLECTION",
"IF", "JAR", "LINESTRING", "LOAD", "METADATA", "MODULES", "MULTICURVE",
"MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "MULTISURFACE", "OVERWRITE",
"OVERWRITING", "PARTITIONED", "PARTITIONS", "PLAN_ADVICE", "POINT", "POLYHEDRALSURFACE",
"POLYGON", "PYTHON", "RAW", "RENAME", "SCALA", "SLIDE", "STATISTICS",
"STEP", "STRING", "SUBSTR", "SURFACE", "TABLES", "TIMECOL", "TIMESTAMP_LTZ",
"TRY_CAST", "UNLOAD", "USE", "VIEWS", "VIRTUAL", "WATERMARK", "WATERMARKS",
"REAL_LITERAL", "STRING_LITERAL", "IDENTIFIER", "BIND_PARAMETER",
];
FlinkSQLLexer.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(FlinkSQLLexer._LITERAL_NAMES, FlinkSQLLexer._SYMBOLIC_NAMES, []);
FlinkSQLLexer._serializedATNSegments = 10;
FlinkSQLLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\u0235\u1660\b" +
"\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t" +
"\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04" +
"\r\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12" +
"\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17" +
"\t\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C" +
"\t\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"" +
"\t\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04\'\t\'\x04(\t(\x04)\t)\x04*\t" +
"*\x04+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x04" +
"3\t3\x044\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04" +
"<\t<\x04=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04" +
"E\tE\x04F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x04L\tL\x04M\tM\x04" +
"N\tN\x04O\tO\x04P\tP\x04Q\tQ\x04R\tR\x04S\tS\x04T\tT\x04U\tU\x04V\tV\x04" +
"W\tW\x04X\tX\x04Y\tY\x04Z\tZ\x04[\t[\x04\\\t\\\x04]\t]\x04^\t^\x04_\t" +
"_\x04`\t`\x04a\ta\x04b\tb\x04c\tc\x04d\td\x04e\te\x04f\tf\x04g\tg\x04" +
"h\th\x04i\ti\x04j\tj\x04k\tk\x04l\tl\x04m\tm\x04n\tn\x04o\to\x04p\tp\x04" +
"q\tq\x04r\tr\x04s\ts\x04t\tt\x04u\tu\x04v\tv\x04w\tw\x04x\tx\x04y\ty\x04" +
"z\tz\x04{\t{\x04|\t|\x04}\t}\x04~\t~\x04\x7F\t\x7F\x04\x80\t\x80\x04\x81" +
"\t\x81\x04\x82\t\x82\x04\x83\t\x83\x04\x84\t\x84\x04\x85\t\x85\x04\x86" +
"\t\x86\x04\x87\t\x87\x04\x88\t\x88\x04\x89\t\x89\x04\x8A\t\x8A\x04\x8B" +
"\t\x8B\x04\x8C\t\x8C\x04\x8D\t\x8D\x04\x8E\t\x8E\x04\x8F\t\x8F\x04\x90" +
"\t\x90\x04\x91\t\x91\x04\x92\t\x92\x04\x93\t\x93\x04\x94\t\x94\x04\x95" +
"\t\x95\x04\x96\t\x96\x04\x97\t\x97\x04\x98\t\x98\x04\x99\t\x99\x04\x9A" +
"\t\x9A\x04\x9B\t\x9B\x04\x9C\t\x9C\x04\x9D\t\x9D\x04\x9E\t\x9E\x04\x9F" +
"\t\x9F\x04\xA0\t\xA0\x04\xA1\t\xA1\x04\xA2\t\xA2\x04\xA3\t\xA3\x04\xA4" +
"\t\xA4\x04\xA5\t\xA5\x04\xA6\t\xA6\x04\xA7\t\xA7\x04\xA8\t\xA8\x04\xA9" +
"\t\xA9\x04\xAA\t\xAA\x04\xAB\t\xAB\x04\xAC\t\xAC\x04\xAD\t\xAD\x04\xAE" +
"\t\xAE\x04\xAF\t\xAF\x04\xB0\t\xB0\x04\xB1\t\xB1\x04\xB2\t\xB2\x04\xB3" +
"\t\xB3\x04\xB4\t\xB4\x04\xB5\t\xB5\x04\xB6\t\xB6\x04\xB7\t\xB7\x04\xB8" +
"\t\xB8\x04\xB9\t\xB9\x04\xBA\t\xBA\x04\xBB\t\xBB\x04\xBC\t\xBC\x04\xBD" +
"\t\xBD\x04\xBE\t\xBE\x04\xBF\t\xBF\x04\xC0\t\xC0\x04\xC1\t\xC1\x04\xC2" +
"\t\xC2\x04\xC3\t\xC3\x04\xC4\t\xC4\x04\xC5\t\xC5\x04\xC6\t\xC6\x04\xC7" +
"\t\xC7\x04\xC8\t\xC8\x04\xC9\t\xC9\x04\xCA\t\xCA\x04\xCB\t\xCB\x04\xCC" +
"\t\xCC\x04\xCD\t\xCD\x04\xCE\t\xCE\x04\xCF\t\xCF\x04\xD0\t\xD0\x04\xD1" +
"\t\xD1\x04\xD2\t\xD2\x04\xD3\t\xD3\x04\xD4\t\xD4\x04\xD5\t\xD5\x04\xD6" +
"\t\xD6\x04\xD7\t\xD7\x04\xD8\t\xD8\x04\xD9\t\xD9\x04\xDA\t\xDA\x04\xDB" +
"\t\xDB\x04\xDC\t\xDC\x04\xDD\t\xDD\x04\xDE\t\xDE\x04\xDF\t\xDF\x04\xE0" +
"\t\xE0\x04\xE1\t\xE1\x04\xE2\t\xE2\x04\xE3\t\xE3\x04\xE4\t\xE4\x04\xE5" +
"\t\xE5\x04\xE6\t\xE6\x04\xE7\t\xE7\x04\xE8\t\xE8\x04\xE9\t\xE9\x04\xEA" +
"\t\xEA\x04\xEB\t\xEB\x04\xEC\t\xEC\x04\xED\t\xED\x04\xEE\t\xEE\x04\xEF" +
"\t\xEF\x04\xF0\t\xF0\x04\xF1\t\xF1\x04\xF2\t\xF2\x04\xF3\t\xF3\x04\xF4" +
"\t\xF4\x04\xF5\t\xF5\x04\xF6\t\xF6\x04\xF7\t\xF7\x04\xF8\t\xF8\x04\xF9" +
"\t\xF9\x04\xFA\t\xFA\x04\xFB\t\xFB\x04\xFC\t\xFC\x04\xFD\t\xFD\x04\xFE" +
"\t\xFE\x04\xFF\t\xFF\x04\u0100\t\u0100\x04\u0101\t\u0101\x04\u0102\t\u0102" +
"\x04\u0103\t\u0103\x04\u0104\t\u0104\x04\u0105\t\u0105\x04\u0106\t\u0106" +
"\x04\u0107\t\u0107\x04\u0108\t\u0108\x04\u0109\t\u0109\x04\u010A\t\u010A" +
"\x04\u010B\t\u010B\x04\u010C\t\u010C\x04\u010D\t\u010D\x04\u010E\t\u010E" +
"\x04\u010F\t\u010F\x04\u0110\t\u0110\x04\u0111\t\u0111\x04\u0112\t\u0112" +
"\x04\u0113\t\u0113\x04\u0114\t\u0114\x04\u0115\t\u0115\x04\u0116\t\u0116" +
"\x04\u0117\t\u0117\x04\u0118\t\u0118\x04\u0119\t\u0119\x04\u011A\t\u011A" +
"\x04\u011B\t\u011B\x04\u011C\t\u011C\x04\u011D\t\u011D\x04\u011E\t\u011E" +
"\x04\u011F\t\u011F\x04\u0120\t\u0120\x04\u0121\t\u0121\x04\u0122\t\u0122" +
"\x04\u0123\t\u0123\x04\u0124\t\u0124\x04\u0125\t\u0125\x04\u0126\t\u0126" +
"\x04\u0127\t\u0127\x04\u0128\t\u0128\x04\u0129\t\u0129\x04\u012A\t\u012A" +
"\x04\u012B\t\u012B\x04\u012C\t\u012C\x04\u012D\t\u012D\x04\u012E\t\u012E" +
"\x04\u012F\t\u012F\x04\u0130\t\u0130\x04\u0131\t\u0131\x04\u0132\t\u0132" +
"\x04\u0133\t\u0133\x04\u0134\t\u0134\x04\u0135\t\u0135\x04\u0136\t\u0136" +
"\x04\u0137\t\u0137\x04\u0138\t\u0138\x04\u0139\t\u0139\x04\u013A\t\u013A" +
"\x04\u013B\t\u013B\x04\u013C\t\u013C\x04\u013D\t\u013D\x04\u013E\t\u013E" +
"\x04\u013F\t\u013F\x04\u0140\t\u0140\x04\u0141\t\u0141\x04\u0142\t\u0142" +
"\x04\u0143\t\u0143\x04\u0144\t\u0144\x04\u0145\t\u0145\x04\u0146\t\u0146" +
"\x04\u0147\t\u0147\x04\u0148\t\u0148\x04\u0149\t\u0149\x04\u014A\t\u014A" +
"\x04\u014B\t\u014B\x04\u014C\t\u014C\x04\u014D\t\u014D\x04\u014E\t\u014E" +
"\x04\u014F\t\u014F\x04\u0150\t\u0150\x04\u0151\t\u0151\x04\u0152\t\u0152" +
"\x04\u0153\t\u0153\x04\u0154\t\u0154\x04\u0155\t\u0155\x04\u0156\t\u0156" +
"\x04\u0157\t\u0157\x04\u0158\t\u0158\x04\u0159\t\u0159\x04\u015A\t\u015A" +
"\x04\u015B\t\u015B\x04\u015C\t\u015C\x04\u015D\t\u015D\x04\u015E\t\u015E" +
"\x04\u015F\t\u015F\x04\u0160\t\u0160\x04\u0161\t\u0161\x04\u0162\t\u0162" +
"\x04\u0163\t\u0163\x04\u0164\t\u0164\x04\u0165\t\u0165\x04\u0166\t\u0166" +
"\x04\u0167\t\u0167\x04\u0168\t\u0168\x04\u0169\t\u0169\x04\u016A\t\u016A" +
"\x04\u016B\t\u016B\x04\u016C\t\u016C\x04\u016D\t\u016D\x04\u016E\t\u016E" +
"\x04\u016F\t\u016F\x04\u0170\t\u0170\x04\u0171\t\u0171\x04\u0172\t\u0172" +
"\x04\u0173\t\u0173\x04\u0174\t\u0174\x04\u0175\t\u0175\x04\u0176\t\u0176" +
"\x04\u0177\t\u0177\x04\u0178\t\u0178\x04\u0179\t\u0179\x04\u017A\t\u017A" +
"\x04\u017B\t\u017B\x04\u017C\t\u017C\x04\u017D\t\u017D\x04\u017E\t\u017E" +
"\x04\u017F\t\u017F\x04\u0180\t\u0180\x04\u0181\t\u0181\x04\u0182\t\u0182" +
"\x04\u0183\t\u0183\x04\u0184\t\u0184\x04\u0185\t\u0185\x04\u0186\t\u0186" +
"\x04\u0187\t\u0187\x04\u0188\t\u0188\x04\u0189\t\u0189\x04\u018A\t\u018A" +
"\x04\u018B\t\u018B\x04\u018C\t\u018C\x04\u018D\t\u018D\x04\u018E\t\u018E" +
"\x04\u018F\t\u018F\x04\u0190\t\u0190\x04\u0191\t\u0191\x04\u0192\t\u0192" +
"\x04\u0193\t\u0193\x04\u0194\t\u0194\x04\u0195\t\u0195\x04\u0196\t\u0196" +
"\x04\u0197\t\u0197\x04\u0198\t\u0198\x04\u0199\t\u0199\x04\u019A\t\u019A" +
"\x04\u019B\t\u019B\x04\u019C\t\u019C\x04\u019D\t\u019D\x04\u019E\t\u019E" +
"\x04\u019F\t\u019F\x04\u01A0\t\u01A0\x04\u01A1\t\u01A1\x04\u01A2\t\u01A2" +
"\x04\u01A3\t\u01A3\x04\u01A4\t\u01A4\x04\u01A5\t\u01A5\x04\u01A6\t\u01A6" +
"\x04\u01A7\t\u01A7\x04\u01A8\t\u01A8\x04\u01A9\t\u01A9\x04\u01AA\t\u01AA" +
"\x04\u01AB\t\u01AB\x04\u01AC\t\u01AC\x04\u01AD\t\u01AD\x04\u01AE\t\u01AE" +
"\x04\u01AF\t\u01AF\x04\u01B0\t\u01B0\x04\u01B1\t\u01B1\x04\u01B2\t\u01B2" +
"\x04\u01B3\t\u01B3\x04\u01B4\t\u01B4\x04\u01B5\t\u01B5\x04\u01B6\t\u01B6" +
"\x04\u01B7\t\u01B7\x04\u01B8\t\u01B8\x04\u01B9\t\u01B9\x04\u01BA\t\u01BA" +
"\x04\u01BB\t\u01BB\x04\u01BC\t\u01BC\x04\u01BD\t\u01BD\x04\u01BE\t\u01BE" +
"\x04\u01BF\t\u01BF\x04\u01C0\t\u01C0\x04\u01C1\t\u01C1\x04\u01C2\t\u01C2" +
"\x04\u01C3\t\u01C3\x04\u01C4\t\u01C4\x04\u01C5\t\u01C5\x04\u01C6\t\u01C6" +
"\x04\u01C7\t\u01C7\x04\u01C8\t\u01C8\x04\u01C9\t\u01C9\x04\u01CA\t\u01CA" +
"\x04\u01CB\t\u01CB\x04\u01CC\t\u01CC\x04\u01CD\t\u01CD\x04\u01CE\t\u01CE" +
"\x04\u01CF\t\u01CF\x04\u01D0\t\u01D0\x04\u01D1\t\u01D1\x04\u01D2\t\u01D2" +
"\x04\u01D3\t\u01D3\x04\u01D4\t\u01D4\x04\u01D5\t\u01D5\x04\u01D6\t\u01D6" +
"\x04\u01D7\t\u01D7\x04\u01D8\t\u01D8\x04\u01D9\t\u01D9\x04\u01DA\t\u01DA" +
"\x04\u01DB\t\u01DB\x04\u01DC\t\u01DC\x04\u01DD\t\u01DD\x04\u01DE\t\u01DE" +
"\x04\u01DF\t\u01DF\x04\u01E0\t\u01E0\x04\u01E1\t\u01E1\x04\u01E2\t\u01E2" +
"\x04\u01E3\t\u01E3\x04\u01E4\t\u01E4\x04\u01E5\t\u01E5\x04\u01E6\t\u01E6" +
"\x04\u01E7\t\u01E7\x04\u01E8\t\u01E8\x04\u01E9\t\u01E9\x04\u01EA\t\u01EA" +
"\x04\u01EB\t\u01EB\x04\u01EC\t\u01EC\x04\u01ED\t\u01ED\x04\u01EE\t\u01EE" +
"\x04\u01EF\t\u01EF\x04\u01F0\t\u01F0\x04\u01F1\t\u01F1\x04\u01F2\t\u01F2" +
"\x04\u01F3\t\u01F3\x04\u01F4\t\u01F4\x04\u01F5\t\u01F5\x04\u01F6\t\u01F6" +
"\x04\u01F7\t\u01F7\x04\u01F8\t\u01F8\x04\u01F9\t\u01F9\x04\u01FA\t\u01FA" +
"\x04\u01FB\t\u01FB\x04\u01FC\t\u01FC\x04\u01FD\t\u01FD\x04\u01FE\t\u01FE" +
"\x04\u01FF\t\u01FF\x04\u0200\t\u0200\x04\u0201\t\u0201\x04\u0202\t\u0202" +
"\x04\u0203\t\u0203\x04\u0204\t\u0204\x04\u0205\t\u0205\x04\u0206\t\u0206" +
"\x04\u0207\t\u0207\x04\u0208\t\u0208\x04\u0209\t\u0209\x04\u020A\t\u020A" +
"\x04\u020B\t\u020B\x04\u020C\t\u020C\x04\u020D\t\u020D\x04\u020E\t\u020E" +
"\x04\u020F\t\u020F\x04\u0210\t\u0210\x04\u0211\t\u0211\x04\u0212\t\u0212" +
"\x04\u0213\t\u0213\x04\u0214\t\u0214\x04\u0215\t\u0215\x04\u0216\t\u0216" +
"\x04\u0217\t\u0217\x04\u0218\t\u0218\x04\u0219\t\u0219\x04\u021A\t\u021A" +
"\x04\u021B\t\u021B\x04\u021C\t\u021C\x04\u021D\t\u021D\x04\u021E\t\u021E" +
"\x04\u021F\t\u021F\x04\u0220\t\u0220\x04\u0221\t\u0221\x04\u0222\t\u0222" +
"\x04\u0223\t\u0223\x04\u0224\t\u0224\x04\u0225\t\u0225\x04\u0226\t\u0226" +
"\x04\u0227\t\u0227\x04\u0228\t\u0228\x04\u0229\t\u0229\x04\u022A\t\u022A" +
"\x04\u022B\t\u022B\x04\u022C\t\u022C\x04\u022D\t\u022D\x04\u022E\t\u022E" +
"\x04\u022F\t\u022F\x04\u0230\t\u0230\x04\u0231\t\u0231\x04\u0232\t\u0232" +
"\x04\u0233\t\u0233\x04\u0234\t\u0234\x04\u0235\t\u0235\x04\u0236\t\u0236" +
"\x04\u0237\t\u0237\x04\u0238\t\u0238\x04\u0239\t\u0239\x04\u023A\t\u023A" +
"\x04\u023B\t\u023B\x04\u023C\t\u023C\x04\u023D\t\u023D\x04\u023E\t\u023E" +
"\x04\u023F\t\u023F\x04\u0240\t\u0240\x04\u0241\t\u0241\x04\u0242\t\u0242" +
"\x04\u0243\t\u0243\x04\u0244\t\u0244\x04\u0245\t\u0245\x04\u0246\t\u0246" +
"\x04\u0247\t\u0247\x04\u0248\t\u0248\x04\u0249\t\u0249\x04\u024A\t\u024A" +
"\x04\u024B\t\u024B\x04\u024C\t\u024C\x04\u024D\t\u024D\x04\u024E\t\u024E" +
"\x04\u024F\t\u024F\x03\x02\x06\x02\u04A1\n\x02\r\x02\x0E\x02\u04A2\x03" +
"\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x07\x03\u04AC\n\x03" +
"\f\x03\x0E\x03\u04AF\v\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
"\x04\x03\x04\x03\x04\x03\x04\x05\x04\u04BA\n\x04\x03\x04\x07\x04\u04BD" +
"\n\x04\f\x04\x0E\x04\u04C0\v\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05" +
"\x03\x05\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03" +
"\b\x03\t\x03\t\x03\t\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\f\x03\f\x03" +
"\f\x03\r\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03" +
"\x11\x03\x11\x03\x12\x03\x12\x03\x13\x03\x13\x03\x14\x03\x14\x03\x15\x03" +
"\x15\x03\x16\x03\x16\x03\x17\x03\x17\x03\x18\x03\x18\x03\x19\x03\x19\x03" +
"\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x03\x1E\x03" +
"\x1E\x03\x1F\x03\x1F\x03 \x03 \x03!\x03!\x03\"\x03\"\x03#\x03#\x03$\x03" +
"$\x03%\x03%\x03&\x03&\x03&\x03\'\x03\'\x03\'\x03(\x03(\x03(\x03(\x03)" +
"\x03)\x03)\x03*\x03*\x03+\x03+\x03+\x03,\x03,\x03-\x03-\x03-\x03.\x03" +
".\x03.\x03.\x03/\x03/\x03/\x03/\x030\x030\x030\x030\x030\x030\x030\x03" +
"0\x030\x031\x031\x031\x031\x031\x031\x032\x032\x032\x032\x032\x032\x03" +
"3\x033\x033\x033\x034\x034\x034\x034\x035\x035\x035\x035\x036\x036\x03" +
"6\x036\x036\x036\x037\x037\x037\x037\x037\x037\x037\x037\x037\x037\x03" +
"7\x037\x037\x037\x037\x037\x037\x037\x037\x037\x037\x037\x038\x038\x03" +
"8\x039\x039\x039\x039\x039\x039\x039\x039\x039\x039\x039\x03:\x03:\x03" +
":\x03:\x03:\x03:\x03:\x03:\x03:\x03:\x03:\x03;\x03;\x03;\x03<\x03<\x03" +
"<\x03<\x03<\x03<\x03<\x03=\x03=\x03=\x03=\x03=\x03=\x03=\x03=\x03=\x03" +
"=\x03=\x03=\x03=\x03=\x03>\x03>\x03>\x03>\x03>\x03?\x03?\x03?\x03?\x03" +
"@\x03@\x03@\x03@\x03@\x03@\x03A\x03A\x03A\x03A\x03A\x03A\x03A\x03A\x03" +
"A\x03A\x03A\x03A\x03B\x03B\x03B\x03B\x03B\x03B\x03B\x03B\x03B\x03B\x03" +
"B\x03B\x03B\x03B\x03B\x03B\x03C\x03C\x03C\x03C\x03C\x03C\x03C\x03C\x03" +
"D\x03D\x03D\x03D\x03D\x03D\x03D\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03" +
"F\x03F\x03F\x03F\x03G\x03G\x03G\x03G\x03G\x03H\x03H\x03H\x03H\x03H\x03" +
"H\x03H\x03H\x03I\x03I\x03I\x03I\x03I\x03J\x03J\x03J\x03J\x03J\x03J\x03" +
"J\x03J\x03K\x03K\x03K\x03L\x03L\x03L\x03L\x03L\x03M\x03M\x03M\x03M\x03" +
"M\x03M\x03M\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03" +
"N\x03O\x03O\x03O\x03O\x03O\x03O\x03O\x03O\x03O\x03P\x03P\x03P\x03P\x03" +
"P\x03Q\x03Q\x03Q\x03Q\x03Q\x03R\x03R\x03R\x03R\x03R\x03S\x03S\x03S\x03" +
"S\x03S\x03S\x03S\x03S\x03T\x03T\x03T\x03T\x03T\x03T\x03T\x03T\x03T\x03" +
"T\x03T\x03T\x03T\x03T\x03T\x03U\x03U\x03U\x03U\x03U\x03V\x03V\x03V\x03" +
"V\x03V\x03V\x03V\x03V\x03V\x03V\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x03" +
"W\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x03X\x03X\x03X\x03X\x03" +
"X\x03X\x03X\x03X\x03X\x03X\x03X\x03X\x03Y\x03Y\x03Y\x03Y\x03Y\x03Y\x03" +
"Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03[\x03[\x03[\x03" +
"[\x03[\x03\\\x03\\\x03\\\x03\\\x03\\\x03\\\x03]\x03]\x03]\x03]\x03]\x03" +
"]\x03]\x03]\x03]\x03^\x03^\x03^\x03^\x03^\x03^\x03^\x03^\x03_\x03_\x03" +
"_\x03_\x03_\x03_\x03_\x03_\x03`\x03`\x03`\x03`\x03`\x03`\x03`\x03a\x03" +
"a\x03a\x03a\x03a\x03a\x03a\x03b\x03b\x03b\x03b\x03b\x03b\x03b\x03b\x03" +
"b\x03b\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03d\x03d\x03d\x03d\x03" +
"d\x03d\x03d\x03d\x03d\x03d\x03d\x03e\x03e\x03e\x03e\x03e\x03e\x03e\x03" +
"e\x03f\x03f\x03f\x03f\x03f\x03f\x03f\x03f\x03f\x03f\x03f\x03g\x03g\x03" +
"g\x03g\x03g\x03g\x03g\x03g\x03h\x03h\x03h\x03h\x03h\x03i\x03i\x03i\x03" +
"i\x03i\x03i\x03i\x03i\x03i\x03i\x03i\x03i\x03i\x03i\x03j\x03j\x03j\x03" +
"j\x03j\x03j\x03k\x03k\x03k\x03k\x03k\x03k\x03k\x03k\x03k\x03k\x03l\x03" +
"l\x03l\x03l\x03l\x03l\x03l\x03l\x03l\x03l\x03l\x03m\x03m\x03m\x03m\x03" +
"m\x03m\x03m\x03n\x03n\x03n\x03n\x03n\x03n\x03o\x03o\x03o\x03o\x03o\x03" +
"p\x03p\x03p\x03p\x03p\x03p\x03p\x03p\x03p\x03p\x03q\x03q\x03q\x03q\x03" +
"q\x03q\x03q\x03q\x03r\x03r\x03r\x03r\x03r\x03r\x03r\x03r\x03r\x03r\x03" +
"r\x03r\x03r\x03r\x03r\x03r\x03s\x03s\x03s\x03s\x03s\x03s\x03s\x03s\x03" +
"s\x03s\x03s\x03s\x03s\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03" +
"t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03" +
"t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03t\x03u\x03u\x03u\x03u\x03u\x03" +
"u\x03u\x03u\x03u\x03u\x03u\x03u\x03u\x03v\x03v\x03v\x03v\x03v\x03v\x03" +
"v\x03v\x03v\x03v\x03v\x03v\x03v\x03w\x03w\x03w\x03w\x03w\x03w\x03w\x03" +
"w\x03w\x03w\x03w\x03w\x03x\x03x\x03x\x03x\x03x\x03x\x03x\x03x\x03x\x03" +
"x\x03x\x03x\x03x\x03x\x03x\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03" +
"y\x03y\x03y\x03y\x03y\x03z\x03z\x03z\x03z\x03z\x03z\x03z\x03z\x03z\x03" +
"z\x03z\x03z\x03z\x03z\x03z\x03z\x03z\x03z\x03{\x03{\x03{\x03{\x03{\x03" +
"{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03" +
"{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03{\x03" +
"|\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03}\x03" +
"}\x03}\x03}\x03}\x03}\x03}\x03~\x03~\x03~\x03~\x03~\x03~\x03\x7F\x03\x7F" +
"\x03\x7F\x03\x7F\x03\x7F\x03\x80\x03\x80\x03\x80\x03\x80\x03\x81\x03\x81" +
"\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81" +
"\x03\x82\x03\x82\x03\x82\x03\x82\x03\x83\x03\x83\x03\x83\x03\x83\x03\x83" +
"\x03\x83\x03\x83\x03\x83\x03\x84\x03\x84\x03\x84\x03\x84\x03\x84\x03\x84" +
"\x03\x84\x03\x84\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85" +
"\x03\x85\x03\x86\x03\x86\x03\x86\x03\x86\x03\x86\x03\x86\x03\x86\x03\x87" +
"\x03\x87\x03\x87\x03\x87\x03\x87\x03\x87\x03\x87\x03\x88\x03\x88\x03\x88" +
"\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x89" +
"\x03\x89\x03\x89\x03\x89\x03\x89\x03\x89\x03\x8A\x03\x8A\x03\x8A\x03\x8A" +
"\x03\x8A\x03\x8A\x03\x8A\x03\x8A\x03\x8A\x03\x8B\x03\x8B\x03\x8B\x03\x8B" +
"\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B" +
"\x03\x8B\x03\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8C" +
"\x03\x8C\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03\x8D" +
"\x03\x8D\x03\x8D\x03\x8D\x03\x8E\