UNPKG

antlr-ng

Version:

Next generation ANTLR Tool

5,541 lines 47 kB
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
import * as antlr from "antlr4ng";
import { LexerAdaptor } from "../misc/LexerAdaptor.js";
class ANTLRv4Lexer extends LexerAdaptor {
  static {
    __name(this, "ANTLRv4Lexer");
  }
  static ACTION = 4;
  static ARG_ACTION = 5;
  static ARG_OR_CHARSET = 6;
  static ASSIGN = 7;
  static RULE_REF = 8;
  static SEMPRED = 9;
  static STRING_LITERAL = 10;
  static TOKEN_REF = 11;
  static UNICODE_ESC = 12;
  static UNICODE_EXTENDED_ESC = 13;
  static WS = 14;
  static ALT = 15;
  static BLOCK = 16;
  static CLOSURE = 17;
  static ELEMENT_OPTIONS = 18;
  static EPSILON = 19;
  static LEXER_ACTION_CALL = 20;
  static LEXER_ALT_ACTION = 21;
  static OPTIONAL = 22;
  static POSITIVE_CLOSURE = 23;
  static RULE = 24;
  static RULEMODIFIERS = 25;
  static RULES = 26;
  static SET = 27;
  static WILDCARD = 28;
  static LEXER_CHAR_SET = 29;
  static DOC_COMMENT = 30;
  static BLOCK_COMMENT = 31;
  static LINE_COMMENT = 32;
  static INT = 33;
  static UNTERMINATED_STRING_LITERAL = 34;
  static BEGIN_ARGUMENT = 35;
  static OPTIONS = 36;
  static TOKENS = 37;
  static CHANNELS = 38;
  static IMPORT = 39;
  static FRAGMENT = 40;
  static LEXER = 41;
  static PARSER = 42;
  static GRAMMAR = 43;
  static PROTECTED = 44;
  static PUBLIC = 45;
  static PRIVATE = 46;
  static RETURNS = 47;
  static LOCALS = 48;
  static THROWS = 49;
  static CATCH = 50;
  static FINALLY = 51;
  static MODE = 52;
  static COLON = 53;
  static COLONCOLON = 54;
  static COMMA = 55;
  static SEMI = 56;
  static LPAREN = 57;
  static RPAREN = 58;
  static RBRACE = 59;
  static RARROW = 60;
  static LT = 61;
  static GT = 62;
  static QUESTION = 63;
  static STAR = 64;
  static PLUS_ASSIGN = 65;
  static PLUS = 66;
  static OR = 67;
  static DOLLAR = 68;
  static RANGE = 69;
  static DOT = 70;
  static AT = 71;
  static POUND = 72;
  static NOT = 73;
  static ID = 74;
  static END_ARGUMENT = 75;
  static UNTERMINATED_ARGUMENT = 76;
  static ARGUMENT_CONTENT = 77;
  static UNTERMINATED_CHAR_SET = 78;
  static Argument = 1;
  static LexerCharSet = 2;
  static channelNames = [
    "DEFAULT_TOKEN_CHANNEL",
    "HIDDEN",
    "OFF_CHANNEL",
    "COMMENT"
  ];
  static literalNames = [
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    "'='",
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    "'['",
    null,
    null,
    null,
    "'import'",
    "'fragment'",
    "'lexer'",
    "'parser'",
    "'grammar'",
    "'protected'",
    "'public'",
    "'private'",
    "'returns'",
    "'locals'",
    "'throws'",
    "'catch'",
    "'finally'",
    "'mode'",
    "':'",
    "'::'",
    "','",
    "';'",
    "'('",
    "')'",
    "'}'",
    "'->'",
    "'<'",
    "'>'",
    "'?'",
    "'*'",
    "'+='",
    "'+'",
    "'|'",
    "'$'",
    "'..'",
    "'.'",
    "'@'",
    "'#'",
    "'~'"
  ];
  static symbolicNames = [
    null,
    null,
    null,
    null,
    "ACTION",
    "ARG_ACTION",
    "ARG_OR_CHARSET",
    "ASSIGN",
    "RULE_REF",
    "SEMPRED",
    "STRING_LITERAL",
    "TOKEN_REF",
    "UNICODE_ESC",
    "UNICODE_EXTENDED_ESC",
    "WS",
    "ALT",
    "BLOCK",
    "CLOSURE",
    "ELEMENT_OPTIONS",
    "EPSILON",
    "LEXER_ACTION_CALL",
    "LEXER_ALT_ACTION",
    "OPTIONAL",
    "POSITIVE_CLOSURE",
    "RULE",
    "RULEMODIFIERS",
    "RULES",
    "SET",
    "WILDCARD",
    "LEXER_CHAR_SET",
    "DOC_COMMENT",
    "BLOCK_COMMENT",
    "LINE_COMMENT",
    "INT",
    "UNTERMINATED_STRING_LITERAL",
    "BEGIN_ARGUMENT",
    "OPTIONS",
    "TOKENS",
    "CHANNELS",
    "IMPORT",
    "FRAGMENT",
    "LEXER",
    "PARSER",
    "GRAMMAR",
    "PROTECTED",
    "PUBLIC",
    "PRIVATE",
    "RETURNS",
    "LOCALS",
    "THROWS",
    "CATCH",
    "FINALLY",
    "MODE",
    "COLON",
    "COLONCOLON",
    "COMMA",
    "SEMI",
    "LPAREN",
    "RPAREN",
    "RBRACE",
    "RARROW",
    "LT",
    "GT",
    "QUESTION",
    "STAR",
    "PLUS_ASSIGN",
    "PLUS",
    "OR",
    "DOLLAR",
    "RANGE",
    "DOT",
    "AT",
    "POUND",
    "NOT",
    "ID",
    "END_ARGUMENT",
    "UNTERMINATED_ARGUMENT",
    "ARGUMENT_CONTENT",
    "UNTERMINATED_CHAR_SET"
  ];
  static modeNames = [
    "DEFAULT_MODE",
    "Argument",
    "LexerCharSet"
  ];
  static ruleNames = [
    "DOC_COMMENT",
    "BLOCK_COMMENT",
    "LINE_COMMENT",
    "INT",
    "STRING_LITERAL",
    "UNTERMINATED_STRING_LITERAL",
    "BEGIN_ARGUMENT",
    "ACTION",
    "NESTED_ACTION",
    "OPTIONS",
    "TOKENS",
    "CHANNELS",
    "IMPORT",
    "FRAGMENT",
    "LEXER",
    "PARSER",
    "GRAMMAR",
    "PROTECTED",
    "PUBLIC",
    "PRIVATE",
    "RETURNS",
    "LOCALS",
    "THROWS",
    "CATCH",
    "FINALLY",
    "MODE",
    "COLON",
    "COLONCOLON",
    "COMMA",
    "SEMI",
    "LPAREN",
    "RPAREN",
    "RBRACE",
    "RARROW",
    "LT",
    "GT",
    "ASSIGN",
    "QUESTION",
    "STAR",
    "PLUS_ASSIGN",
    "PLUS",
    "OR",
    "DOLLAR",
    "RANGE",
    "DOT",
    "AT",
    "POUND",
    "NOT",
    "ID",
    "WS",
    "NESTED_ARGUMENT",
    "ARGUMENT_ESCAPE",
    "ARGUMENT_STRING_LITERAL",
    "ARGUMENT_CHAR_LITERAL",
    "END_ARGUMENT",
    "UNTERMINATED_ARGUMENT",
    "ARGUMENT_CONTENT",
    "LEXER_CHAR_SET_BODY",
    "LEXER_CHAR_SET",
    "UNTERMINATED_CHAR_SET",
    "ESC_SEQUENCE",
    "HexDigit",
    "UnicodeESC",
    "DoubleQuoteLiteral",
    "TripleQuoteLiteral",
    "BacktickQuoteLiteral",
    "NameChar",
    "NameStartChar"
  ];
  constructor(input) {
    super(input);
    this.interpreter = new antlr.LexerATNSimulator(this, ANTLRv4Lexer._ATN, ANTLRv4Lexer.decisionsToDFA, new antlr.PredictionContextCache());
  }
  get grammarFileName() {
    return "ANTLRv4Lexer.g4";
  }
  get literalNames() {
    return ANTLRv4Lexer.literalNames;
  }
  get symbolicNames() {
    return ANTLRv4Lexer.symbolicNames;
  }
  get ruleNames() {
    return ANTLRv4Lexer.ruleNames;
  }
  get serializedATN() {
    return ANTLRv4Lexer._serializedATN;
  }
  get channelNames() {
    return ANTLRv4Lexer.channelNames;
  }
  get modeNames() {
    return ANTLRv4Lexer.modeNames;
  }
  action(localContext, ruleIndex, actionIndex) {
    switch (ruleIndex) {
      case 6:
        this.BEGIN_ARGUMENT_action(localContext, actionIndex);
        break;
      case 54:
        this.END_ARGUMENT_action(localContext, actionIndex);
        break;
    }
  }
  BEGIN_ARGUMENT_action(localContext, actionIndex) {
    switch (actionIndex) {
      case 0:
        this.handleBeginArgument();
        break;
    }
  }
  END_ARGUMENT_action(localContext, actionIndex) {
    switch (actionIndex) {
      case 1:
        this.handleEndArgument();
        break;
    }
  }
  static _serializedATN = [
    4,
    0,
    78,
    572,
    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,
    7,
    18,
    2,
    19,
    7,
    19,
    2,
    20,
    7,
    20,
    2,
    21,
    7,
    21,
    2,
    22,
    7,
    22,
    2,
    23,
    7,
    23,
    2,
    24,
    7,
    24,
    2,
    25,
    7,
    25,
    2,
    26,
    7,
    26,
    2,
    27,
    7,
    27,
    2,
    28,
    7,
    28,
    2,
    29,
    7,
    29,
    2,
    30,
    7,
    30,
    2,
    31,
    7,
    31,
    2,
    32,
    7,
    32,
    2,
    33,
    7,
    33,
    2,
    34,
    7,
    34,
    2,
    35,
    7,
    35,
    2,
    36,
    7,
    36,
    2,
    37,
    7,
    37,
    2,
    38,
    7,
    38,
    2,
    39,
    7,
    39,
    2,
    40,
    7,
    40,
    2,
    41,
    7,
    41,
    2,
    42,
    7,
    42,
    2,
    43,
    7,
    43,
    2,
    44,
    7,
    44,
    2,
    45,
    7,
    45,
    2,
    46,
    7,
    46,
    2,
    47,
    7,
    47,
    2,
    48,
    7,
    48,
    2,
    49,
    7,
    49,
    2,
    50,
    7,
    50,
    2,
    51,
    7,
    51,
    2,
    52,
    7,
    52,
    2,
    53,
    7,
    53,
    2,
    54,
    7,
    54,
    2,
    55,
    7,
    55,
    2,
    56,
    7,
    56,
    2,
    57,
    7,
    57,
    2,
    58,
    7,
    58,
    2,
    59,
    7,
    59,
    2,
    60,
    7,
    60,
    2,
    61,
    7,
    61,
    2,
    62,
    7,
    62,
    2,
    63,
    7,
    63,
    2,
    64,
    7,
    64,
    2,
    65,
    7,
    65,
    2,
    66,
    7,
    66,
    2,
    67,
    7,
    67,
    1,
    0,
    1,
    0,
    1,
    0,
    1,
    0,
    1,
    0,
    5,
    0,
    145,
    8,
    0,
    10,
    0,
    12,
    0,
    148,
    9,
    0,
    1,
    0,
    1,
    0,
    1,
    0,
    3,
    0,
    153,
    8,
    0,
    1,
    0,
    1,
    0,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    5,
    1,
    161,
    8,
    1,
    10,
    1,
    12,
    1,
    164,
    9,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    3,
    1,
    169,
    8,
    1,
    1,
    1,
    1,
    1,
    1,
    2,
    1,
    2,
    1,
    2,
    1,
    2,
    5,
    2,
    177,
    8,
    2,
    10,
    2,
    12,
    2,
    180,
    9,
    2,
    1,
    2,
    1,
    2,
    1,
    3,
    1,
    3,
    1,
    3,
    5,
    3,
    187,
    8,
    3,
    10,
    3,
    12,
    3,
    190,
    9,
    3,
    3,
    3,
    192,
    8,
    3,
    1,
    4,
    1,
    4,
    1,
    4,
    5,
    4,
    197,
    8,
    4,
    10,
    4,
    12,
    4,
    200,
    9,
    4,
    1,
    4,
    1,
    4,
    1,
    5,
    1,
    5,
    1,
    5,
    5,
    5,
    207,
    8,
    5,
    10,
    5,
    12,
    5,
    210,
    9,
    5,
    1,
    6,
    1,
    6,
    1,
    6,
    1,
    7,
    1,
    7,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    5,
    8,
    227,
    8,
    8,
    10,
    8,
    12,
    8,
    230,
    9,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    5,
    8,
    238,
    8,
    8,
    10,
    8,
    12,
    8,
    241,
    9,
    8,
    1,
    8,
    1,
    8,
    1,
    8,
    5,
    8,
    246,
    8,
    8,
    10,
    8,
    12,
    8,
    249,
    9,
    8,
    1,
    8,
    1,
    8,
    1,
    9,
    1,
    9,
    1,
    9,
    1,
    9,
    1,
    9,
    1,
    9,
    1,
    9,
    1,
    9,
    1,
    9,
    5,
    9,
    262,
    8,
    9,
    10,
    9,
    12,
    9,
    265,
    9,
    9,
    1,
    9,
    1,
    9,
    1,
    10,
    1,
    10,
    1,
    10,
    1,
    10,
    1,
    10,
    1,
    10,
    1,
    10,
    1,
    10,
    5,
    10,
    277,
    8,
    10,
    10,
    10,
    12,
    10,
    280,
    9,
    10,
    1,
    10,
    1,
    10,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    1,
    11,
    5,
    11,
    294,
    8,
    11,
    10,
    11,
    12,
    11,
    297,
    9,
    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,
    13,
    1,
    14,
    1,
    14,
    1,
    14,
    1,
    14,
    1,
    14,
    1,
    14,
    1,
    15,
    1,
    15,
    1,
    15,
    1,
    15,
    1,
    15,
    1,
    15,
    1,
    15,
    1,
    16,
    1,
    16,
    1,
    16,
    1,
    16,
    1,
    16,
    1,
    16,
    1,
    16,
    1,
    16,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    17,
    1,
    18,
    1,
    18,
    1,
    18,
    1,
    18,
    1,
    18,
    1,
    18,
    1,
    18,
    1,
    19,
    1,
    19,
    1,
    19,
    1,
    19,
    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,
    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,
    23,
    1,
    23,
    1,
    23,
    1,
    23,
    1,
    23,
    1,
    23,
    1,
    24,
    1,
    24,
    1,
    24,
    1,
    24,
    1,
    24,
    1,
    24,
    1,
    24,
    1,
    24,
    1,
    25,
    1,
    25,
    1,
    25,
    1,
    25,
    1,
    25,
    1,
    26,
    1,
    26,
    1,
    27,
    1,
    27,
    1,
    27,
    1,
    28,
    1,
    28,
    1,
    29,
    1,
    29,
    1,
    30,
    1,
    30,
    1,
    31,
    1,
    31,
    1,
    32,
    1,
    32,
    1,
    33,
    1,
    33,
    1,
    33,
    1,
    34,
    1,
    34,
    1,
    35,
    1,
    35,
    1,
    36,
    1,
    36,
    1,
    37,
    1,
    37,
    1,
    38,
    1,
    38,
    1,
    39,
    1,
    39,
    1,
    39,
    1,
    40,
    1,
    40,
    1,
    41,
    1,
    41,
    1,
    42,
    1,
    42,
    1,
    43,
    1,
    43,
    1,
    43,
    1,
    44,
    1,
    44,
    1,
    45,
    1,
    45,
    1,
    46,
    1,
    46,
    1,
    47,
    1,
    47,
    1,
    48,
    1,
    48,
    5,
    48,
    454,
    8,
    48,
    10,
    48,
    12,
    48,
    457,
    9,
    48,
    1,
    49,
    4,
    49,
    460,
    8,
    49,
    11,
    49,
    12,
    49,
    461,
    1,
    49,
    1,
    49,
    1,
    50,
    1,
    50,
    1,
    50,
    1,
    50,
    1,
    50,
    1,
    51,
    1,
    51,
    1,
    51,
    1,
    51,
    1,
    51,
    1,
    52,
    1,
    52,
    1,
    52,
    1,
    52,
    1,
    53,
    1,
    53,
    1,
    53,
    1,
    53,
    1,
    54,
    1,
    54,
    1,
    54,
    1,
    55,
    1,
    55,
    1,
    55,
    1,
    55,
    1,
    56,
    1,
    56,
    1,
    57,
    1,
    57,
    1,
    57,
    4,
    57,
    496,
    8,
    57,
    11,
    57,
    12,
    57,
    497,
    1,
    57,
    1,
    57,
    1,
    58,
    1,
    58,
    1,
    58,
    1,
    58,
    1,
    59,
    1,
    59,
    1,
    59,
    1,
    59,
    1,
    60,
    1,
    60,
    1,
    60,
    1,
    60,
    1,
    60,
    3,
    60,
    515,
    8,
    60,
    1,
    61,
    1,
    61,
    1,
    62,
    1,
    62,
    1,
    62,
    1,
    62,
    1,
    62,
    3,
    62,
    524,
    8,
    62,
    3,
    62,
    526,
    8,
    62,
    3,
    62,
    528,
    8,
    62,
    3,
    62,
    530,
    8,
    62,
    1,
    63,
    1,
    63,
    1,
    63,
    5,
    63,
    535,
    8,
    63,
    10,
    63,
    12,
    63,
    538,
    9,
    63,
    1,
    63,
    1,
    63,
    1,
    64,
    1,
    64,
    1,
    64,
    1,
    64,
    1,
    64,
    1,
    64,
    5,
    64,
    548,
    8,
    64,
    10,
    64,
    12,
    64,
    551,
    9,
    64,
    1,
    64,
    1,
    64,
    1,
    64,
    1,
    64,
    1,
    65,
    1,
    65,
    1,
    65,
    5,
    65,
    560,
    8,
    65,
    10,
    65,
    12,
    65,
    563,
    9,
    65,
    1,
    65,
    1,
    65,
    1,
    66,
    1,
    66,
    3,
    66,
    569,
    8,
    66,
    1,
    67,
    1,
    67,
    7,
    146,
    162,
    228,
    247,
    536,
    549,
    561,
    0,
    68,
    3,
    30,
    5,
    31,
    7,
    32,
    9,
    33,
    11,
    10,
    13,
    34,
    15,
    35,
    17,
    4,
    19,
    0,
    21,
    36,
    23,
    37,
    25,
    38,
    27,
    39,
    29,
    40,
    31,
    41,
    33,
    42,
    35,
    43,
    37,
    44,
    39,
    45,
    41,
    46,
    43,
    47,
    45,
    48,
    47,
    49,
    49,
    50,
    51,
    51,
    53,
    52,
    55,
    53,
    57,
    54,
    59,
    55,
    61,
    56,
    63,
    57,
    65,
    58,
    67,
    59,
    69,
    60,
    71,
    61,
    73,
    62,
    75,
    7,
    77,
    63,
    79,
    64,
    81,
    65,
    83,
    66,
    85,
    67,
    87,
    68,
    89,
    69,
    91,
    70,
    93,
    71,
    95,
    72,
    97,
    73,
    99,
    74,
    101,
    14,
    103,
    0,
    105,
    0,
    107,
    0,
    109,
    0,
    111,
    75,
    113,
    76,
    115,
    77,
    117,
    0,
    119,
    29,
    121,
    78,
    123,
    0,
    125,
    0,
    127,
    0,
    129,
    0,
    131,
    0,
    133,
    0,
    135,
    0,
    137,
    0,
    3,
    0,
    1,
    2,
    12,
    2,
    0,
    10,
    10,
    13,
    13,
    1,
    0,
    49,
    57,
    1,
    0,
    48,
    57,
    4,
    0,
    10,
    10,
    13,
    13,
    39,
    39,
    92,
    92,
    5,
    0,
    34,
    34,
    39,
    39,
    92,
    92,
    96,
    96,
    123,
    123,
    3,
    0,
    9,
    10,
    12,
    13,
    32,
    32,
    1,
    0,
    92,
    93,
    8,
    0,
    34,
    34,
    39,
    39,
    92,
    92,
    98,
    98,
    102,
    102,
    110,
    110,
    114,
    114,
    116,
    116,
    3,
    0,
    48,
    57,
    65,
    70,
    97,
    102,
    4,
    0,
    10,
    10,
    13,
    13,
    34,
    34,
    92,
    92,
    5,
    0,
    48,
    57,
    95,
    95,
    183,
    183,
    768,
    879,
    8255,
    8256,
    13,
    0,
    65,
    90,
    97,
    122,
    192,
    214,
    216,
    246,
    248,
    767,
    880,
    893,
    895,
    8191,
    8204,
    8205,
    8304,
    8591,
    11264,
    12271,
    12289,
    55295,
    63744,
    64975,
    65008,
    65533,
    603,
    0,
    3,
    1,
    0,
    0,
    0,
    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,
    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,
    1,
    103,
    1,
    0,
    0,
    0,
    1,
    105,
    1,
    0,
    0,
    0,
    1,
    107,
    1,
    0,
    0,
    0,
    1,
    109,
    1,
    0,
    0,
    0,
    1,
    111,
    1,
    0,
    0,
    0,
    1,
    113,
    1,
    0,
    0,
    0,
    1,
    115,
    1,
    0,
    0,
    0,
    2,
    117,
    1,
    0,
    0,
    0,
    2,
    119,
    1,
    0,
    0,
    0,
    2,
    121,
    1,
    0,
    0,
    0,
    3,
    139,
    1,
    0,
    0,
    0,
    5,
    156,
    1,
    0,
    0,
    0,
    7,
    172,
    1,
    0,
    0,
    0,
    9,
    191,
    1,
    0,
    0,
    0,
    11,
    193,
    1,
    0,
    0,
    0,
    13,
    203,
    1,
    0,
    0,
    0,
    15,
    211,
    1,
    0,
    0,
    0,
    17,
    214,
    1,
    0,
    0,
    0,
    19,
    216,
    1,
    0,
    0,
    0,
    21,
    252,
    1,
    0,
    0,
    0,
    23,
    268,
    1,
    0,
    0,
    0,
    25,
    283,
    1,
    0,
    0,
    0,
    27,
    300,
    1,
    0,
    0,
    0,
    29,
    307,
    1,
    0,
    0,
    0,
    31,
    316,
    1,
    0,
    0,
    0,
    33,
    322,
    1,
    0,
    0,
    0,
    35,
    329,
    1,
    0,
    0,
    0,
    37,
    337,
    1,
    0,
    0,
    0,
    39,
    347,
    1,
    0,
    0,
    0,
    41,
    354,
    1,
    0,
    0,
    0,
    43,
    362,
    1,
    0,
    0,
    0,
    45,
    370,
    1,
    0,
    0,
    0,
    47,
    377,
    1,
    0,
    0,
    0,
    49,
    384,
    1,
    0,
    0,
    0,
    51,
    390,
    1,
    0,
    0,
    0,
    53,
    398,
    1,
    0,
    0,
    0,
    55,
    403,
    1,
    0,
    0,
    0,
    57,
    405,
    1,
    0,
    0,
    0,
    59,
    408,
    1,
    0,
    0,
    0,
    61,
    410,
    1,
    0,
    0,
    0,
    63,
    412,
    1,
    0,
    0,
    0,
    65,
    414,
    1,
    0,
    0,
    0,
    67,
    416,
    1,
    0,
    0,
    0,
    69,
    418,
    1,
    0,
    0,
    0,
    71,
    421,
    1,
    0,
    0,
    0,
    73,
    423,
    1,
    0,
    0,
    0,
    75,
    425,
    1,
    0,
    0,
    0,
    77,
    427,
    1,
    0,
    0,
    0,
    79,
    429,
    1,
    0,
    0,
    0,
    81,
    431,
    1,
    0,
    0,
    0,
    83,
    434,
    1,
    0,
    0,
    0,
    85,
    436,
    1,
    0,
    0,
    0,
    87,
    438,
    1,
    0,
    0,
    0,
    89,
    440,
    1,
    0,
    0,
    0,
    91,
    443,
    1,
    0,
    0,
    0,
    93,
    445,
    1,
    0,
    0,
    0,
    95,
    447,
    1,
    0,
    0,
    0,
    97,
    449,
    1,
    0,
    0,
    0,
    99,
    451,
    1,
    0,
    0,
    0,
    101,
    459,
    1,
    0,
    0,
    0,
    103,
    465,
    1,
    0,
    0,
    0,
    105,
    470,
    1,
    0,
    0,
    0,
    107,
    475,
    1,
    0,
    0,
    0,
    109,
    479,
    1,
    0,
    0,
    0,
    111,
    483,
    1,
    0,
    0,
    0,
    113,
    486,
    1,
    0,
    0,
    0,
    115,
    490,
    1,
    0,
    0,
    0,
    117,
    495,
    1,
    0,
    0,
    0,
    119,
    501,
    1,
    0,
    0,
    0,
    121,
    505,
    1,
    0,
    0,
    0,
    123,
    509,
    1,
    0,
    0,
    0,
    125,
    516,
    1,
    0,
    0,
    0,
    127,
    518,
    1,
    0,
    0,
    0,
    129,
    531,
    1,
    0,
    0,
    0,
    131,
    541,
    1,
    0,
    0,
    0,
    133,
    556,
    1,
    0,
    0,
    0,
    135,
    568,
    1,
    0,
    0,
    0,
    137,
    570,
    1,
    0,
    0,
    0,
    139,
    140,
    5,
    47,
    0,
    0,
    140,
    141,
    5,
    42,
    0,
    0,
    141,
    142,
    5,
    42,
    0,
    0,
    142,
    146,
    1,
    0,
    0,
    0,
    143,
    145,
    9,
    0,
    0,
    0,
    144,
    143,
    1,
    0,
    0,
    0,
    145,
    148,
    1,
    0,
    0,
    0,
    146,
    147,
    1,
    0,
    0,
    0,
    146,
    144,
    1,
    0,
    0,
    0,
    147,
    152,
    1,
    0,
    0,
    0,
    148,
    146,
    1,
    0,
    0,
    0,
    149,
    150,
    5,
    42,
    0,
    0,
    150,
    153,
    5,
    47,
    0,
    0,
    151,
    153,
    5,
    0,
    0,
    1,
    152,
    149,
    1,
    0,
    0,
    0,
    152,
    151,
    1,
    0,
    0,
    0,
    153,
    154,
    1,
    0,
    0,
    0,
    154,
    155,
    6,
    0,
    0,
    0,
    155,
    4,
    1,
    0,
    0,
    0,
    156,
    157,
    5,
    47,
    0,
    0,
    157,
    158,
    5,
    42,
    0,
    0,
    158,
    162,
    1,
    0,
    0,
    0,
    159,
    161,
    9,
    0,
    0,
    0,
    160,
    159,
    1,
    0,
    0,
    0,
    161,
    164,
    1,
    0,
    0,
    0,
    162,
    163,
    1,
    0,
    0,
    0,
    162,
    160,
    1,
    0,
    0,
    0,
    163,
    168,
    1,
    0,
    0,
    0,
    164,
    162,
    1,
    0,
    0,
    0,
    165,
    166,
    5,
    42,
    0,
    0,
    166,
    169,
    5,
    47,
    0,
    0,
    167,
    169,
    5,
    0,
    0,
    1,
    168,
    165,
    1,
    0,
    0,
    0,
    168,
    167,
    1,
    0,
    0,
    0,
    169,
    170,
    1,
    0,
    0,
    0,
    170,
    171,
    6,
    1,
    0,
    0,
    171,
    6,
    1,
    0,
    0,
    0,
    172,
    173,
    5,
    47,
    0,
    0,
    173,
    174,
    5,
    47,
    0,
    0,
    174,
    178,
    1,
    0,
    0,
    0,
    175,
    177,
    8,
    0,
    0,
    0,
    176,
    175,
    1,
    0,
    0,
    0,
    177,
    180,
    1,
    0,
    0,
    0,
    178,
    176,
    1,
    0,
    0,
    0,
    178,
    179,
    1,
    0,
    0,
    0,
    179,
    181,
    1,
    0,
    0,
    0,
    180,
    178,
    1,
    0,
    0,
    0,
    181,
    182,
    6,
    2,
    0,
    0,
    182,
    8,
    1,
    0,
    0,
    0,
    183,
    192,
    5,
    48,
    0,
    0,
    184,
    188,
    7,
    1,
    0,
    0,
    185,
    187,
    7,
    2,
    0,
    0,
    186,
    185,
    1,
    0,
    0,
    0,
    187,
    190,
    1,
    0,
    0,
    0,
    188,
    186,
    1,
    0,
    0,
    0,
    188,
    189,
    1,
    0,
    0,
    0,
    189,
    192,
    1,
    0,
    0,
    0,
    190,
    188,
    1,
    0,
    0,
    0,
    191,
    183,
    1,
    0,
    0,
    0,
    191,
    184,
    1,
    0,
    0,
    0,
    192,
    10,
    1,
    0,
    0,
    0,
    193,
    198,
    5,
    39,
    0,
    0,
    194,
    197,
    3,
    123,
    60,
    0,
    195,
    197,
    8,
    3,
    0,
    0,
    196,
    194,
    1,
    0,
    0,
    0,
    196,
    195,
    1,
    0,
    0,
    0,
    197,
    200,
    1,
    0,
    0,
    0,
    198,
    196,
    1,
    0,
    0,
    0,
    198,
    199,
    1,
    0,
    0,
    0,
    199,
    201,
    1,
    0,
    0,
    0,
    200,
    198,
    1,
    0,
    0,
    0,
    201,
    202,
    5,
    39,
    0,
    0,
    202,
    12,
    1,
    0,
    0,
    0,
    203,
    208,
    5,
    39,
    0,
    0,
    204,
    207,
    3,
    123,
    60,
    0,
    205,
    207,
    8,
    3,
    0,
    0,
    206,
    204,
    1,
    0,
    0,
    0,
    206,
    205,
    1,
    0,
    0,
    0,
    207,
    210,
    1,
    0,
    0,
    0,
    208,
    206,
    1,
    0,
    0,
    0,
    208,
    209,
    1,
    0,
    0,
    0,
    209,
    14,
    1,
    0,
    0,
    0,
    210,
    208,
    1,
    0,
    0,
    0,
    211,
    212,
    5,
    91,
    0,
    0,
    212,
    213,
    6,
    6,
    1,
    0,
    213,
    16,
    1,
    0,
    0,
    0,
    214,
    215,
    3,
    19,
    8,
    0,
    215,
    18,
    1,
    0,
    0,
    0,
    216,
    247,
    5,
    123,
    0,
    0,
    217,
    246,
    3,
    19,
    8,
    0,
    218,
    246,
    3,
    11,
    4,
    0,
    219,
    246,
    3,
    129,
    63,
    0,
    220,
    246,
    3,
    131,
    64,
    0,
    221,
    246,
    3,
    133,
    65,
    0,
    222,
    223,
    5,
    47,
    0,
    0,
    223,
    224,
    5,
    42,
    0,
    0,
    224,
    228,
    1,
    0,
    0,
    0,
    225,
    227,
    9,
    0,
    0,
    0,
    226,
    225,
    1,
    0,
    0,
    0,
    227,
    230,
    1,
    0,
    0,
    0,
    228,
    229,
    1,
    0,
    0,
    0,
    228,
    226,
    1,
    0,
    0,
    0,
    229,
    231,
    1,
    0,
    0,
    0,
    230,
    228,
    1,
    0,
    0,
    0,
    231,
    232,
    5,
    42,
    0,
    0,
    232,
    246,
    5,
    47,
    0,
    0,
    233,
    234,
    5,
    47,
    0,
    0,
    234,
    235,
    5,
    47,
    0,
    0,
    235,
    239,
    1,
    0,
    0,
    0,
    236,
    238,
    8,
    0,
    0,
    0,
    237,
    236,
    1,
    0,
    0,
    0,
    238,
    241,
    1,
    0,
    0,
    0,
    239,
    237,
    1,
    0,
    0,
    0,
    239,
    240,
    1,
    0,
    0,
    0,
    240,
    246,
    1,
    0,
    0,
    0,
    241,
    239,
    1,
    0,
    0,
    0,
    242,
    243,
    5,
    92,
    0,
    0,
    243,
    246,
    9,
    0,
    0,
    0,
    244,
    246,
    8,
    4,
    0,
    0,
    245,
    217,
    1,
    0,
    0,
    0,
    245,
    218,
    1,
    0,
    0,
    0,
    245,
    219,
    1,
    0,
    0,
    0,
    245,
    220,
    1,
    0,
    0,
    0,
    245,
    221,
    1,
    0,
    0,
    0,
    245,
    222,
    1,
    0,
    0,
    0,
    245,
    233,
    1,
    0,
    0,
    0,
    245,
    242,
    1,
    0,
    0,
    0,
    245,
    244,
    1,
    0,
    0,
    0,
    246,
    249,
    1,
    0,
    0,
    0,
    247,
    248,
    1,
    0,
    0,
    0,
    247,
    245,
    1,
    0,
    0,
    0,
    248,
    250,
    1,
    0,
    0,
    0,
    249,
    247,
    1,
    0,
    0,
    0,
    250,
    251,
    5,
    125,
    0,
    0,
    251,
    20,
    1,
    0,
    0,
    0,
    252,
    253,
    5,
    111,
    0,
    0,
    253,
    254,
    5,
    112,
    0,
    0,
    254,
    255,
    5,
    116,
    0,
    0,
    255,
    256,
    5,
    105,
    0,
    0,
    256,
    257,
    5,
    111,
    0,
    0,
    257,
    258,
    5,
    110,
    0,
    0,
    258,
    259,
    5,
    115,
    0,
    0,
    259,
    263,
    1,
    0,
    0,
    0,
    260,
    262,
    3,
    101,
    49,
    0,
    261,
    260,
    1,
    0,
    0,
    0,
    262,
    265,
    1,
    0,
    0,
    0,
    263,
    261,
    1,
    0,
    0,
    0,
    263,
    264,
    1,
    0,
    0,
    0,
    264,
    266,
    1,
    0,
    0,
    0,
    265,
    263,
    1,
    0,
    0,
    0,
    266,
    267,
    5,
    123,
    0,
    0,
    267,
    22,
    1,
    0,
    0,
    0,
    268,
    269,
    5,
    116,
    0,
    0,
    269,
    270,
    5,
    111,
    0,
    0,
    270,
    271,
    5,
    107,
    0,
    0,
    271,
    272,
    5,
    101,
    0,
    0,
    272,
    273,
    5,
    110,
    0,
    0,
    273,
    274,
    5,
    115,
    0,
    0,
    274,
    278,
    1,
    0,
    0,
    0,
    275,
    277,
    3,
    101,
    49,
    0,
    276,
    275,
    1,
    0,
    0,
    0,
    277,
    280,
    1,
    0,
    0,
    0,
    278,
    276,
    1,
    0,
    0,
    0,
    278,
    279,
    1,
    0,
    0,
    0,
    279,
    281,
    1,
    0,
    0,
    0,
    280,
    278,
    1,
    0,
    0,
    0,
    281,
    282,
    5,
    123,
    0,
    0,
    282,
    24,
    1,
    0,
    0,
    0,
    283,
    284,
    5,
    99,
    0,
    0,
    284,
    285,
    5,
    104,
    0,
    0,
    285,
    286,
    5,
    97,
    0,
    0,
    286,
    287,
    5,
    110,
    0,
    0,
    287,
    288,
    5,
    110,
    0,
    0,
    288,
    289,
    5,
    101,
    0,
    0,
    289,
    290,
    5,
    108,
    0,
    0,
    290,
    291,
    5,
    115,
    0,
    0,
    291,
    295,
    1,
    0,
    0,
    0,
    292,
    294,
    3,
    101,
    49,
    0,
    293,
    292,
    1,
    0,
    0,
    0,
    294,
    297,
    1,
    0,
    0,
    0,
    295,
    293,
    1,
    0,
    0,
    0,
    295,
    296,
    1,
    0,
    0,
    0,
    296,
    298,
    1,
    0,
    0,
    0,
    297,
    295,
    1,
    0,
    0,
    0,
    298,
    299,
    5,
    123,
    0,
    0,
    299,
    26,
    1,
    0,
    0,
    0,
    300,
    301,
    5,
    105,
    0,
    0,
    301,
    302,
    5,
    109,
    0,
    0,
    302,
    303,
    5,
    112,
    0,
    0,
    303,
    304,
    5,
    111,
    0,
    0,
    304,
    305,
    5,
    114,
    0,
    0,
    305,
    306,
    5,
    116,
    0,
    0,
    306,
    28,
    1,
    0,
    0,
    0,
    307,
    308,
    5,
    102,
    0,
    0,
    308,
    309,
    5,
    114,
    0,
    0,
    309,
    310,
    5,
    97,
    0,
    0,
    310,
    311,
    5,
    103,
    0,
    0,
    311,
    312,
    5,
    109,
    0,
    0,
    312,
    313,
    5,
    101,
    0,
    0,
    313,
    314,
    5,
    110,
    0,
    0,
    314,
    315,
    5,
    116,
    0,
    0,
    315,
    30,
    1,
    0,
    0,
    0,
    316,
    317,
    5,
    108,
    0,
    0,
    317,
    318,
    5,
    101,
    0,
    0,
    318,
    319,
    5,
    120,
    0,
    0,
    319,
    320,
    5,
    101,
    0,
    0,
    320,
    321,
    5,
    114,
    0,
    0,
    321,
    32,
    1,
    0,
    0,
    0,
    322,
    323,
    5,
    112,
    0,
    0,
    323,
    324,
    5,
    97,
    0,
    0,
    324,
    325,
    5,
    114,
    0,
    0,
    325,
    326,
    5,
    115,
    0,
    0,
    326,
    327,
    5,
    101,
    0,
    0,
    327,
    328,
    5,
    114,
    0,
    0,
    328,
    34,
    1,
    0,
    0,
    0,
    329,
    330,
    5,
    103,
    0,
    0,
    330,
    331,
    5,
    114,
    0,
    0,
    331,
    332,
    5,
    97,
    0,
    0,
    332,
    333,
    5,
    109,
    0,
    0,
    333,
    334,
    5,
    109,
    0,
    0,
    334,
    335,
    5,
    97,
    0,
    0,
    335,
    336,
    5,
    114,
    0,
    0,
    336,
    36,
    1,
    0,
    0,
    0,
    337,
    338,
    5,
    112,
    0,
    0,
    338,
    339,
    5,
    114,
    0,
    0,
    339,
    340,
    5,
    111,
    0,
    0,
    340,
    341,
    5,
    116,
    0,
    0,
    341,
    342,
    5,
    101,
    0,
    0,
    342,
    343,
    5,
    99,
    0,
    0,
    343,
    344,
    5,
    116,
    0,
    0,
    344,
    345,
    5,
    101,
    0,
    0,
    345,
    346,
    5,
    100,
    0,
    0,
    346,
    38,
    1,
    0,
    0,
    0,
    347,
    348,
    5,
    112,
    0,
    0,
    348,
    349,
    5,
    117,
    0,
    0,
    349,
    350,
    5,
    98,
    0,
    0,
    350,
    351,
    5,
    108,
    0,
    0,
    351,
    352,
    5,
    105,
    0,
    0,
    352,
    353,
    5,
    99,
    0,
    0,
    353,
    40,
    1,
    0,
    0,
    0,
    354,
    355,
    5,
    112,
    0,
    0,
    355,
    356,
    5,
    114,
    0,
    0,
    356,
    357,
    5,
    105,
    0,
    0,
    357,
    358,
    5,
    118,
    0,
    0,
    358,
    359,
    5,
    97,
    0,
    0,
    359,
    360,
    5,
    116,
    0,
    0,
    360,
    361,
    5,
    101,
    0,
    0,
    361,
    42,
    1,
    0,
    0,
    0,
    362,
    363,
    5,
    114,
    0,
    0,
    363,
    364,
    5,
    101,
    0,
    0,
    364,
    365,
    5,
    116,
    0,
    0,
    365,
    366,
    5,
    117,
    0,
    0,
    366,
    367,
    5,
    114,
    0,
    0,
    367,
    368,
    5,
    110,
    0,
    0,
    368,
    369,
    5,
    115,
    0,
    0,
    369,
    44,
    1,
    0,
    0,
    0,
    370,
    371,
    5,
    108,
    0,
    0,
    371,
    372,
    5,
    111,
    0,
    0,
    372,
    373,
    5,
    99,
    0,
    0,
    373,
    374,
    5,
    97,
    0,
    0,
    374,
    375,
    5,
    108,
    0,
    0,
    375,
    376,
    5,
    115,
    0,
    0,
    376,
    46,
    1,
    0,
    0,
    0,
    377,
    378,
    5,
    116,
    0,
    0,
    378,
    379,
    5,
    104,
    0,
    0,
    379,
    380,
    5,
    114,
    0,
    0,
    380,
    381,
    5,
    111,
    0,
    0,
    381,
    382,
    5,
    119,
    0,
    0,
    382,
    383,
    5,
    115,
    0,
    0,
    383,
    48,
    1,
    0,
    0,
    0,
    384,
    385,
    5,
    99,
    0,
    0,
    385,
    386,
    5,
    97,
    0,
    0,
    386,
    387,
    5,
    116,
    0,
    0,
    387,
    388,
    5,
    99,
    0,
    0,
    388,
    389,
    5,
    104,
    0,
    0,
    389,
    50,
    1,
    0,
    0,
    0,
    390,
    391,
    5,
    102,
    0,
    0,
    391,
    392,
    5,
    105,
    0,
    0,
    392,
    393,
    5,
    110,
    0,
    0,
    393,
    394,
    5,
    97,
    0,
    0,
    394,
    395,
    5,
    108,
    0,
    0,
    395,
    396,
    5,
    108,
    0,
    0,
    396,
    397,
    5,
    121,
    0,
    0,
    397,
    52,
    1,
    0,
    0,
    0,
    398,
    399,
    5,
    109,
    0,
    0,
    399,
    400,
    5,
    111,
    0,
    0,
    400,
    401,
    5,
    100,
    0,
    0,
    401,
    402,
    5,
    101,
    0,
    0,
    402,
    54,
    1,
    0,
    0,
    0,
    403,
    404,
    5,
    58,
    0,
    0,
    404,
    56,
    1,
    0,
    0,
    0,
    405,
    406,
    5,
    58,
    0,
    0,
    406,
    407,
    5,
    58,
    0,
    0,
    407,
    58,
    1,
    0,
    0,
    0,
    408,
    409,
    5,
    44,
    0,
    0,
    409,
    60,
    1,
    0,
    0,
    0,
    410,
    411,
    5,
    59,
    0,
    0,
    411,
    62,
    1,
    0,
    0,
    0,
    412,
    413,
    5,
    40,
    0,
    0,
    413,
    64,
    1,
    0,
    0,
    0,
    414,
    415,
    5,
    41,
    0,
    0,
    415,
    66,
    1,
    0,
    0,
    0,
    416,
    417,
    5,
    125,
    0,
    0,
    417,
    68,
    1,
    0,
    0,
    0,
    418,
    419,
    5,
    45,
    0,
    0,
    419,
    420,
    5,
    62,
    0,
    0,
    420,
    70,
    1,
    0,
    0,
    0,
    421,
    422,
    5,
    60,
    0,
    0,
    422,
    72,
    1,
    0,
    0,
    0,
    423,
    424,
    5,
    62,
    0,
    0,
    424,
    74,
    1,
    0,
    0,
    0,
    425,
    426,
    5,
    61,
    0,
    0,
    426,
    76,
    1,
    0,
    0,
    0,
    427,
    428,
    5,
    63,
    0,
    0,
    428,
    78,
    1,
    0,
    0,
    0,
    429,
    430,
    5,
    42,
    0,
    0,
    430,
    80,
    1,
    0,
    0,
    0,
    431,
    432,
    5,
    43,
    0,
    0,
    432,
    433,
    5,
    61,
    0,
    0,
    433,
    82,
    1,
    0,
    0,
    0,
    434,
    435,
    5,
    43,
    0,
    0,
    435,
    84,
    1,
    0,
    0,
    0,
    436,
    437,
    5,
    124,
    0,
    0,
    437,
    86,
    1,
    0,
    0,
    0,
    438,
    439,
    5,
    36,
    0,
    0,
    439,
    88,
    1,
    0,
    0,
    0,
    440,
    441,
    5,
    46,
    0,
    0,
    441,
    442,
    5,
    46,
    0,
    0,
    442,
    90,
    1,
    0,
    0,
    0,
    443,
    444,
    5,
    46,
    0,
    0,
    444,
    92,
    1,
    0,
    0,
    0,
    445,
    446,
    5,
    64,
    0,
    0,
    446,
    94,
    1,
    0,
    0,
    0,
    447,
    448,
    5,
    35,
    0,
    0,
    448,
    96,
    1,
    0,
    0,
    0,
    449,
    450,
    5,
    126,
    0,
    0,
    450,
    98,
    1,
    0,
    0,
    0,
    451,
    455,
    3,
    137,
    67,
    0,
    452,
    454,
    3,
    135,
    66,
    0,
    453,
    452,
    1,
    0,
    0,
    0,
    454,
    457,
    1,
    0,
    0,
    0,
    455,
    453,
    1,
    0,
    0,
    0,
    455,
    456,
    1,
    0,
    0,
    0,
    456,
    100,
    1,
    0,
    0,
    0,
    457,
    455,
    1,
    0,
    0,
    0,
    458,
    460,
    7,
    5,
    0,
    0,
    459,
    458,
    1,
    0,
    0,
    0,
    460,
    461,
    1,
    0,
    0,
    0,
    461,
    459,
    1,
    0,
    0,
    0,
    461,
    462,
    1,
    0,
    0,
    0,
    462,
    463,
    1,
    0,
    0,
    0,
    463,
    464,
    6,
    49,
    2,
    0,
    464,
    102,
    1,
    0,
    0,
    0,
    465,
    466,
    5,
    91,
    0,
    0,
    466,
    467,
    1,
    0,
    0,
    0,
    467,
    468,
    6,
    50,
    3,
    0,
    468,
    469,
    6,
    50,
    4,
    0,
    469,
    104,
    1,
    0,
    0,
    0,
    470,
    471,
    5,
    92,
    0,
    0,
    471,
    472,
    9,
    0,
    0,
    0,
    472,
    473,
    1,
    0,
    0,
    0,
    473,
    474,
    6,
    51,
    3,
    0,
    474,
    106,
    1,
    0,
    0,
    0,
    475,
    476,
    3,
    129,
    63,
    0,
    476,
    477,
    1,
    0,
    0,
    0,
    477,
    478,
    6,
    52,
    3,
    0,
    478,
    108,
    1,
    0,
    0,
    0,
    479,
    480,
    3,
    11,
    4,
    0,
    480,
    481,
    1,
    0,
    0,
    0,
    481,
    482,
    6,
    53,
    3,
    0,
    482,
    110,
    1,
    0,
    0,
    0,
    483,
    484,
    5,
    93,
    0,
    0,
    484,
    485,
    6,
    54,
    5,
    0,
    485,
    112,
    1,
    0,
    0,
    0,
    486,
    487,
    5,
    0,
    0,
    1,
    487,
    488,
    1,
    0,
    0,
    0,
    488,
    489,
    6,
    55,
    6,
    0,
    489,
    114,
    1,
    0,
    0,
    0,
    490,
    491,
    9,
    0,
    0,
    0,
    491,
    116,
    1,
    0,
    0,
    0,
    492,
    496,
    8,
    6,
    0,
    0,
    493,
    494,
    5,
    92,
    0,
    0,
    494,
    496,
    9,
    0,
    0,
    0,
    495,
    492,
    1,
    0,
    0,
    0,
    495,
    493,
    1,
    0,
    0,
    0,
    496,
    497,
    1,
    0,
    0,
    0,
    497,
    495,
    1,
    0,
    0,
    0,
    497,
    498,
    1,
    0,
    0,
    0,
    498,
    499,
    1,
    0,
    0,
    0,
    499,
    500,
    6,
    57,
    7,
    0,
    500,
    118,
    1,
    0,
    0,
    0,
    501,
    502,
    5,
    93,
    0,
    0,
    502,
    503,
    1,
    0,
    0,
    0,
    503,
    504,
    6,
    58,
    6,
    0,
    504,
    120,
    1,
    0,
    0,
    0,
    505,
    506,
    5,
    0,
    0,
    1,
    506,
    507,
    1,
    0,
    0,
    0,
    507,
    508,
    6,
    59,
    6,
    0,
    508,
    122,
    1,
    0,
    0,
    0,
    509,
    514,
    5,
    92,
    0,
    0,
    510,
    515,
    7,
    7,
    0,
    0,
    511,
    515,
    3,
    127,
    62,
    0,
    512,
    515,
    9,
    0,
    0,
    0,
    513,
    515,
    5,
    0,
    0,
    1,
    514,
    510,
    1,
    0,
    0,
    0,
    514,
    511,
    1,
    0,
    0,
    0,
    514,
    512,
    1,
    0,
    0,
    0,
    514,
    513,
    1,
    0,
    0,
    0,
    515,
    124,
    1,
    0,
    0,
    0,
    516,
    517,
    7,
    8,
    0,
    0,
    517,
    126,
    1,
    0,
    0,
    0,
    518,
    529,
    5,
    117,
    0,
    0,
    519,
    527,
    3,
    125,
    61,
    0,
    520,
    525,
    3,
    125,
    61,
    0,
    521,
    523,
    3,
    125,
    61,
    0,
    522,
    524,
    3,
    125,
    61,
    0,
    523,
    522,
    1,
    0,
    0,
    0,
    523,
    524,
    1,
    0,
    0,
    0,
    524,
    526,
    1,
    0,
    0,
    0,
    525,
    521,
    1,
    0,
    0,
    0,
    525,
    526,
    1,
    0,
    0,
    0,
    526,
    528,
    1,
    0,
    0,
    0,
    527,
    520,
    1,
    0,
    0,
    0,
    527,
    528,
    1,
    0,
    0,
    0,
    528,
    530,
    1,
    0,
    0,
    0,
    529,
    519,
    1,
    0,
    0,
    0,
    529,
    530,
    1,
    0,
    0,
    0,
    530,
    128,
    1,
    0,
    0,
    0,
    531,
    536,
    5,
    34,
    0,
    0,
    532,
    535,
    3,
    123,
    60,
    0,
    533,
    535,
    8,
    9,
    0,
    0,
    534,
    532,
    1,
    0,
    0,
    0,
    534,
    533,
    1,
    0,
    0,
    0,
    535,
    538,
    1,
    0,
    0,
    0,
    536,
    537,
    1,
    0,
    0,
    0,
    536,
    534,
    1,
    0,
    0,
    0,
    537,
    539,
    1,
    0,
    0,
    0,
    538,
    536,
    1,
    0,
    0,
    0,
    539,
    540,
    5,
    34,
    0,
    0,
    540,
    130,
    1,
    0,
    0,
    0,
    541,
    542,
    5,
    34,
    0,
    0,
    542,
    543,
    5,
    34,
    0,
    0,
    543,
    544,
    5,
    34,
    0,
    0,
    544,
    549,
    1,
    0,
    0,
    0,
    545,
    548,
    3,
    123,
    60,
    0,
    546,
    548,
    9,
    0,
    0,
    0,
    547,
    545,
    1,
    0,
    0,
    0,
    547,
    546,
    1,
    0,
    0,
    0,
    548,
    551,
    1,
    0,
    0,
    0,
    549,
    550,
    1,
    0,
    0,
    0,
    549,
    547,
    1,
    0,
    0,
    0,
    550,
    552,
    1,
    0,
    0,
    0,
    551,
    549,
    1,
    0,
    0,
    0,
    552,
    553,
    5,
    34,
    0,
    0,
    553,
    554,
    5,
    34,
    0,
    0,
    554,
    555,
    5,
    34,
    0,
    0,
    555,
    132,
    1,
    0,
    0,
    0,
    556,
    561,
    5,
    96,
    0,
    0,
    557,
    560,
    3,
    123,
    60,
    0,
    558,
    560,
    8,
    9,
    0,
    0,
    559,
    557,
    1,
    0,
    0,
    0,
    559,
    558,
    1,
    0,
    0,
    0,
    560,
    563,
    1,
    0,
    0,
    0,
    561,
    562,
    1,
    0,
    0,
    0,
    561,
    559,
    1,
    0,
    0,
    0,
    562,
    564,
    1,
    0,
    0,
    0,
    563,
    561,
    1,
    0,
    0,
    0,
    564,
    565,
    5,
    96,
    0,
    0,
    565,
    134,
    1,
    0,
    0,
    0,
    566,
    569,
    3,
    137,
    67,
    0,
    567,
    569,
    7,
    10,
    0,
    0,
    568,
    566,
    1,
    0,
    0,
    0,
    568,
    567,
    1,
    0,
    0,
    0,
    569,
    136,
    1,
    0,
    0,
    0,
    570,
    571,
    7,
    11,
    0,
    0,
    571,
    138,
    1,
    0,
    0,
    0,
    37,
    0,
    1,
    2,
    146,
    152,
    162,
    168,
    178,
    188,
    191,
    196,
    198,
    206,
    208,
    228,
    239,
    245,
    247,
    263,
    278,
    295,
    455,
    461,
    495,
    497,
    514,
    523,
    525,
    527,
    529,
    534,
    536,
    547,
    549,
    559,
    561,
    568,
    8,
    0,
    3,
    0,
    1,
    6,
    0,
    0,
    2,
    0,
    7,
    77,
    0,
    5,
    1,
    0,
    1,
    54,
    1,
    4,
    0,
    0,
    3,
    0,
    0
  ];
  static __ATN;
  static get _ATN() {
    if (!ANTLRv4Lexer.__ATN) {
      ANTLRv4Lexer.__ATN = new antlr.ATNDeserializer().deserialize(ANTLRv4Lexer._serializedATN);
    }
    return ANTLRv4Lexer.__ATN;
  }
  static vocabulary = new antlr.Vocabulary(ANTLRv4Lexer.literalNames, ANTLRv4Lexer.symbolicNames, []);
  get vocabulary() {
    return ANTLRv4Lexer.vocabulary;
  }
  static decisionsToDFA = ANTLRv4Lexer._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
}
export {
  ANTLRv4Lexer
};