mirror of
https://github.com/danog/telegram-tt.git
synced 2024-11-30 04:39:00 +01:00
1 line
24 KiB
Plaintext
1 line
24 KiB
Plaintext
{"version":3,"file":"9227.c34f2b1661736507d402.js","mappings":"sFAAA,MAAMA,EAAW,2BACXC,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIC,EAAW,CACf,OACA,QACA,OACA,YACA,MACA,YAIIC,EAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,eAGIC,EAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,YAGIC,EAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,YAGIC,EAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,SACA,UAGIC,EAAY,GAAGC,OACnBH,EACAF,EACAC,GAokBFK,EAAOC,QAzjBP,SAAoBC,GAClB,MAAMC,EAAQD,EAAKC,MAcbC,EAAab,EAObc,EAAU,CACdC,MAAO,sBACPC,IAAK,4BAKLC,kBAAmB,CAACC,EAAOC,KACzB,MAAMC,EAAkBF,EAAM,GAAGG,OAASH,EAAMI,MAC1CC,EAAWL,EAAMM,MAAMJ,GAC7B,GAIe,MAAbG,GAGa,MAAbA,EAEA,YADAJ,EAASM,cAmBX,IAAIC,EAba,MAAbH,IArCc,EAACL,GAASS,MAAAA,MAC9B,MAAMC,EAAM,KAAOV,EAAM,GAAGW,MAAM,GAElC,OAAgB,IADJX,EAAMM,MAAMM,QAAQF,EAAKD,IAsC5BI,CAAcb,EAAO,CAAES,MAAOP,KACjCD,EAASM,gBAYRC,EAFcR,EAAMM,MAAMQ,OAAOZ,GAElBF,MAAM,oBACR,IAAZQ,EAAEJ,OACJH,EAAS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","sources":["webpack://telegram-t/./node_modules/highlight.js/lib/languages/javascript.js"],"sourcesContent":["const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \"<Booger\" and checks to see\n * if we can find a matching \"</Booger\" later in the\n * content.\n * @param {RegExpMatchArray} match\n * @param {{after:number}} param1\n */\n const hasClosingTag = (match, { after }) => {\n const tag = \"</\" + match[0].slice(1);\n const pos = match.input.indexOf(tag, after);\n return pos !== -1;\n };\n\n const IDENT_RE$1 = IDENT_RE;\n const FRAGMENT = {\n begin: '<>',\n end: '</>'\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `<Array<Array<number>>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // `<T, A extends keyof T, V>`\n nextChar === \",\") {\n response.ignoreMatch();\n return;\n }\n\n // `<something>`\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `<blah />` (self-closing)\n // handled by simpleSelfClosing rule\n\n // `<From extends string>`\n // technically this could be HTML, but it smells like a type\n let m;\n const afterMatch = match.input.substr(afterMatchIndex);\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: 'html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: 'css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\"\n ]),\n IDENT_RE$1, regex.lookahead(/\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'Javascript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n NUMBER,\n CLASS_REFERENCE,\n {\n className: 'attr',\n begin: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nmodule.exports = javascript;\n"],"names":["IDENT_RE","KEYWORDS","LITERALS","TYPES","ERROR_TYPES","BUILT_IN_GLOBALS","BUILT_IN_VARIABLES","BUILT_INS","concat","module","exports","hljs","regex","IDENT_RE$1","XML_TAG","begin","end","isTrulyOpeningTag","match","response","afterMatchIndex","length","index","nextChar","input","ignoreMatch","m","after","tag","slice","indexOf","hasClosingTag","substr","KEYWORDS$1","$pattern","keyword","literal","built_in","frac","decimalInteger","NUMBER","className","variants","relevance","SUBST","keywords","contains","HTML_TEMPLATE","starts","returnEnd","BACKSLASH_ESCAPE","subLanguage","CSS_TEMPLATE","TEMPLATE_STRING","COMMENT","excludeEnd","excludeBegin","endsParent","C_BLOCK_COMMENT_MODE","C_LINE_COMMENT_MODE","SUBST_INTERNALS","APOS_STRING_MODE","QUOTE_STRING_MODE","SUBST_AND_COMMENTS","PARAMS_CONTAINS","PARAMS","CLASS_OR_EXTENDS","scope","CLASS_REFERENCE","either","_","FUNCTION_DEFINITION","label","illegal","FUNCTION_CALL","list","join","lookahead","PROPERTY_ACCESS","GETTER_OR_SETTER","FUNC_LEAD_IN_RE","UNDERSCORE_IDENT_RE","FUNCTION_VARIABLE","name","aliases","SHEBANG","binary","RE_STARTERS_RE","REGEXP_MODE","returnBegin","skip","beginKeywords","inherit","TITLE_MODE"],"sourceRoot":""} |